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

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

£¨1£©ÔÚ\drivers\input\Input.cÖС£
      A£¬subsys_initcall(input_init);
      B£¬static int __init input_init(void)ÖÐÍê³É¼¸¸öÖØÒªµÄ²Ù×÷£º
err = class_register(&input_class);ÒÔÊäÈëÀ෽ʽע²áÀà
input_proc_init();  //´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(INPUT_MAJOR, "input", &input_fops);  //×¢²á×Ö·ûÉ豸Çý¶¯³ÌÐòµ½ÄÚºË
£¨2£©ÔÚdrivers\input\keyboard\S3c-keypad.cÖУ¬ÊÇ×Ô¼ºµÄ°´¼ü´¦ÀíÎļþ¡£
      A£¬¶¨Ò司androidÉϲãµÄÂëÖµ
#define KEYCODE_HOME     58
#define KEYCODE_POWER   50
struct s3c_keypad_gpio_key gpio_key_smdk6410[] = {
      {IRQ_EINT(6),  S3C64XX_GPN(6),   2,     KEYCODE_POWER, 1},
      {IRQ_EINT(7),  S3C64XX_GPN(7),   2,      KEYCODE_HOME, 1},
};
·Ö±ðÊÇÍⲿÖжϺţ¬GPIO¿ÚºÅ£¬ÂëÖµ¡£
      B£¬probe¹ý³Ì£º
module_init(s3c_keypad_init);     //°´¼üinit
platform_driver_register(&s3c_keypad_driver);   //×¢²áƽ̨Çý¶¯
s3c_keypad_driverµÄprobeº¯ÊýÊÇÖ÷Òª´¦Àí¹ý³Ì£º
static int __init s3c_keypad_probe(struct platform_device *pdev)
{
     struct input_dev *input_dev;   //×¢²áÒ»¸öÊäÈëÉ豸
     platform_get_resource(pdev, IORESOURCE_MEM, 0);
     request_mem_region(res->start, size, pdev->name);
     ioremap(res->start, size);   //·ÖÅä×ÊÔ´
     keypad_clock = clk_get(&pdev->dev, "keypad");
     clk_enable(keypad_clock);   //»ñµÃkeypadµÄclock
     set_bit(EV_KEY, input_dev->evbit);   //±êÖ¾input_devÊÇKEYÉ豸
      s3c_gpio_cfgpin(gpio_key->gpio, S3C_GPIO_SFN(gpio_key->gpio_af));
     


Ïà¹ØÎĵµ£º

linux shell½Å±¾Ö®ifÅжÏ

ÎÞÂÛʲô±à³ÌÓïÑÔ¶¼Àë²»¿ªÌõ¼þÅжϡ£SHELLÒ²²»ÀýÍâ¡£
 if list then
          do something here
      elif list then
          do another thing here
      ......

linuxͼÐνçÃæ±à³Ì»ù±¾ÖªÊ¶

ÒýÓÃ
×÷Õß:GuCuiwen email:win2linux@163.com
   ºÜ¶àLINUX³õѧÕß·Ö²»Çå³þlinuxºÍXÖ®¼ä,XºÍXfree86Ö®¼ä,XºÍKDE,GNOMEµÈÖ®¼äÊÇʲô¹ØÏµ.³£³£»ìÏý¸ÅÄî,ÎÒÏëÒԱȽÏÒ×ÓÚÀí ½âµÄ·½Ê½ËµÃ÷Ò»ÏÂX,X11,XFREE,WM,KDE,GNOMEµÈÖ®¼äµÄ¹ØÏµ.ÓÉÓÚ±¾ÈËˮƽÓÐÏÞ¿ÉÄÜ´æÔÚ´íÎó,Çë¸ßÊÖÖ¸Õý.
Ò»,linux±¾ÉíûÓÐͼÐνçÃæ,linuxÏÖÔÚµÄÍ ......

LinuxµÄInput Device

      Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹ǰ£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£input.cÊÇLinuxµÄÊäÈë驅動³Ìʽ£¬Ö÷ÒªÖ§Ô®鍵盤與»¬ÊóµÄ輸È룻input.c½éÃæÌØÊâµÄµØ·½ÊÇ採ÓÃÁËʼþ£¨event£©µ ......

LinuxµÄInput Device

      Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹ǰ£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£input.cÊÇLinuxµÄÊäÈë驅動³Ìʽ£¬Ö÷ÒªÖ§Ô®鍵盤與»¬ÊóµÄ輸È룻input.c½éÃæÌØÊâµÄµØ·½ÊÇ採ÓÃÁËʼþ£¨event£©µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ