From: Martin Pitt Date: Tue, 13 Oct 2015 16:20:34 +0000 (+0200) Subject: keymap: Recognize KEY_* aliases X-Git-Tag: v228~209^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4c1482202957828a37e88e42c49e9ac8ef12c960;p=thirdparty%2Fsystemd.git keymap: Recognize KEY_* aliases linux/input.h contains alias definitions like #define KEY_COFFEE 152 #define KEY_SCREENLOCK KEY_COFFEE #define KEY_ROTATE_DISPLAY 153 #define KEY_DIRECTION KEY_ROTATE_DISPLAY But we ignored these when building keyboard-keys-list.txt. Also allow the value to start with "K" now (for KEY_*), and drop the hardcoded COFFEE → SCREENLOCK aliasing. This fixes assignments to key "direction". Fixes #1151 --- diff --git a/Makefile.am b/Makefile.am index 8646e55450f..e3e07b8c7db 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3483,7 +3483,7 @@ noinst_LTLIBRARIES += \ src/udev/keyboard-keys-list.txt: $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ + $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9K]/ { if ($$2 != "KEY_MAX") { print $$2 } }' > $@ src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys-list.txt $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@