36 lines
898 B
Bash
36 lines
898 B
Bash
#!/bin/bash -e
|
|
|
|
keysymdef_url=http://cgit.freedesktop.org/xorg/proto/xproto/plain/keysymdef.h
|
|
keysymdef=$(mktemp)
|
|
|
|
wget $keysymdef_url -O $keysymdef
|
|
|
|
(
|
|
echo "
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\
|
|
|
|
This file is automatically translated from X.Org's xproto/keysymdef.h
|
|
Please, do not update this file with your hands, run $(basename "$0").
|
|
|
|
\\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
module.exports = {
|
|
"
|
|
|
|
sed -r '
|
|
s/#ifdef\s+/\/\/ Group /
|
|
s/#endif.*//
|
|
s/#define\s+([^ ]+)(\s+)([^ ]+)\s*\/\*\s*([^\*]+[^ ])\s*\*\// \1:\2{ code: \3, description: "\4" },/
|
|
s/(\b)U\+([0-9A-F]+)(\b)/\1(\\u\2)\3/i
|
|
s/#define\s+([^ ]+)(\s+)([^ ]+)/ \1:\2{ code: \3, description: null },/
|
|
#s/#define\s+([^ ]+)(\s+[^ ]+)/ \1:\2,/
|
|
' $keysymdef
|
|
|
|
echo -n '
|
|
NoSymbol: 0
|
|
};'
|
|
|
|
) > "$(dirname "$0")/keysyms.js"
|
|
|
|
rm $keysymdef
|