generate-keynames.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Makefile helper for linuxtv.org dvb-apps/util/av7110_loadkeys
  2. echo "generate $1..."
  3. echo "#ifndef INPUT_KEYNAMES_H" > $1
  4. echo "#define INPUT_KEYNAMES_H" >> $1
  5. echo >> $1
  6. echo "#include <linux/input.h>" >> $1
  7. echo >> $1
  8. echo "#if !defined(KEY_OK)" >> $1
  9. echo "#include \"input_fake.h\"" >> $1
  10. echo "#endif" >> $1
  11. echo >> $1
  12. echo >> $1
  13. echo "struct input_key_name {" >> $1
  14. echo " const char *name;" >> $1
  15. echo " int key;" >> $1
  16. echo "};" >> $1
  17. echo >> $1
  18. echo >> $1
  19. echo "static struct input_key_name key_name [] = {" >> $1
  20. for x in $(cat /usr/include/linux/input.h input_fake.h | \
  21. egrep "#define[ \t]+KEY_" | grep -v KEY_MAX | \
  22. cut -f 1 | cut -f 2 -d " " | sort -u) ; do
  23. echo " { \"$(echo $x | cut -b 5-)\", $x }," >> $1
  24. done
  25. echo "};" >> $1
  26. echo >> $1
  27. echo "static struct input_key_name btn_name [] = {" >> $1
  28. for x in $(cat /usr/include/linux/input.h input_fake.h | \
  29. egrep "#define[ \t]+BTN_" | \
  30. cut -f 1 | cut -f 2 -d " " | sort -u) ; do
  31. echo " { \"$(echo $x | cut -b 5-)\", $x }," >> $1
  32. done
  33. echo "};" >> $1
  34. echo >> $1
  35. echo "#endif /* INPUT_KEYNAMES_H */" >> $1
  36. echo >> $1