dzÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ
http://blog.chinaunix.net/u1/38994/showart_1132089.html
dzÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ
¡¾Ç³ÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì¡¿
¶ÔÓÚÊó±êÇý¶¯ºÍÇ°Ãæ·ÖÎö¹ýµÄ¼üÅÌÇý¶¯¶¼Êǹ²ÓÃinputÄ£ÐÍ,
ËùÒÔ,
¶ÔÓÚʼþÉϱ¨ºÍ´¦ÀíµÄ·½Ê½¶¼Ã»ÓÐÇø±ð,
Ö»ÊÇmouseÊó±êÇý¶¯µ±Éϱ¨Íêdx,
dy,
left
,
middle,
rightÖ®ºó,
ÐèÒªµ÷ÓÃinput_sync(
)
,
½«Ç°ÃæÉϱ¨µÄ½ö½öÌî³äÔÚ»º³åÇøÖеÄÊý¾Ý,
ͨ¹ýmousedev_notify_readers(
)
·¢Ë͸øopenÁ˵ĹҽÓÔÚmousedev-
>
client_listÁ´±íÉϵȴý»ñÈ¡Êó±êÐÅÏ¢µÄclientÃÅ,
Êó±êÉ豸ºÍ¼üÅÌÉ豸ÀàËÆ¶¼ÊÇÔÚ/
dev/
input/
Ŀ¼Ï´´½¨ÁËÒ»¸öcharÀàÐ͵ÄÉ豸½Úµã,
ÓÉÓ¦ÓóÌÐòʹÓÃread»òÕßpollÀ´×èÈûµ÷ÓÃ,
¶ÔÓÚ¼üÅÌÉ豸Ϊ/
dev/
input/
event0,
.
.
.
,
/
dev/
input/
eventx,
¶ÔÓÚÊó±êÉ豸Ϊ/
dev/
input/
mouse0,
.
.
.
,
/
dev/
input/
mousex,
¿ÉÒÔʹÓÃsudo cat /
dev/
input/
event0À´´ÓÖÕ¶ËÉϽػñÏÔʾ°´¼üµÄÐÅÏ¢,
ʹÓÃsudo cat /
dev/
input/
mouse0À´²¶×½Êó±êµÄÐÅÏ¢.
ÈÃÎÒÃÇÀ´¿´¿´Çý¶¯Ô´Â롾gliethttp.
Leith¡¿£º
=
=
=
=
=
=
=
=
=
=
=
=
drivers\input\mouse\amimouse.
c=
=
=
=
=
=
=
=
=
=
=
=
input_report_rel(
amimouse_dev,
REL_X,
dx)
;
input_report_rel(
amimouse_dev,
REL_Y,
dy)
;
input_report_key(
amimouse_dev,
BTN_LEFT,
ciaa.
pra &
0x40)
;
input_report_key(
amimouse_dev,
BTN_MIDDLE,
potgor &
0x0100)
;
input_report_key(
amimouse_dev,
BTN_RIGHT,
potgor &
0x0400)
;
input_sync(
amimouse_dev)
;
//
¿½±´µ½openÁ˵Äÿ¸öclientµÄclient->packets[16]»·Ðλº³åÇø,ÿ¸öÓ¦ÓóÌÐòÔÚµ÷ÓÃopenʱ,
mousedev_open¶¼»áµ÷ÓÃkzallocÀ´ÉêÇëÒ»¸ö¶ÀÁ¢µÄmousedev_client½á¹¹Ìå,È»ºó½«¸Ãclient¹Ò½Óµ½mousedev
->client_listÁ´±í,×îºóÓÉmousedev_notify_readersÏòmousedev->client_listÁ´±í
ÉϹҽӵÄÿ¸öclient¿½±´Êó±êÐÅÏ¢,×îºówake_up»½ÐÑread»òpoll.
=
=
=
=
=
=
=
=
=
=
=
=
drivers\input\mousedev.
c=
=
=
=
=
=
=
=
=
=
=
=
mousedev_read=
>
mousedev_pac
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
gprof½éÉÜ
gprofÊÇGNU profiler¹¤¾ß£¬´æÔÚÓÚbinutils¹¤¾ß°ü¡£¿ÉÒÔÏÔʾ³ÌÐòÔËÐеēflat profile”£¬°üÀ¨Ã¿¸öº¯ÊýµÄµ÷ÓôÎÊý£¬Ã¿¸öº¯ÊýÏûºÄµÄ´¦ÀíÆ÷ʱ¼ä¡£Ò²¿ÉÒÔÏÔʾ“µ÷ÓÃͼ”£¬°üÀ¨º¯ÊýµÄµ÷ÓùØÏµ£¬Ã¿¸öº¯Êýµ÷Óû¨·ÑÁ˶àÉÙʱ¼ä¡£»¹¿ÉÒÔÏÔʾ“×¢Ê͵ÄÔ´´úÂ딣¬ÊdzÌÐòÔ´´úÂëµÄÒ»¸ö¸´±¾£¬±ê¼Ç ......
http://en.wikipedia.org/wiki/Loop_device
In Unix-like operating systems, a loop device, vnd (vnode disk), or lofi (loopback file interface) is a pseudo-device that makes a file accessible as a block device.
Ëùνloop deviceÖ¸µÄ¾ÍÊÇÄÃÎļþÀ´Ä£Äâ¿éÉ豸¡£
Albert WoodhullÓ"The Linux loop device can ......