Linux ÐéÄâÊó±ê£¬¼üÅÌ Ö®Ò»¡£
Linux ÓÐ×Ô¼ºµÄ input ×Óϵͳ£¬¿ÉÒÔͳһ¹ÜÀíÊó±êºÍ¼üÅÌʼþ¡£
»ùÓÚÊäÈë×Óϵͳ ʵÏÖµÄ uinput ¿ÉÒÔ·½±ãµÄÔÚÓû§¿Õ¼äÄ£ÄâÊó±êºÍ¼üÅÌʼþ¡£
µ±È»£¬Ò²¿ÉÒÔ×Ô¼ºÔìÂÖ×Ó£¬ ×öÒ»¸ö×Ö·ûÉ豸½ÓÊÕÓû§ÊäÈ룬¸ù¾ÝÊäÈ룬ͶµÝ input ʼþ¡£
»¹ÓÐÒ»ÖÖ·½Ê½¾ÍÊÇÖ±½Ó Íù evnent ÀïдÈëÊý¾Ý£¬ ¶¼¿ÉÒÔ´ïµ½¿ØÖÆÊó±ê¼üÅ̵ŦÄÜ¡£
±¾ÆªÎÄÕ¾ÍÊÇÑÝʾֱ½ÓдÈë event µÄ·½·¨¡£
linux/input.hÖÐÓж¨Ò壬Õâ¸öÎļþ»¹¶¨ÒåÁ˱ê×¼°´¼üµÄ±àÂëµÈ
struct input_event {
struct timeval time; //°´¼üʱ¼ä
__u16 type; //ÀàÐÍ£¬ÔÚÏÂÃæÓж¨Òå
__u16 code; //ҪģÄâ³Éʲô°´¼ü
__s32 value;//Êǰ´Ï»¹ÊÇÊÍ·Å
};
code£º
ʼþµÄ´úÂë.Èç¹ûʼþµÄÀàÐÍ´úÂëÊÇEV_KEY,¸Ã´úÂëcodeΪÉ豸¼üÅÌ´úÂë.´úÂëÖ²0~127Ϊ¼üÅÌÉϵİ´¼ü´úÂë, 0x110~0x116 ΪÊó±êÉϰ´¼ü´úÂë,ÆäÖÐ0x110(BTN_ LEFT)ΪÊó±ê×ó¼ü,0x111(BTN_RIGHT)ΪÊó±êÓÒ¼ü,0x112(BTN_ MIDDLE)ΪÊó±êÖмü.ÆäËü´úÂ뺬ÒåÇë²Î¿´include/linux /input.hÎļþ. Èç¹ûʼþµÄÀàÐÍ´úÂëÊÇEV_REL,codeÖµ±íʾ¹ì¼£µÄÀàÐÍ.ÈçָʾÊó±êµÄXÖá·½Ïò REL_X (´úÂëΪ0x00),ָʾÊó±êµÄYÖá·½ÏòREL_Y(´úÂëΪ0x01),ָʾÊó±êÖÐÂÖ×Ó·½ÏòREL_WHEEL(´úÂëΪ0x08).
type:
EV_KEY,¼üÅÌ
EV_REL,Ïà¶Ô×ø±ê
EV_ABS,¾ø¶Ô×ø±ê
value£º
ʼþµÄÖµ.Èç¹ûʼþµÄÀàÐÍ´úÂëÊÇEV_KEY,µ±°´¼ü°´ÏÂʱֵΪ1,ËÉ¿ªÊ±ÖµÎª0;Èç¹ûʼþµÄÀàÐÍ´úÂëÊÇEV_ REL,valueµÄÕýÊýÖµºÍ¸ºÊýÖµ·Ö±ð´ú±íÁ½¸ö²»Í¬·½ÏòµÄÖµ.
/*
* Event types
*/
#define EV_SYN 0x00
#define EV_KEY 0x01 //°´¼ü
#define EV_REL 0x02 //Ïà¶Ô×ø±ê(¹ì¼£Çò)
#define EV_ABS 0x03 //¾ø¶Ô×ø±ê
#define EV_MSC 0x04 //ÆäËû
#define EV_SW 0x05
#define EV_LED 0x11 //LED
#define EV_SND &
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
20.1 LinuxÄÚºËÒÆÖ²Òªµã
LinuxµÄ´úÂëÍêÈ«¿ª·ÅÒÔ¼°ÆäÁ¼ºÃµÄ½á¹¹Éè¼Æ·Ç³£ÊÊÓÚǶÈëʽϵͳ¡£ÒÆÖ²Linuxϵͳ°üÀ¨Äںˡ¢³ÌÐò¿âºÍÓ¦ÓóÌÐò£¬ÆäÖÐ×îÖ÷ÒªµÄ¾ÍÊÇÄÚºËÒÆÖ²¡£ÓÉÓÚLinuxÄں˵Ŀª·ÅÐÔ£¬³öÏÖÁËÐí¶àÕë¶ÔǶÈëʽӲ¼þϵͳµÄÄں˰汾£¬ÆäÖÐÖøÃûµÄ°üÀ¨μcLinux¡¢RT-LinuxµÈ¡£
Linux±¾Éí¶ÔÄÚ´æ¹ÜÀí£¨MMU£©ÓкܺõÄÖ§³Ö¡£Ò ......
ǰ ÑÔ
“Linux£¿Ëü±ÈWindows¸üºÃÂð£¿ÎÒÄÜÓÃËü´òħÊÞÂ𣿔
“¿È£¡±ðÌáÁË£¬Ëü²Ù×÷ÆðÀ´ÌرðÂé·³£¬ÄãµÃ²»Í£µØÇû÷¼üÅÌ¡£Ã»×¼Ëü»¹»á³ÃÄã²»×¢ÒâµÄʱºòÔÚÄãµÄÊÖָͷÉÏÒ§Ò»¿ÚÄØ£¡”
»òÐíÄãÒ²ÓÐÀàËÆµÄÏë·¨¡£µ«ÎÞÂÛÈËÃǶÔLinuxÓÐÔõÑùµÄÎó½â£¬ÖÁÉÙÎÒ²»ÔÙÏñǰЩÄêÄÇÑùƵ·±µØ»Ø´ð“Linux ......
µÚ1Õ Linux¸ÅÊö
ʲôÊÇLinux£¿ÔÚËùÓйØÓÚLinuxµÄÎÊÌâÖУ¬Ã»ÓбÈÕâ¸ö¸ü»ù±¾µÄÁË¡£¼òµ¥µØËµ£¬LinuxÊÇÒ»ÖÖ²Ù×÷ϵͳ£¬¿ÉÒÔ°²×°ÔÚ°üÀ¨·þÎñÆ÷¡¢¸öÈ˵çÄÔ¡¢ÄËÖÁPDA¡¢ÊÖ»ú¡¢´òÓ¡»úµÈ¸÷ÀàÉ豸ÖС£³¢ÊÔÒ»¸öеIJÙ×÷ϵͳÄÑÃâÈÃÈËÐij±ÅìÅÈ£¬Èç¹û¶ÁÕß֮ǰ»¹Ã»ÓнӴ¥¹ýLinuxµÄ»°£¬ÔÚÕýʽ¿ªÊ¼°²×°ºÍʹÓÃLinux֮ǰ£¬Ê×ÏÈÈÃ×Ô¼º·ÅËÉ£ ......
°üÀ¨ÎÒ×Ô¼ºÔÚÄÚ£¬ºÜ¶àÈ˶ÔÄںˣ¬½ø³Ì£¬Ïß³Ìͬ²½¶¼²»ÊǺÜÇå³þ£¬ÏÂÃæÉÔ΢×ܽáһϣº
ÄÚºËͬ²½£º
Ö÷ÒªÊÇ·ÀÖ¹¶àºË´¦ÀíÆ÷ͬʱ·ÃÎÊÐÞ¸Äij¶Î´úÂ룬»òÕßÔÚ¶ÔÉ豸Çý¶¯³ÌÐò½øÐÐÁÙ½çÇø±£»¤¡£Ö÷ÒªÓÐһϼ¸ÖÖ·½Ê½£º
1. Mutex£¨»¥³â£©
Í·Îļþ£º
#include <linux/mutex.h>
³õʼ»¯·½·¨£º
DEFINE_MUTEX(name);»òÕß ......