SlideShare uma empresa Scribd logo
1 de 4
1. AndroidOS 에서 Event Handler Device Driver 와의 련결(HAL)
- WindowManagerService:
/frameworks/base/services/java/com/android/server/WindowManagerService.java
- mThread: InputDeviceRead :
/frameworks/base/services/java/com/android/server/KeyInputQueue.java
JNI 를통하여
staticJNINativeMethodgInputMethods[] ={
{ "readEvent", "(Landroid/view/RawInputEvent;)Z",
(void*) android_server_KeyInputQueue_readEvent},
………………… };
EventHub: /frameworks/base/libs/ui/Eventhub.cpp
bool EventHub::getEvent(int32_t*outDeviceId,int32_t*outType,
int32_t* outScancode,int32_t* outKeycode,uint32_t*outFlags,
int32_t* outValue,nsecs_t*outWhen)
{
…………………
mError = openPlatformInput()?NO_ERROR: UNKNOWN_ERROR; //장치파일열기
………………………..
while(1)
{
…………………………………
res= read(mFDs[i].fd,&iev,sizeof(iev)); 장치파일읽기
………………………………….
}
}
2. Input Device Driver 에 대한 료해(Ordroid –S Kernel)
1) driversinputinput.c: Input Driver
includelinuxinput.h 에structinput_dev 로표현된다.
input_init 함수에서문자장치드라이버”input”에 file_operationsinput_fops 를등록한다.
intinput_open_device(structinput_handle *handle)
input_handler 로부터호출되는함수로써주어진입력장치로부터event 을
받기시작하려고할때리용한다.
voidinput_close_device(structinput_handle *handle)
intinput_register_device(structinput_dev*dev)
Inputdevice(실제디바이스)를등록하고 input_dev_list 에추가하며 input_handler 와
련결한다.
voidinput_unregister_device(structinput_dev*dev)
intinput_register_handler(structinput_handler*handler)
input_handler 를등록하고 input_table[minor]와 input_handler_list 에추가하고input
device 와련결한다.
voidinput_unregister_handler(structinput_handler*handler)
intinput_register_handle(structinput_handle*handle)
input_handle 은device 와handler 를묶어놓은것이다.
voidinput_unregister_handle(structinput_handle *handle)
staticint input_open_file(structinode*inode,structfile *file)
input_table 로부터handler 를얻어hanlder->fops->open 을호출한다.
2) driversinputevdev.c: eventdevice driver(evdev,evdev_handler)
evdev_init(void)함수에서 input_register_handler 함수를호출하여
evdev_open_device 함수에서 input_open_device 함수를호출하여실지장치를구동한다.
3) driverscharkeyboard.c : keyboard device driver(kbd,kbd_handler)
4) driversinputkeyboardodroids_keypad.c: keypad inputdevice driver
hkc1xx_keypad_init 함수에서platform_device_register, platform_driver_unregister 를
호출한다.
probe 함수(hkc1xx_keypad_probe)에서 input_register_device 를호출한다.
5) driversinputtouchscreenodroids_touch.c: touchscreeninputdevice driver
6) driversinputmiscbma150.c, yas529.c, orientation.c: sensorinput device driver

Mais conteúdo relacionado

Destaque

Powerpoint.alg.
Powerpoint.alg.Powerpoint.alg.
Powerpoint.alg.41744586
 
L nielsen speaking notes rus
L nielsen speaking notes rusL nielsen speaking notes rus
L nielsen speaking notes rusENPI FLEG
 
Jeremiah power point proportions
Jeremiah power point proportionsJeremiah power point proportions
Jeremiah power point proportions41465522
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใครgain55
 
Sara lizeth galvis loaiza 903
Sara lizeth galvis loaiza 903Sara lizeth galvis loaiza 903
Sara lizeth galvis loaiza 903sarali1503
 
Futuro digital[1][1]
Futuro digital[1][1]Futuro digital[1][1]
Futuro digital[1][1]Jonathan
 
Mi futuro profesional
Mi futuro profesionalMi futuro profesional
Mi futuro profesionallinafeerr
 
My journey as a trainer
My journey as a trainerMy journey as a trainer
My journey as a trainerelfreitas
 
Ipod nano
Ipod nanoIpod nano
Ipod nanoyidid
 
A llboutmebull
A llboutmebullA llboutmebull
A llboutmebullJlarouche
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใครphakintim
 

Destaque (19)

Aliran sajak
Aliran sajakAliran sajak
Aliran sajak
 
Powerpoint.alg.
Powerpoint.alg.Powerpoint.alg.
Powerpoint.alg.
 
L nielsen speaking notes rus
L nielsen speaking notes rusL nielsen speaking notes rus
L nielsen speaking notes rus
 
Ratonperez
RatonperezRatonperez
Ratonperez
 
Jeremiah power point proportions
Jeremiah power point proportionsJeremiah power point proportions
Jeremiah power point proportions
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใคร
 
Colegio
ColegioColegio
Colegio
 
Taller conceptos fundamentales de la web 2.0
Taller conceptos fundamentales de la web 2.0Taller conceptos fundamentales de la web 2.0
Taller conceptos fundamentales de la web 2.0
 
Sara lizeth galvis loaiza 903
Sara lizeth galvis loaiza 903Sara lizeth galvis loaiza 903
Sara lizeth galvis loaiza 903
 
The Hunger Project
The Hunger ProjectThe Hunger Project
The Hunger Project
 
Futuro digital[1][1]
Futuro digital[1][1]Futuro digital[1][1]
Futuro digital[1][1]
 
Mi futuro profesional
Mi futuro profesionalMi futuro profesional
Mi futuro profesional
 
Sam gilbert
Sam gilbertSam gilbert
Sam gilbert
 
My journey as a trainer
My journey as a trainerMy journey as a trainer
My journey as a trainer
 
Ipod nano
Ipod nanoIpod nano
Ipod nano
 
A llboutmebull
A llboutmebullA llboutmebull
A llboutmebull
 
Netiketti
NetikettiNetiketti
Netiketti
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใคร
 
Health & safety
Health & safetyHealth & safety
Health & safety
 

Semelhante a Linux Input device에 대한 료해(Odroid-S Kernel)

15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetoothWindowsPhoneRocks
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Mahmoud Hamed Mahmoud
 
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010Skills Matter
 
Gdg san diego android 11 meetups what's new in android - ui and dev tools
Gdg san diego android 11 meetups  what's new in android  - ui and dev toolsGdg san diego android 11 meetups  what's new in android  - ui and dev tools
Gdg san diego android 11 meetups what's new in android - ui and dev toolsSvetlin Stanchev
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXIMC Institute
 
JavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mineJavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mineChien-Wei Huang
 
Flutter Forward EXTENDED - Flutter로 앱 개발 입문하기
Flutter Forward EXTENDED -  Flutter로 앱 개발 입문하기Flutter Forward EXTENDED -  Flutter로 앱 개발 입문하기
Flutter Forward EXTENDED - Flutter로 앱 개발 입문하기SuJang Yang
 
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...mharkus
 
#win8aca : How and when metro style apps run
#win8aca : How and when metro style apps run#win8aca : How and when metro style apps run
#win8aca : How and when metro style apps runFrederik De Bruyne
 
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'AquilaGiuseppe Cerratti
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Phuoc Nguyen
 
Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介easychen
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsRobert Nyman
 
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtArchitecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtAlina Vilk
 
Android activity, service, and broadcast recievers
Android activity, service, and broadcast recieversAndroid activity, service, and broadcast recievers
Android activity, service, and broadcast recieversUtkarsh Mankad
 
Intercept HTTPS Traffic on Windows 10
Intercept HTTPS Traffic on Windows 10Intercept HTTPS Traffic on Windows 10
Intercept HTTPS Traffic on Windows 10Soya Aoyama
 
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Luciano Mammino
 

Semelhante a Linux Input device에 대한 료해(Odroid-S Kernel) (20)

15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetooth
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
 
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
Droidcon: Sean Owen: Driving Downloads via Intents- 29/10/2010
 
Gdg san diego android 11 meetups what's new in android - ui and dev tools
Gdg san diego android 11 meetups  what's new in android  - ui and dev toolsGdg san diego android 11 meetups  what's new in android  - ui and dev tools
Gdg san diego android 11 meetups what's new in android - ui and dev tools
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAX
 
JavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mineJavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mine
 
package org dev
package org devpackage org dev
package org dev
 
Package org dev
Package org devPackage org dev
Package org dev
 
Flutter Forward EXTENDED - Flutter로 앱 개발 입문하기
Flutter Forward EXTENDED -  Flutter로 앱 개발 입문하기Flutter Forward EXTENDED -  Flutter로 앱 개발 입문하기
Flutter Forward EXTENDED - Flutter로 앱 개발 입문하기
 
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
 
#win8aca : How and when metro style apps run
#win8aca : How and when metro style apps run#win8aca : How and when metro style apps run
#win8aca : How and when metro style apps run
 
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development
 
Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.js
 
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArtArchitecture components, Константин Марс, TeamLead, Senior Developer, DataArt
Architecture components, Константин Марс, TeamLead, Senior Developer, DataArt
 
Android activity, service, and broadcast recievers
Android activity, service, and broadcast recieversAndroid activity, service, and broadcast recievers
Android activity, service, and broadcast recievers
 
Intercept HTTPS Traffic on Windows 10
Intercept HTTPS Traffic on Windows 10Intercept HTTPS Traffic on Windows 10
Intercept HTTPS Traffic on Windows 10
 
Android dev
Android devAndroid dev
Android dev
 
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
Introducing Middy, Node.js middleware engine for AWS Lambda (FrontConf Munich...
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Linux Input device에 대한 료해(Odroid-S Kernel)

  • 1. 1. AndroidOS 에서 Event Handler Device Driver 와의 련결(HAL) - WindowManagerService: /frameworks/base/services/java/com/android/server/WindowManagerService.java - mThread: InputDeviceRead : /frameworks/base/services/java/com/android/server/KeyInputQueue.java JNI 를통하여 staticJNINativeMethodgInputMethods[] ={ { "readEvent", "(Landroid/view/RawInputEvent;)Z", (void*) android_server_KeyInputQueue_readEvent},
  • 2. ………………… }; EventHub: /frameworks/base/libs/ui/Eventhub.cpp bool EventHub::getEvent(int32_t*outDeviceId,int32_t*outType, int32_t* outScancode,int32_t* outKeycode,uint32_t*outFlags, int32_t* outValue,nsecs_t*outWhen) { ………………… mError = openPlatformInput()?NO_ERROR: UNKNOWN_ERROR; //장치파일열기 ……………………….. while(1) { ………………………………… res= read(mFDs[i].fd,&iev,sizeof(iev)); 장치파일읽기 …………………………………. } } 2. Input Device Driver 에 대한 료해(Ordroid –S Kernel)
  • 3. 1) driversinputinput.c: Input Driver includelinuxinput.h 에structinput_dev 로표현된다. input_init 함수에서문자장치드라이버”input”에 file_operationsinput_fops 를등록한다. intinput_open_device(structinput_handle *handle) input_handler 로부터호출되는함수로써주어진입력장치로부터event 을 받기시작하려고할때리용한다. voidinput_close_device(structinput_handle *handle) intinput_register_device(structinput_dev*dev) Inputdevice(실제디바이스)를등록하고 input_dev_list 에추가하며 input_handler 와 련결한다. voidinput_unregister_device(structinput_dev*dev) intinput_register_handler(structinput_handler*handler)
  • 4. input_handler 를등록하고 input_table[minor]와 input_handler_list 에추가하고input device 와련결한다. voidinput_unregister_handler(structinput_handler*handler) intinput_register_handle(structinput_handle*handle) input_handle 은device 와handler 를묶어놓은것이다. voidinput_unregister_handle(structinput_handle *handle) staticint input_open_file(structinode*inode,structfile *file) input_table 로부터handler 를얻어hanlder->fops->open 을호출한다. 2) driversinputevdev.c: eventdevice driver(evdev,evdev_handler) evdev_init(void)함수에서 input_register_handler 함수를호출하여 evdev_open_device 함수에서 input_open_device 함수를호출하여실지장치를구동한다. 3) driverscharkeyboard.c : keyboard device driver(kbd,kbd_handler) 4) driversinputkeyboardodroids_keypad.c: keypad inputdevice driver hkc1xx_keypad_init 함수에서platform_device_register, platform_driver_unregister 를 호출한다. probe 함수(hkc1xx_keypad_probe)에서 input_register_device 를호출한다. 5) driversinputtouchscreenodroids_touch.c: touchscreeninputdevice driver 6) driversinputmiscbma150.c, yas529.c, orientation.c: sensorinput device driver