3 KEYMAP_FILE_PATH="/usr/share/X11/xkb/tizen_key_layout.txt"
4 BASE_KEYSYM="0x10090000"
5 TARGET_HEADER_FILE="./xkbcommon/tizen_keymap.h"
6 TEMP_TEXT_FILE="./temp_file.txt"
7 NEW_DEFINE_SYM_FILE="./new_define_sym.txt"
8 KEYMAP_HEADER_FILE="./xkbcommon/xkbcommon-keysyms.h"
10 BASE_KEYSYM_DEC=`python -c "print int('$BASE_KEYSYM', 16)"`
12 if [ -e ${KEYMAP_FILE_PATH} ]
14 echo "${TIZEN_PROFILE} have a key layout file: ${KEYMAP_FILE_PATH}"
16 echo "${TIZEN_PROFILE} doesn't have a key layout file: ${KEYMAP_FILE_PATH}"
20 echo "Generate a tizen keymap header file"
21 touch $NEW_DEFINE_SYM_FILE
23 while read KEYNAME KEYCODE
25 KEYSYM="XKB_KEY_${KEYNAME}"
26 grep -rn "${KEYSYM}" $KEYMAP_HEADER_FILE > $TEMP_TEXT_FILE
27 FINDED_DEFINE=`cat temp_file.txt | awk '{print $2}'`
30 for SEARCH_SYM in ${FINDED_DEFINE}
32 if [ "$SEARCH_SYM" = "$KEYSYM" ]
38 BOOL_DUPLICATED_SYM=false
39 if [ "$BOOL_FOUND_SYM" = false ]
43 if [ "$KEYSYM_NEW" = "$KEYSYM" ]
45 BOOL_DUPLICATED_SYM=true
48 done < ${NEW_DEFINE_SYM_FILE}
49 if [ "$BOOL_DUPLICATED_SYM" = false ]
51 echo "${KEYSYM}" >> $NEW_DEFINE_SYM_FILE
54 done < ${KEYMAP_FILE_PATH}
56 sed -i '$s/#endif//g' ${KEYMAP_HEADER_FILE}
57 echo "/**************************************************************" >> ${KEYMAP_HEADER_FILE}
58 echo " * These keys defined for tizen platform." >> ${KEYMAP_HEADER_FILE}
59 echo " * Key symbols are defined by keymap builder." >> ${KEYMAP_HEADER_FILE}
60 echo " */" >> ${KEYMAP_HEADER_FILE}
64 KEYSYM_DEC=$(echo $BASE_KEYSYM_DEC $cout | awk '{print $1 + $2}')
65 KEYSYM=$(printf "%x" $KEYSYM_DEC)
66 echo -en "#define ${KEYNAME}\t\t0x$KEYSYM\n" >> ${KEYMAP_HEADER_FILE}
67 cout=$(echo $cout 1 | awk '{print $1 + $2}')
68 done < ${NEW_DEFINE_SYM_FILE}
70 echo "" >> ${KEYMAP_HEADER_FILE}
71 echo "" >> ${KEYMAP_HEADER_FILE}
72 echo "#endif" >> ${KEYMAP_HEADER_FILE}
74 rm $NEW_DEFINE_SYM_FILE