Linux I2C InputÉ豸Çý¶¯´úÂëµÄ¼¸µãÀí½â
×î½üÔÚ×öÒ»¸öI2C¼üÅ̵ÄLinuxÇý¶¯£¬²Î¿¼ÁËÆäËûоƬµÄһЩ´úÂ룬ÆäÖÐÂ½Ðø·¢ÏÖÓÐЩÈÃÈËÃÔ»óµÄ¶«Î÷£¬°ÑÎÒµÄÃÔ»ó¼°Àí½âÔÚÕâÀï¼ÓÒԼǼ£º
1. i2c_driver½á¹¹ÌåµÄprobe³ÉÔ±µÄÔÐÍ£º
int (*probe)(struct i2c_client *, const struct i2c_device_id *);
¼´£ºprobeº¯Êý±»µ÷ÓÃʱ»á´ÓÉϱߴ«Á½¸ö¸ö²ÎÊýÏÂÀ´£¬ÀàÐÍ·Ö±ðÊÇi2c_clientºÍi2c_device_id
ÔÚi2c_client->dev.platform_data³ÉÔ±ÀïµÄÄÚÈݾÍÊÇi2c_board_infoÖÐÄãËùÌî³äµÄplatfrom_dataÊý¾Ý¡£
2. Probeº¯ÊýÖ»»áÔÚÇý¶¯¼ÓÔØÊ±µ÷ÓÃÒ»´Î£¬Ö®ºó¾Í²»»áÔÙµ÷Ó㬶øÈç¹ûÉ豸֧³Öopen½Ó¿Ú£¬Ôò¿ÉÄÜÐèÒªÔÚopen½Ó¿ÚµÄʵÏÖÖÐ×ö´óÁ¿µÄ¿ÉÖØÈë´¦Àí£¬ÒòΪopen½Ó¿Ú¿ÉÄܱ»¶à´Îµ÷ÓÃÇÒ¿ÉÄܱ»¶àÏß³Ìͬʱµ÷Óá£
3. ´úÂ룺
INIT_DELAYED_WORK(&kpad->work, sn7325_work);
ʵÏֵŦÄÜÊǽ«sn7325_work¼ÓÈëµ½¹¤×÷¶ÓÁÐÖУ¬µ«ÏÖÔÚ²¢²»Á¢¼´Ö´ÐС£
4. input_devÖеö³ÉÔ±µÄÒâÒåÈçÏ£º
input->keycodesize£º ÿһ¸ö¼üÅÌÂëµÄ³ß´ç£¨×Ö½ÚÊý£©¡£
input->keycodemax£º keymapÖаüº¬¶àÉÙ¸ö¼üÅÌÂë
input->keycode£º ¾ßÌåµÄ¼üÅÌÂë±í£¨Ò²½Ð£ºKey Matrix»òKeymap£©
5. ´úÂ룺
__set_bit(EV_KEY, input->evbit);
DocumentÀïÃæµÄʾÀýÓÃÁË½Ó¿Ú set_bit£¬¶þÕßʵ¼ÊÉÏûʲôÏÔÖøÇø±ð£¬Ç°Õß²»ÊÇÔ×Ó²Ù×÷£¬ºóÕßÊÇÔ×Ó²Ù×÷¡£
input->evbitÊÇÒ»¸ö±ê־λ¼¯ºÏ£¬Í¨¹ý¶ÔËüµÄһЩλ²Ù×÷£¬INPUT×Óϵͳ¿ÉÒÔÖªµÀÕâ¸öÉ豸֧³ÖÄÇЩevent¡£
__set_bit(kpad->keycode[i] & KEY_MAX, input->keybit);
ÕâÐдúÂëÊÇÉèÖÃinput->keybitÕâ¸ö³ÉÔ±µÄ£¬input->keybit³ÉԱʵ¼ÊÉϺÍevbit²î²»¶à£¬Í¨¹ýÉèÖÃkeybit¿ÉÒÔʹINPUT×Óϵͳ֪µÀÕâ¸öÉ豸֧³ÖÄÇЩ°´¼ü¡£
6. input_report_key
Õâ¸ö½Ó¿Ú»áÏòINPUT×ÓϵͳÉϱ¨°´¼ü£¬ÔÐÍÈçÏ£º
static inline void input_report_key(struct input_dev *dev, unsigned int code, int value)
{
input_event(dev, EV_KEY, code, !!value);
}
²ÎÊý£º
dev£ºÊäÈëÉ豸
code£ºÒªÉϱ¨µÄkeycode£¨´ÓkeymapÖÐÖ±½Ó»ò¼ä½ÓµÃµ½µÄij¸öÖµ£©
value£º0»ò1£¬0±íʾ°´¼üµ¯Æð£¬1±íʾ°´¼ü°´ÏÂ
!!valueµÄд·¨Êµ¼ÊÉÏÊǽ«intÀàÐÍת»»ÎªboolÀàÐÍ£¬¼´×îÖÕ´«µÝ½øinput_eventÖеIJÎÊýҪôΪ0ҪôΪ1.
7. input_sync±íÃ÷ʱ¼äÒѾÍê³É
8. keymap鍼리񌣼
¿ÉÒÔ¶¨ÒåÒ»¸öºê¶¨Òå
Ïà¹ØÎĵµ£º
À´Ô´£ºhttp://www.y768.com/content/view/5755/109/
Steve Best£¨sbest@us.ibm.com£©
JFS ºËÐÄС×é³ÉÔ±£¬IBM
2002 Äê 8 ÔÂ
Äú¿ÉÒÔÓø÷ÖÖ·½·¨À´¼à¿ØÔËÐÐ×ŵÄÓû§¿Õ¼ä³ÌÐò£º¿ÉÒÔΪÆäÔËÐе÷ÊÔÆ÷²¢µ¥²½µ÷ÊԸóÌÐò£¬Ìí¼Ó´òÓ¡Óï¾ä£¬»òÕßÌí¼Ó¹¤¾ßÀ´·ÖÎö³ÌÐò¡£±¾ÎÄÃèÊöÁ˼¸ÖÖ¿ÉÒÔÓÃÀ´µ÷ÊÔÔÚ Linux ÉÏÔËÐеijÌÐòµÄ·½·¨¡£ÎÒÃǽ«»Ø ......
ÍÆ¼öʹÓÃVMware Workstation(ÐéÄâ»ú),ÏÂÔØµØÖ·£º
http://www.gd2.xdowns.com:8080/uploadFile/2008-3/ha_vmware_cn-v6.03.rar
Ó²¼þÒªÇó£ºÖ»ÒªÄÜÕý³£ÔËÐÐxpµÄ¾ÍÐУ¬ÄÚ´æ512M»ò¸ü´ó£¨ÏÖÔÚÂòµÄ»ú×ÓÓ¦¸ÃûÓеÍÓÚÕâ¸ö±ê×¼µÄÁ˰ɣ©¡£
×îÖØÒªµÄÊÇÒªÓÐLinux°²×°ÅÌ£¨ÍøÉÏÏÂÔØµÄ¾µÏóÎļþÒ²ÐУ¬·´Õý¿ÉÒÔÖ±½ÓʹÓã©¡£
¾ßÌå²Ù×÷È ......
tailÃüÁîÓÃ;
´ÓÖ¸¶¨µã¿ªÊ¼½«Îļþдµ½±ê×¼Êä³ö¡£Ê¹ÓÃtailÃüÁîµÄ-fÑ¡Ïî¿ÉÒÔ·½±ãµÄ²éÔÄÕýÔڸıäµÄÈÕÖ¾Îļþ£¬tail -f
filename»á°ÑfilenameÀï×îβ²¿µÄÄÚÈÝÏÔʾÔÚÆÁÄ»ÉÏ£¬²¢ÇÒ²»µ«Ë¢Ð£¬Ê¹Äã¿´µ½×îеÄÎļþÄÚÈÝ¡£
Óï·¨
±ê×¼Óï·¨
tail [ -f ] [ -c Number | -n Number | -m Number | -b
Number | -k Number ] [ File ] ......
[root@apl mail]# w
17:38:08 up 2 days, 1:58, 5 users, load average: 0.04, 0.09, 0.06
USER TTY from LOGIN@ IDLE JCPU&nb ......
1.# ±íʾȨÏÞÓû§(Èç:root),$ ±íʾÆÕͨÓû§
¿ª»úÌáʾ
ogin:ÊäÈëÓû§Ãû
password:ÊäÈë¿ÚÁî Óû§ÊÇϵͳע²áÓû§³É¹¦µÇ½ºó£¬¿ÉÒÔ½øÈëÏàÓ¦µÄÓû§»·¾³.
Í˳öµ±Ç°shell,ÊäÈë:exit
2.useradd netseek Ìí¼ÓÒ»¸önetseekÓû§
passwd netseek ¸ønetseekÕâ¸öÓû§ÉèÖÃÃÜÂë.
(/etc/passwd /etc/group)
userdel netseek É ......