SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

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
 
The Hunger Project
The Hunger ProjectThe Hunger Project
The Hunger Project
happeningphotos
 
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
 
Sam gilbert
Sam gilbertSam gilbert
Sam gilbert
Saz Medcraft
 
My journey as a trainer
My journey as a trainerMy journey as a trainer
My journey as a trainer
elfreitas
 
Ipod nano
Ipod nanoIpod nano
Ipod nanoyidid
 
A llboutmebull
A llboutmebullA llboutmebull
A llboutmebull
Jlarouche
 
ฉันเหมือนใคร
ฉันเหมือนใครฉันเหมือนใคร
ฉันเหมือนใครphakintim
 

Viewers also liked (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
 

Similar to 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 bluetooth
WindowsPhoneRocks
 
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/2010
Skills 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 tools
Svetlin 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 AJAX
IMC Institute
 
JavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mineJavaScript patterns chapter 8 of mine
JavaScript patterns chapter 8 of mine
Chien-Wei Huang
 
Package org dev
Package org devPackage org dev
Package org dev
jaya lakshmi
 
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'Aquila
Giuseppe 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, DataArt
Alina 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 10
Soya 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
 

Similar to 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...
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

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