Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

dzÎö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_packet=>Èç¹ûdx,dy,dzͬʱ¶¼Îª0,˵Ã÷Êó±êÍ£Ö¹ÁË,ÄÇôclient->ready = 0;
mousedev_event(dev, EV_SYN, SYN_REPORT, 0)=>mousedev_notify_readers=>Èç¹ûdx,dy,dzÓÐÒ»¸ö·¢ÉúÁËÒÆ¶¯»òÕßÊó±ê°´¼üÉÏÒ»´ÎµÄ°´¼ü²»Í¬,ÄÇôclient->ready = 1;¿½±´Êý¾Ýµ½mousedev->client_listÁ´±íÉϹҽӵÄÿ¸öclientµÄ»·Ðλº³åÇø,×îºóµ÷ÓÃwake_up_interruptible(&mousedev->wait);»½ÐÑÒòΪread»òÕßpoll²Ù×÷¶ø±»pendingסµÄÓ¦Ó


Ïà¹ØÎĵµ£º

Mysql for linux mysql×Ô¶¯±¸·Ý½Å±¾

¿ÉÒÔ½«Õâ¸ö½Å±¾·Å½øcrontab£¬ËûµÄÅäÖÆÎļþÔÚ /etc/crontabÖÐÿÌìÁ賿ִÐÐÒ»´Î£¬×Ô¶¯±¸·Ý Õâ¸ö½Å±¾Ã¿Ìì×î¶àÖ»Ö´ÐÐÒ»´Î£¬¶øÇÒÖ»±£Áô×î½üÎåÌìµÄ±¸·ÝÔÚ·þÎñÆ÷ÉÏ¡£
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#ÉèÖÃÊý¾Ý¿âÃû£¬Êý¾Ý¿âµÇ¼Ãû£¬ÃÜÂ룬±¸·Ý·¾¶£¬ÈÕ־ ......

ÓÃLinuxÏÂPerl½Å±¾Á¬½ÓSQLServer

×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......

linux strace ½ø³Ì¸ú×Ù

linux strace ½ø³Ì¸ú×Ù

µ÷ÓÃ:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
¹¦ ......

ddÃüÁîÏê½âÖ®linuxÏ´´½¨Ò»¶¨´óСÎļþÃüÁî

±¾ÎĽ²½âÁËlinux´´½¨ÎļþÃüÁdd¡£Ê¹ÓÃddÕâ¸ölinuxÃüÁî¿ÉÒÔ´´½¨Ò»¶¨´óСÎļþ¡£ 
linux´´½¨ÎļþÃüÁddÃüÁî 
°ÑÖ¸¶¨µÄÊäÈëÎļþ¿½±´µ½Ö¸¶¨µÄÊä³öÎļþÖУ¬²¢ÇÒÔÚ¿½±´µÄ¹ý³ÌÖпÉÒÔ½øÐиñʽת»»¡£Óï·¨£º 
CODE:[Copy to clipboard]dd ¡²Ñ¡Ï 
QUOTE: 
if =ÊäÈëÎļþ£¨»òÉ豸Ãû³Æ£©¡£ 
of ......

dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì

dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
¡¾Ç³ÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ¡¿
 input_init()=>
=>
class_register(&input_class);×¢²áinputÀà
input_proc_init();´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(INPUT_MAJOR, "input", &input_fops);×¢²áÇý¶¯³ÌÐòµ½cdev_mapÉÏ,ÒÔ´ýÇý¶¯É豸.
drivers\input\keybo ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ