linux uinput ·ÖÎö¡£
linux uinput
±¾ÎÄÒÔ 2.6.22.7 µÄkernel Ϊ»ù´¡¡£
Ê×ÏÈ uinput ÊÇÒ»¸ö×Ö·ûÉ豸£¬ Æä´ÎËü»¹ÊÇÒ»¸ö input É豸¡£ÁíÍâËü¿ÉÒÔÊÇÒ»¸öÊó±ê»òÕß¼üÅÌÉ豸¡£
´Ó init ²¿·Ö˵Æð°É¡£
static const struct file_operations uinput_fops = {
.owner = THIS_MODULE,
.open = uinput_open,
.release = uinput_release,
.read = uinput_read,
.write = uinput_write,
.poll = uinput_poll,
.unlocked_ioctl = uinput_ioctl,
};
static struct miscdevice uinput_misc = {
.fops = &uinput_fops,
.minor = UINPUT_MINOR,
.name = UINPUT_NAME,
};
static int __init uinput_init(void)
{
return misc_register(&uinput_misc);
}
Ê×ÏÈ˵˵ miscdevice, ºÜ·½±ãµÄ¶«Î÷£¬¶Ô device ×öÁ˼òµ¥µÄ°ü×°£¬
µ± misc_register µÄʱºò¾ÍÍê³ÉÁË É豸µÄ ×¢²á°²×°Ò»ÀàµÄ¶«¶«£¬ ²»ÓÃ×Ô¼ºÔÙ²ÙÐÄÁË¡£ÕæÊÇÀÁÈ˵ÄÉè¼Æ°¢¡£
ËùÓÐµÄ misc É豸¹«ÓÃͬһ¸öÖ÷É豸ºÅ£¬ÔÚ misc_init ÖУ¬
static int __init misc_init(void)
{
#ifdef CONFIG_PROC_FS
struct proc_dir_entry *ent;
ent = create_proc_entry("misc", 0, NULL);
if (ent)
ent->proc_fops = &misc_proc_fops;
#endif
misc_class = class_create(THIS_MODULE, "misc");
if (IS_ERR(misc_class))
return PTR_ERR(misc_class);
if (register_chrdev(MISC_MAJOR,"misc",&misc_fops)) {
printk("unable to get major
Ïà¹ØÎĵµ£º
tidy ÊÇÒ»¸ö·Ç³£°ïæµÄÍøÒ³´úÂë·ÖÎöºÍ¾À´íµÄ¹¤¾ß£¬Äܹ»Ö§³Ö¶àÖÖÒ³Ãæ±àÂ룬²¢ÇÒÖ§³ÖxhtmlÊä³ö¡£Èç¹ûÎÒÃÇ͵ÀÁ£¬ÉõÖÁ¿ÉÒÔ½«Õû¸öÒ³Ãæ»º´æ£¬×îºó²ÉÓÃtidy´¦Àí£¬×îºóÊä³öÍêÃÀµÄxhtml´úÂë¡£
linuxϰ²×°¹ý³ÌÈçÏ£º
Ê×ÏȰ²×°tidy £¬ÏÂÔØtidyÔ´´úÂ룺
cvs -d:pserver: anonymous@tidy.cvs.sourceforge.net Ϊ·À±¸µç×ÓÓʼþµØÖ·ÊÕ¼¯ ......
1£® ÅäÖÃϵͳµÄ»ù±¾½á¹¹
LinuxÄں˵ÄÅäÖÃϵͳÓÉÈý¸ö²¿·Ö×é³É£¬·Ö±ðÊÇ£º
Makefile£º·Ö²¼ÔÚ Linux ÄÚºËÔ´´úÂëÖÐµÄ Makefile£¬¶¨Òå Linux Äں˵ıàÒë¹æÔò£»
ÅäÖÃÎļþ£¨config.in£©£º¸øÓû§ÌṩÅäÖÃÑ¡ÔñµÄ¹¦ÄÜ£»
ÅäÖù¤¾ß£º°üÀ¨ÅäÖÃÃüÁî½âÊÍÆ÷£¨¶ÔÅäÖýű¾ÖÐʹÓõÄÅäÖÃÃüÁî½øÐнâÊÍ£©ºÍÅäÖÃÓû§½çÃæ£¨Ìṩ»ùÓÚ×Ö·û½çÃæ¡¢» ......
Ê×ÏÈ£¬¼Çסvi±à¼Æ÷µÄÁ½¸öģʽ£º1¡¢ÃüÁîģʽ 2¡¢±à¼Ä£Ê½¡£
¡¡¡¡ÔÚÒ»¸öUNIX/LinuxµÄshellÃüÁî»òÕßÒ»¸öÒÔб¸Ü£¨/£©¡¢Îʺţ¨?£©»òðºÅ£¨:£©¿ªÊ¼µÄviÃüÁîºóÃæÓû§ÐèÒª¼üÈë»Ø³µ¼ü£¬¶øÒªÇл»µ½viÃüÁîģʽÐèÒª°´Esc¼ü¡£×¢Ò⣬ÒÔðºÅ£¨:£©»òÕßб¸Ü£¨/£© ¿ªÊ¼µÄviÃüÁî»áÏÔʾÔÚÆÁÄ»µ×²¿£¬µ«ÆäËûÃüÁî¶¼²»»áÏÔʾÔÚÆÁÄ»ÉÏ¡£
&nb ......
ת×Ô£ºhttp://blog.chinaunix.net/u1/44908/showart_1869167.html
# LinuxÖÐÓÃALSAÇý¶¯Éù¿¨Á÷³ÌÏê½â£ºhttp://www.linuxsir.org/main/?q=node/67
±±ÄÏÄϱ±ÐÖµÄÎÄÕ£¬±È½ÏÏêϸµÄ½²½âÁËÔÚlinuxϽâ¾öALSAÇý¶¯Éù¿¨ÎÊÌâµÄÁ÷³Ì£¬¸´Ï°ÁËÉù¿¨¼ì²â»òÕßÉ豸¼ì²âµÄÐí¶àÃüÁ²»´íµÄ×ÊÁÏ£¬Ö»ÊÇÏÖÔÚÎÊÌ⻹û½â¾ö¡£
# alsa-proj ......