Change a buildrequires e-tizen-data to xkb-tizen-data for install a keylayout file
[platform/upstream/libxkbcommon.git] / make_tizen_keymap.sh
1 #!/bin/sh
2
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"
9 cout=1
10 BASE_KEYSYM_DEC=`python -c "print int('$BASE_KEYSYM', 16)"`
11
12 if [ -e ${KEYMAP_FILE_PATH} ]
13 then
14         echo "${TIZEN_PROFILE} have a key layout file: ${KEYMAP_FILE_PATH}"
15 else
16         echo "${TIZEN_PROFILE} doesn't have a key layout file: ${KEYMAP_FILE_PATH}"
17         exit
18 fi
19
20 echo "Generate a tizen keymap header file"
21 touch $NEW_DEFINE_SYM_FILE
22
23 while read KEYNAME KEYCODE
24 do
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}'`
28
29         BOOL_FOUND_SYM=false
30         for SEARCH_SYM in ${FINDED_DEFINE}
31         do
32                 if [ "$SEARCH_SYM" = "$KEYSYM" ]
33                 then
34                         BOOL_FOUND_SYM=true
35                 break
36                 fi
37         done
38         BOOL_DUPLICATED_SYM=false
39         if [ "$BOOL_FOUND_SYM" = false ]
40         then
41                 while read KEYSYM_NEW
42                 do
43                         if [ "$KEYSYM_NEW" = "$KEYSYM" ]
44                         then
45                                 BOOL_DUPLICATED_SYM=true
46                         break
47                         fi
48                 done < ${NEW_DEFINE_SYM_FILE}
49                 if [ "$BOOL_DUPLICATED_SYM" = false ]
50                 then
51                         echo "${KEYSYM}" >> $NEW_DEFINE_SYM_FILE
52                 fi
53         fi
54 done < ${KEYMAP_FILE_PATH}
55
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}
61
62 while read KEYNAME
63 do
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}
69
70 echo "" >> ${KEYMAP_HEADER_FILE}
71 echo "" >> ${KEYMAP_HEADER_FILE}
72 echo "#endif" >> ${KEYMAP_HEADER_FILE}
73
74 rm $NEW_DEFINE_SYM_FILE
75 rm $TEMP_TEXT_FILE