فهرست منبع

ncd: sys.evdev: Provide event code strings for EV_SYN if available.

Ambroz Bizjak 11 سال پیش
والد
کامیت
24ed3e97cc
2فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 4 0
      ncd/modules/sys_evdev.c
  2. 8 1
      ncd/parse_linux_input.sh

+ 4 - 0
ncd/modules/sys_evdev.c

@@ -91,6 +91,7 @@ static const char * evdev_##_name_##_to_str (uint16_t type) \
 }
 
 MAKE_LOOKUP_FUNC(type)
+MAKE_LOOKUP_FUNC(syn)
 MAKE_LOOKUP_FUNC(key)
 MAKE_LOOKUP_FUNC(rel)
 MAKE_LOOKUP_FUNC(abs)
@@ -260,6 +261,9 @@ static int func_getvar2 (void *vo, NCD_string_id_t name, NCDValMem *mem, NCDValR
             #ifdef EV_KEY
             MAKE_CASE(EV_KEY, key)
             #endif
+            #ifdef EV_SYN
+            MAKE_CASE(EV_SYN, syn)
+            #endif
             #ifdef EV_REL
             MAKE_CASE(EV_REL, rel)
             #endif

+ 8 - 1
ncd/parse_linux_input.sh

@@ -6,6 +6,7 @@ OUTPUT=$2
 types=""
 keys=""
 rels=""
+syns=""
 abss=""
 sws=""
 mscs=""
@@ -17,7 +18,7 @@ ffstatuss=""
 while read LINE; do
     tab=$'\t'
     space="[ ${tab}]"
-    regex="^#define ((EV|KEY|BTN|REL|ABS|SW|MSC|LED|REP|SND|FF_STATUS)_[A-Z0-9_]+)${space}"
+    regex="^#define ((EV|SYN|KEY|BTN|REL|ABS|SW|MSC|LED|REP|SND|FF_STATUS)_[A-Z0-9_]+)${space}"
     if [[ $LINE =~ $regex ]]; then
         type=${BASH_REMATCH[2]}
         name=${BASH_REMATCH[1]}
@@ -26,6 +27,9 @@ while read LINE; do
                 types="${types}    [${name}] = \"${name}\",
 "
             fi
+        elif [[ $type = "SYN" ]]; then
+            syns="${syns}    [${name}] = \"${name}\",
+"
         elif [[ $type = "KEY" ]] || [[ $type = "BTN" ]]; then
             if [[ $name != "KEY_MIN_INTERESTING" ]]; then
                 keys="${keys}    [${name}] = \"${name}\",
@@ -64,6 +68,9 @@ echo "
 static const char *type_names[] = {
 ${types}};
 
+static const char *syn_names[] = {
+${syns}};
+
 static const char *key_names[] = {
 ${keys}};