Back to index

im-sdk  12.3.91
keyboard.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2003   Choe Hwanjin <krisna@kldp.org>
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Library General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Library General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Library General Public
00015  * License along with this library; if not, write to the
00016  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00017  * Boston, MA 02111-1307, USA.
00018  */
00019 
00020 static const UTFCHAR keyboard_map_2[] = {
00021     0x0021,     /* XK_exclam:       exclamation mark               */
00022     0x0022,     /* XK_quotedbl:     quotation mark                 */
00023     0x0023,     /* XK_numbersign:   number sign                    */
00024     0x0024,     /* XK_dollar:       dollar sign                    */
00025     0x0025,     /* XK_percent:      percent sign                   */
00026     0x0026,     /* XK_ampersand:    ampersand                      */
00027     0x0027,     /* XK_apostrophe:   apostrophe                     */
00028     0x0028,     /* XK_parenleft:    left parenthesis               */
00029     0x0029,     /* XK_parenright:   right parenthesis              */
00030     0x002a,     /* XK_asterisk:     asterisk                       */
00031     0x002b,     /* XK_plus:         plus sign                      */
00032     0x002c,     /* XK_comma:        comma                          */
00033     0x002d,     /* XK_minus:        minus sign                     */
00034     0x002e,     /* XK_period:       period                         */
00035     0x002f,     /* XK_slash:        slash                          */
00036     0x0030,     /* XK_0:            0                              */
00037     0x0031,     /* XK_1:            1                              */
00038     0x0032,     /* XK_2:            2                              */
00039     0x0033,     /* XK_3:            3                              */
00040     0x0034,     /* XK_4:            4                              */
00041     0x0035,     /* XK_5:            5                              */
00042     0x0036,     /* XK_6:            6                              */
00043     0x0037,     /* XK_7:            7                              */
00044     0x0038,     /* XK_8:            8                              */
00045     0x0039,     /* XK_9:            9                              */
00046     0x003a,     /* XK_colon:        colon                          */
00047     0x003b,     /* XK_semicolon:    semicolon                      */
00048     0x003c,     /* XK_less:         less-than sign                 */
00049     0x003d,     /* XK_equal:        equals sign                    */
00050     0x003e,     /* XK_greater:      greater-than sign              */
00051     0x003f,     /* XK_question:     question mark                  */
00052     0x0040,     /* XK_at:           commercial at                  */
00053     0x1106,     /* XK_A:            choseong mieum                 */
00054     0x1172,     /* XK_B:            jungseong yu                   */
00055     0x110e,     /* XK_C:            choseong chieuch               */
00056     0x110b,     /* XK_D:            choseong ieung                 */
00057     0x1104,     /* XK_E:            choseong ssangtikeut           */
00058     0x1105,     /* XK_F:            choseong rieul                 */
00059     0x1112,     /* XK_G:            choseong hieuh                 */
00060     0x1169,     /* XK_H:            jungseong o                    */
00061     0x1163,     /* XK_I:            jungseong ya                   */
00062     0x1165,     /* XK_J:            jungseong eo                   */
00063     0x1161,     /* XK_K:            jungseong a                    */
00064     0x1175,     /* XK_L:            jungseong i                    */
00065     0x1173,     /* XK_M:            jungseong eu                   */
00066     0x116e,     /* XK_N:            jungseong u                    */
00067     0x1164,     /* XK_O:            jungseong yae                  */
00068     0x1168,     /* XK_P:            jungseong ye                   */
00069     0x1108,     /* XK_Q:            choseong ssangpieup            */
00070     0x1101,     /* XK_R:            choseong ssangkiyeok           */
00071     0x1102,     /* XK_S:            choseong nieun                 */
00072     0x110a,     /* XK_T:            choseong ssangsios             */
00073     0x1167,     /* XK_U:            jungseong yeo                  */
00074     0x1111,     /* XK_V:            choseong phieuph               */
00075     0x110d,     /* XK_W:            choseong ssangcieuc            */
00076     0x1110,     /* XK_X:            choseong thieuth               */
00077     0x116d,     /* XK_Y:            jungseong yo                   */
00078     0x110f,     /* XK_Z:            choseong khieukh               */
00079     0x005b,     /* XK_bracketleft:  left bracket                   */
00080     0x005c,     /* XK_backslash:    backslash                      */
00081     0x005d,     /* XK_bracketright: right bracket                  */
00082     0x005e,     /* XK_asciicircum:  circumflex accent              */
00083     0x005f,     /* XK_underscore:   underscore                     */
00084     0x0060,     /* XK_quoteleft:    grave accent                   */
00085     0x1106,     /* XK_a:            choseong  mieum                */
00086     0x1172,     /* XK_b:            jungseong yu                   */
00087     0x110e,     /* XK_c:            choseong  chieuch              */
00088     0x110b,     /* XK_d:            choseong  ieung                */
00089     0x1103,     /* XK_e:            choseong  tikeut               */
00090     0x1105,     /* XK_f:            choseong  rieul                */
00091     0x1112,     /* XK_g:            choseong  hieuh                */
00092     0x1169,     /* XK_h:            jungseong o                    */
00093     0x1163,     /* XK_i:            jungseong ya                   */
00094     0x1165,     /* XK_j:            jungseong eo                   */
00095     0x1161,     /* XK_k:            jungseong a                    */
00096     0x1175,     /* XK_l:            jungseong i                    */
00097     0x1173,     /* XK_m:            jungseong eu                   */
00098     0x116e,     /* XK_n:            jungseong u                    */
00099     0x1162,     /* XK_o:            jungseong ae                   */
00100     0x1166,     /* XK_p:            jungseong e                    */
00101     0x1107,     /* XK_q:            choseong  pieup                */
00102     0x1100,     /* XK_r:            choseong  kiyeok               */
00103     0x1102,     /* XK_s:            choseong  nieun                */
00104     0x1109,     /* XK_t:            choseong  sios                 */
00105     0x1167,     /* XK_u:            jungseong yeo                  */
00106     0x1111,     /* XK_v:            choseong  phieuph              */
00107     0x110c,     /* XK_w:            choseong  cieuc                */
00108     0x1110,     /* XK_x:            choseong  thieuth              */
00109     0x116d,     /* XK_y:            jungseong yo                   */
00110     0x110f,     /* XK_z:            choseong  khieukh              */
00111     0x007b,     /* XK_braceleft:    left brace                     */
00112     0x007c,     /* XK_bar:          vertical bar                   */
00113     0x007d,     /* XK_braceright:   right brace                    */
00114     0x007e      /* XK_asciitilde:   tilde                          */
00115 };
00116 
00117 static const UTFCHAR keyboard_map_32[] = {
00118     0x0021,     /* XK_exclam:       exclamation mark                */
00119     0x0022,     /* XK_quotedbl:     quotation mark                  */
00120     0x0023,     /* XK_numbersign:   number sign                     */
00121     0x0024,     /* XK_dollar:       dollar sign                     */
00122     0x0025,     /* XK_percent:      percent sign                    */
00123     0x0026,     /* XK_ampersand:    ampersand                       */
00124     0x0027,     /* XK_apostrophe:   apostrophe                      */
00125     0x0028,     /* XK_parenleft:    left parenthesis                */
00126     0x0029,     /* XK_parenright:   right parenthesis               */
00127     0x002a,     /* XK_asterisk:     asterisk                        */
00128     0x002b,     /* XK_plus:         plus sign                       */
00129     0x002c,     /* XK_comma:        comma                           */
00130     0x002d,     /* XK_minus:        minus sign                      */
00131     0x002e,     /* XK_period:       period                          */
00132     0x002f,     /* XK_slash:        slash                           */
00133     0x0030,     /* XK_0:            0                               */
00134     0x0031,     /* XK_1:            1                               */
00135     0x0032,     /* XK_2:            2                               */
00136     0x0033,     /* XK_3:            3                               */
00137     0x0034,     /* XK_4:            4                               */
00138     0x0035,     /* XK_5:            5                               */
00139     0x0036,     /* XK_6:            6                               */
00140     0x0037,     /* XK_7:            7                               */
00141     0x0038,     /* XK_8:            8                               */
00142     0x0039,     /* XK_9:            9                               */
00143     0x003a,     /* XK_colon:        colon                           */
00144     0x003b,     /* XK_semicolon:    semicolon                       */
00145     0x003c,     /* XK_less:         less-than sign                  */
00146     0x003d,     /* XK_equal:        equals sign                     */
00147     0x003e,     /* XK_greater:      greater-than sign               */
00148     0x003f,     /* XK_question:     question mark                   */
00149     0x0040,     /* XK_at:           commercial at                   */
00150     0x11b7,     /* XK_A:            jongseong mieum                 */
00151     0x1172,     /* XK_B:            jungseong yu                    */
00152     0x11be,     /* XK_C:            jongseong chieuch               */
00153     0x11bc,     /* XK_D:            jongseong ieung                 */
00154     0x11ae,     /* XK_E:            jongseong tikeut                */
00155     0x11af,     /* XK_F:            jongseong rieul                 */
00156     0x11c2,     /* XK_G:            jongseong hieuh                 */
00157     0x1169,     /* XK_H:            jungseong o                     */
00158     0x1163,     /* XK_I:            jungseong ya                    */
00159     0x1165,     /* XK_J:            jungseong eo                    */
00160     0x1161,     /* XK_K:            jungseong a                     */
00161     0x1175,     /* XK_L:            jungseong i                     */
00162     0x1173,     /* XK_M:            jungseong eu                    */
00163     0x116e,     /* XK_N:            jungseong u                     */
00164     0x1164,     /* XK_O:            jungseong yae                   */
00165     0x1168,     /* XK_P:            jungseong ye                    */
00166     0x11b8,     /* XK_Q:            jongseong pieup                 */
00167     0x11a8,     /* XK_R:            jongseong kiyeok                */
00168     0x11ab,     /* XK_S:            jongseong nieun                 */
00169     0x11ba,     /* XK_T:            jongseong sios                  */
00170     0x1167,     /* XK_U:            jungseong yeo                   */
00171     0x11c1,     /* XK_V:            jongseong phieuph               */
00172     0x11bd,     /* XK_W:            jongseong cieuc                 */
00173     0x11c0,     /* XK_X:            jongseong thieuth               */
00174     0x116d,     /* XK_Y:            jungseong yo                    */
00175     0x11bf,     /* XK_Z:            jongseong khieukh               */
00176     0x005b,     /* XK_bracketleft:  left bracket                    */
00177     0x005c,     /* XK_backslash:    backslash                       */
00178     0x005d,     /* XK_bracketright: right bracket                   */
00179     0x005e,     /* XK_asciicircum:  circumflex accent               */
00180     0x005f,     /* XK_underscore:   underscore                      */
00181     0x0060,     /* XK_quoteleft:    grave accent                    */
00182     0x1106,     /* XK_a:            choseong  mieum                 */
00183     0x1172,     /* XK_b:            jungseong yu                    */
00184     0x110e,     /* XK_c:            choseong  chieuch               */
00185     0x110b,     /* XK_d:            choseong  ieung                 */
00186     0x1103,     /* XK_e:            choseong  tikeut                */
00187     0x1105,     /* XK_f:            choseong  rieul                 */
00188     0x1112,     /* XK_g:            choseong  hieuh                 */
00189     0x1169,     /* XK_h:            jungseong o                     */
00190     0x1163,     /* XK_i:            jungseong ya                    */
00191     0x1165,     /* XK_j:            jungseong eo                    */
00192     0x1161,     /* XK_k:            jungseong a                     */
00193     0x1175,     /* XK_l:            jungseong i                     */
00194     0x1173,     /* XK_m:            jungseong eu                    */
00195     0x116e,     /* XK_n:            jungseong u                     */
00196     0x1162,     /* XK_o:            jungseong ae                    */
00197     0x1166,     /* XK_p:            jungseong e                     */
00198     0x1107,     /* XK_q:            choseong  pieup                 */
00199     0x1100,     /* XK_r:            choseong  kiyeok                */
00200     0x1102,     /* XK_s:            choseong  nieun                 */
00201     0x1109,     /* XK_t:            choseong  sios                  */
00202     0x1167,     /* XK_u:            jungseong yeo                   */
00203     0x1111,     /* XK_v:            choseong  phieuph               */
00204     0x110c,     /* XK_w:            choseong  cieuc                 */
00205     0x1110,     /* XK_x:            choseong  thieuth               */
00206     0x116d,     /* XK_y:            jungseong yo                    */
00207     0x110f,     /* XK_z:            choseong  khieukh               */
00208     0x007b,     /* XK_braceleft:    left brace                      */
00209     0x007c,     /* XK_bar:          vertical bar                    */
00210     0x007d,     /* XK_braceright:   right brace                     */
00211     0x007e,     /* XK_asciitilde:   tilde                           */
00212 };
00213 
00214 /* Hangul keyboard map table:
00215  * 3set keyboard 390 (sebulsik 390) */
00216 static const UTFCHAR keyboard_map_390[] = {
00217     0x11bd,     /* XK_exclam:       jongseong cieuc                 */
00218     0x0022,     /* XK_quotedbl:     quotatioin mark                 */
00219     0x0023,     /* XK_numbersign:   number sign                     */
00220     0x0024,     /* XK_dollar:       dollar sign                     */
00221     0x0025,     /* XK_percent:      percent sign                    */
00222     0x0026,     /* XK_ampersand:    ampersand                       */
00223     0x1110,     /* XK_apostrophe:   choseong thieuth                */
00224     0x0028,     /* XK_parenleft:    left parenthesis                */
00225     0x0029,     /* XK_parenright:   right parenthesis               */
00226     0x002a,     /* XK_asterisk:     asterisk                        */
00227     0x002b,     /* XK_plus:         plus sign                       */
00228     0x002c,     /* XK_comma:        comma                           */
00229     0x002d,     /* XK_minus:        minus sign                      */
00230     0x002e,     /* XK_period:       period                          */
00231     0x1169,     /* XK_slash:        jungseong o                     */
00232     0x110f,     /* XK_0:            choseong  khieukh               */
00233     0x11c2,     /* XK_1:            jongseong hieuh                 */
00234     0x11bb,     /* XK_2:            jongseong ssangsios             */
00235     0x11b8,     /* XK_3:            jongseong pieup                 */
00236     0x116d,     /* XK_4:            jungseong yo                    */
00237     0x1172,     /* XK_5:            jungseong yu                    */
00238     0x1163,     /* XK_6:            jungseong ya                    */
00239     0x1168,     /* XK_7:            jungseong ye                    */
00240     0x1174,     /* XK_8:            jungseong yi                    */
00241     0x116e,     /* XK_9:            jungseong u                     */
00242     0x003a,     /* XK_colon:        colon                           */
00243     0x1107,     /* XK_semicolon:    choseong  pieup                 */
00244     0x0032,     /* XK_less:         2                               */
00245     0x003d,     /* XK_equal:        euals sign                      */
00246     0x0033,     /* XK_greater:      3                               */
00247     0x003f,     /* XK_question:     question mark                   */
00248     0x0040,     /* XK_at:           commertial at                   */
00249     0x11ae,     /* XK_A:            jongseong tikeut                */
00250     0x0021,     /* XK_B:            exclamation mark                */
00251     0x11b1,     /* XK_C:            jongseong rieul-mieum           */
00252     0x11b0,     /* XK_D:            jongseong rieul-kiyeok          */
00253     0x11bf,     /* XK_E:            jongseong khieukh               */
00254     0x11a9,     /* XK_F:            jongseong ssangkiyeok           */
00255     0x002f,     /* XK_G:            slash                           */
00256     0x0027,     /* XK_H:            apostrophe                      */
00257     0x0038,     /* XK_I:            8                               */
00258     0x0034,     /* XK_J:            4                               */
00259     0x0035,     /* XK_K:            5                               */
00260     0x0036,     /* XK_L:            6                               */
00261     0x0031,     /* XK_M:            1                               */
00262     0x0030,     /* XK_N:            0                               */
00263     0x0039,     /* XK_O:            9                               */
00264     0x003e,     /* XK_P:            greater-than sign               */
00265     0x11c1,     /* XK_Q:            jongseong phieuph               */
00266     0x1164,     /* XK_R:            jungseong yae                   */
00267     0x11ad,     /* XK_S:            jongseong nieun-hieuh           */
00268     0x003b,     /* XK_T:            semicolon                       */
00269     0x0037,     /* XK_U:            7                               */
00270     0x11b6,     /* XK_V:            jongseong rieul-hieuh           */
00271     0x11c0,     /* XK_W:            jongseong thikeuth              */
00272     0x11b9,     /* XK_X:            jongseong pieup-sios            */
00273     0x003c,     /* XK_Y:            less-than sign                  */
00274     0x11be,     /* XK_Z:            jongseong chieuch               */
00275     0x005b,     /* XK_bracketleft:  left bracket                    */
00276     0x005c,     /* XK_backslash:    backslash                       */
00277     0x005d,     /* XK_bracketright: right bracket                   */
00278     0x005e,     /* XK_asciicircum:  circumflex accent               */
00279     0x005f,     /* XK_underscore:   underscore                      */
00280     0x0060,     /* XK_quoteleft:    grave accent                    */
00281     0x11bc,     /* XK_a:            jongseong ieung                 */
00282     0x116e,     /* XK_b:            jungseong u                     */
00283     0x1166,     /* XK_c:            jungseong e                     */
00284     0x1175,     /* XK_d:            jungseong i                     */
00285     0x1167,     /* XK_e:            jungseong yeo                   */
00286     0x1161,     /* XK_f:            jungseong a                     */
00287     0x1173,     /* XK_g:            jungseong eu                    */
00288     0x1102,     /* XK_h:            choseong  nieun                 */
00289     0x1106,     /* XK_i:            choseong  mieum                 */
00290     0x110b,     /* XK_j:            choseong  ieung                 */
00291     0x1100,     /* XK_k:            choseong  kiyeok                */
00292     0x110c,     /* XK_l:            choseong  cieuc                 */
00293     0x1112,     /* XK_m:            choseong  hieuh                 */
00294     0x1109,     /* XK_n:            choseong  sios                  */
00295     0x110e,     /* XK_o:            choseong  chieuch               */
00296     0x1111,     /* XK_p:            choseong  phieuph               */
00297     0x11ba,     /* XK_q:            jongseong sios                  */
00298     0x1162,     /* XK_r:            jungseong ae                    */
00299     0x11ab,     /* XK_s:            jongseong nieun                 */
00300     0x1165,     /* XK_t:            jungseong eo                    */
00301     0x1103,     /* XK_u:            choseong  tikeut                */
00302     0x1169,     /* XK_v:            jungseong o                     */
00303     0x11af,     /* XK_w:            jongseong rieul                 */
00304     0x11a8,     /* XK_x:            jongseong kiyeok                */
00305     0x1105,     /* XK_y:            choseong  rieul                 */
00306     0x11b7,     /* XK_z:            jongseong mieum                 */
00307     0x007b,     /* XK_braceleft:    left brace                      */
00308     0x007c,     /* XK_bar:          vertical line(bar)              */
00309     0x007d,     /* XK_braceright:   right brace                     */
00310     0x007e,     /* XK_asciitilde:   tilde                           */
00311 };
00312 
00313 /* Hangul keyboard map table:
00314  * 3set keyboard final (sebulsik choejong) */
00315 static const UTFCHAR keyboard_map_3final[] = {
00316     0x11a9,     /* XK_exclam:       jongseong ssangkiyeok           */
00317     0x00b7,     /* XK_quotedbl:     middle dot                      */
00318     0x11bd,     /* XK_numbersign:   jognseong cieuc                 */
00319     0x11b5,     /* XK_dollar:       jongseong rieul-phieuph         */
00320     0x11b4,     /* XK_percent:      jongseong rieul-thieuth         */
00321     0x201c,     /* XK_ampersand:    left double quotation mark      */
00322     0x1110,     /* XK_apostrophe:   choseong  thieuth               */
00323     0x0027,     /* XK_parenleft:    apostrophe                      */
00324     0x007e,     /* XK_parenright:   Tilde                           */
00325     0x201d,     /* XK_asterisk:     right double quotation mark     */
00326     0x002b,     /* XK_plus:         plus sign                       */
00327     0x002c,     /* XK_comma:        comma                           */
00328     0x0029,     /* XK_minus:        right parenthesis               */
00329     0x002e,     /* XK_period:       period                          */
00330     0x1169,     /* XK_slash:        jungseong o                     */
00331     0x110f,     /* XK_0:            choseong  khieukh               */
00332     0x11c2,     /* XK_1:            jongseong hieuh                 */
00333     0x11bb,     /* XK_2:            jongseong ssangsios             */
00334     0x11b8,     /* XK_3:            jongseong pieup                 */
00335     0x116d,     /* XK_4:            jungseong yo                    */
00336     0x1172,     /* XK_5:            jungseong yu                    */
00337     0x1163,     /* XK_6:            jungseong ya                    */
00338     0x1168,     /* XK_7:            jungseong ye                    */
00339     0x1174,     /* XK_8:            jungseong yi                    */
00340     0x116e,     /* XK_9:            jungseong u                     */
00341     0x0034,     /* XK_colon:        4                               */
00342     0x1107,     /* XK_semicolon:    choseong  pieup                 */
00343     0x002c,     /* XK_less:         comma                           */
00344     0x003e,     /* XK_equal:        greater-than sign               */
00345     0x002e,     /* XK_greater:      period                          */
00346     0x0021,     /* XK_question:     exclamation mark                */
00347     0x11b0,     /* XK_at:           jongseong rieul-kiyeok          */
00348     0x11ae,     /* XK_A:            jongseong tikeut                */
00349     0x003f,     /* XK_B:            question mark                   */
00350     0x11bf,     /* XK_C:            jongseong khieukh               */
00351     0x11b2,     /* XK_D:            jongseong rieul-pieup           */
00352     0x11ac,     /* XK_E:            jongseong nieun-cieuc           */
00353     0x11b1,     /* XK_F:            jongseong rieul-mieum           */
00354     0x1164,     /* XK_G:            jungseong yae                   */
00355     0x0030,     /* XK_H:            0                               */
00356     0x0037,     /* XK_I:            7                               */
00357     0x0031,     /* XK_J:            1                               */
00358     0x0032,     /* XK_K:            2                               */
00359     0x0033,     /* XK_L:            3                               */
00360     0x0022,     /* XK_M:            double quotation mark           */
00361     0x002d,     /* XK_N:            minus sign                      */
00362     0x0038,     /* XK_O:            8                               */
00363     0x0039,     /* XK_P:            9                               */
00364     0x11c1,     /* XK_Q:            jongseong phieuph               */
00365     0x11b6,     /* XK_R:            jongseong rieul-hieuh           */
00366     0x11ad,     /* XK_S:            jongseong nieun-hieuh           */
00367     0x11b3,     /* XK_T:            jongseong rieul-sios            */
00368     0x0036,     /* XK_U:            6                               */
00369     0x11aa,     /* XK_V:            jongseong kiyeok-sios           */
00370     0x11c0,     /* XK_W:            jongseong thikeuth              */
00371     0x11b9,     /* XK_X:            jongseong pieup-sios            */
00372     0x0035,     /* XK_Y:            5                               */
00373     0x11be,     /* XK_Z:            jongseong chieuch               */
00374     0x0028,     /* XK_bracketleft:  left parenthesis                */
00375     0x003a,     /* XK_backslash:    colon                           */
00376     0x003c,     /* XK_bracketright: less-than sign                  */
00377     0x003d,     /* XK_asciicircum:  equals sign                     */
00378     0x003b,     /* XK_underscore:   semicolon                       */
00379     0x002a,     /* XK_quoteleft:    asterisk                        */
00380     0x11bc,     /* XK_a:            jongseong ieung                 */
00381     0x116e,     /* XK_b:            jungseong u                     */
00382     0x1166,     /* XK_c:            jungseong e                     */
00383     0x1175,     /* XK_d:            jungseong i                     */
00384     0x1167,     /* XK_e:            jungseong yeo                   */
00385     0x1161,     /* XK_f:            jungseong a                     */
00386     0x1173,     /* XK_g:            jungseong eu                    */
00387     0x1102,     /* XK_h:            choseong  nieun                 */
00388     0x1106,     /* XK_i:            choseong  mieum                 */
00389     0x110b,     /* XK_j:            choseong  ieung                 */
00390     0x1100,     /* XK_k:            choseong  kiyeok                */
00391     0x110c,     /* XK_l:            choseong  cieuc                 */
00392     0x1112,     /* XK_m:            choseong  hieuh                 */
00393     0x1109,     /* XK_n:            choseong  sios                  */
00394     0x110e,     /* XK_o:            choseong  chieuch               */
00395     0x1111,     /* XK_p:            choseong  phieuph               */
00396     0x11ba,     /* XK_q:            jongseong sios                  */
00397     0x1162,     /* XK_r:            jungseong ae                    */
00398     0x11ab,     /* XK_s:            jongseong nieun                 */
00399     0x1165,     /* XK_t:            jungseong eo                    */
00400     0x1103,     /* XK_u:            choseong  tikeut                */
00401     0x1169,     /* XK_v:            jungseong o                     */
00402     0x11af,     /* XK_w:            jongseong rieul                 */
00403     0x11a8,     /* XK_x:            jongseong kiyeok                */
00404     0x1105,     /* XK_y:            choseong  rieul                 */
00405     0x11b7,     /* XK_z:            jongseong mieum                 */
00406     0x0025,     /* XK_braceleft:    percent sign                    */
00407     0x005c,     /* XK_bar:          backslash                       */
00408     0x002f,     /* XK_braceright:   slash                           */
00409     0x203b,     /* XK_asciitilde:   reference mark                  */
00410 };
00411 
00412 /* Hangul keyboard map table:
00413  * 3set keyboard no-shift (sebulsik sunarae) */
00414 static const UTFCHAR keyboard_map_3sun[] = {
00415     0x0021,     /* XK_exclam:       exclamation mark                */
00416     0x0022,     /* XK_quotedbl:     quotatioin mark                 */
00417     0x0023,     /* XK_numbersign:   number sign                     */
00418     0x0024,     /* XK_dollar:       dollar sign                     */
00419     0x0025,     /* XK_percent:      percent sign                    */
00420     0x0026,     /* XK_ampersand:    ampersand                       */
00421     0x1110,     /* XK_apostrophe:   choseong thieuth                */
00422     0x0028,     /* XK_parenleft:    left parenthesis                */
00423     0x0029,     /* XK_parenright:   right parenthesis               */
00424     0x002a,     /* XK_asterisk:     asterisk                        */
00425     0x002b,     /* XK_plus:         plus sign                       */
00426     0x002c,     /* XK_comma:        comma                           */
00427     0x11bd,     /* XK_minus:        jongseong cieuc                 */
00428     0x002e,     /* XK_period:       period                          */
00429     0x11ae,     /* XK_slash:        jongseong tikeut                */
00430     0x1164,     /* XK_0:            choseong  yae                   */
00431     0x11c2,     /* XK_1:            jongseong hieuh                 */
00432     0x11bb,     /* XK_2:            jongseong ssangsios             */
00433     0x11b8,     /* XK_3:            jongseong pieup                 */
00434     0x116d,     /* XK_4:            jungseong yo                    */
00435     0x1172,     /* XK_5:            jungseong yu                    */
00436     0x1163,     /* XK_6:            jungseong ya                    */
00437     0x1168,     /* XK_7:            jungseong ye                    */
00438     0x1174,     /* XK_8:            jungseong yi                    */
00439     0x110f,     /* XK_9:            choseong khieukh                */
00440     0x003a,     /* XK_colon:        colon                           */
00441     0x1107,     /* XK_semicolon:    choseong  pieup                 */
00442     0x0032,     /* XK_less:         2                               */
00443     0x11be,     /* XK_equal:        jongseong chieuch               */
00444     0x0033,     /* XK_greater:      3                               */
00445     0x003f,     /* XK_question:     question mark                   */
00446     0x0040,     /* XK_at:           commertial at                   */
00447     0x11bc,     /* XK_A:            jongseong ieung                 */
00448     0x0021,     /* XK_B:            exclamation mark                */
00449     0x005c,     /* XK_C:            backslash                       */
00450     0x005d,     /* XK_D:            right bracket                   */
00451     0x1167,     /* XK_E:            jungseong yeo                   */
00452     0x1161,     /* XK_F:            jungseong a                     */
00453     0x002f,     /* XK_G:            slash                           */
00454     0x0027,     /* XK_H:            apostrophe                      */
00455     0x0038,     /* XK_I:            8                               */
00456     0x0034,     /* XK_J:            4                               */
00457     0x0035,     /* XK_K:            5                               */
00458     0x0036,     /* XK_L:            6                               */
00459     0x0031,     /* XK_M:            1                               */
00460     0x0030,     /* XK_N:            0                               */
00461     0x0039,     /* XK_O:            9                               */
00462     0x003e,     /* XK_P:            greater-than sign               */
00463     0x11ba,     /* XK_Q:            jongseong sios                  */
00464     0x1162,     /* XK_R:            jungseong ae                    */
00465     0x005b,     /* XK_S:            left bracket                    */
00466     0x003b,     /* XK_T:            semicolon                       */
00467     0x0037,     /* XK_U:            7                               */
00468     0x1169,     /* XK_V:            jungseong o                     */
00469     0x11af,     /* XK_W:            jongseong rieul                 */
00470     0x003d,     /* XK_X:            equals sign                     */
00471     0x003c,     /* XK_Y:            less-than sign                  */
00472     0x002d,     /* XK_Z:            minus sign                      */
00473     0x11c0,     /* XK_bracketleft:  jongseong thieuth               */
00474     0x11bf,     /* XK_backslash:    jongseong khieukh               */
00475     0x11c1,     /* XK_bracketright: jongseong phieuph               */
00476     0x005e,     /* XK_asciicircum:  circumflex accent               */
00477     0x005f,     /* XK_underscore:   underscore                      */
00478     0x0060,     /* XK_quoteleft:    grave accent                    */
00479     0x11bc,     /* XK_a:            jongseong ieung                 */
00480     0x116e,     /* XK_b:            jungseong u                     */
00481     0x1166,     /* XK_c:            jungseong e                     */
00482     0x1175,     /* XK_d:            jungseong i                     */
00483     0x1167,     /* XK_e:            jungseong yeo                   */
00484     0x1161,     /* XK_f:            jungseong a                     */
00485     0x1173,     /* XK_g:            jungseong eu                    */
00486     0x1102,     /* XK_h:            choseong  nieun                 */
00487     0x1106,     /* XK_i:            choseong  mieum                 */
00488     0x110b,     /* XK_j:            choseong  ieung                 */
00489     0x1100,     /* XK_k:            choseong  kiyeok                */
00490     0x110c,     /* XK_l:            choseong  cieuc                 */
00491     0x1112,     /* XK_m:            choseong  hieuh                 */
00492     0x1109,     /* XK_n:            choseong  sios                  */
00493     0x110e,     /* XK_o:            choseong  chieuch               */
00494     0x1111,     /* XK_p:            choseong  phieuph               */
00495     0x11ba,     /* XK_q:            jongseong sios                  */
00496     0x1162,     /* XK_r:            jungseong ae                    */
00497     0x11ab,     /* XK_s:            jongseong nieun                 */
00498     0x1165,     /* XK_t:            jungseong eo                    */
00499     0x1103,     /* XK_u:            choseong  tikeut                */
00500     0x1169,     /* XK_v:            jungseong o                     */
00501     0x11af,     /* XK_w:            jongseong rieul                 */
00502     0x11a8,     /* XK_x:            jongseong kiyeok                */
00503     0x1105,     /* XK_y:            choseong  rieul                 */
00504     0x11b7,     /* XK_z:            jongseong mieum                 */
00505     0x007b,     /* XK_braceleft:    left brace                      */
00506     0x007c,     /* XK_bar:          vertical line(bar)              */
00507     0x007d,     /* XK_braceright:   right brace                     */
00508     0x007e,     /* XK_asciitilde:   tilde                           */
00509 };
00510 
00511 /* Hangul keyboard map table:
00512  * 3set keyboard yetguel (sebulsik yetguel)
00513  * see http://asadal.cs.pusan.ac.kr/hangeul/kbd/oldkbd.jpg */
00514 static const UTFCHAR keyboard_map_3yet[] = {
00515     0x11bd,     /* XK_exclam:       jongseong cieuc                 */
00516     0x0022,     /* XK_quotedbl:     quotatioin mark                 */
00517     0x0023,     /* XK_numbersign:   number sign                     */
00518     0x0024,     /* XK_dollar:       dollar sign                     */
00519     0x0025,     /* XK_percent:      percent sign                    */
00520     0x0026,     /* XK_ampersand:    ampersand                       */
00521     0x1110,     /* XK_apostrophe:   choseong thieuth                */
00522     0x0028,     /* XK_parenleft:    left parenthesis                */
00523     0x0029,     /* XK_parenright:   right parenthesis               */
00524     0x002a,     /* XK_asterisk:     asterisk                        */
00525     0x002b,     /* XK_plus:         plus sign                       */
00526     0x002c,     /* XK_comma:        comma                           */
00527     0x002d,     /* XK_minus:        minus sign                      */
00528     0x002e,     /* XK_period:       period                          */
00529     0x1169,     /* XK_slash:        jungseong o                     */
00530     0x110f,     /* XK_0:            choseong  khieukh               */
00531     0x11c2,     /* XK_1:            jongseong hieuh                 */
00532     0x11bb,     /* XK_2:            jongseong ssangsios             */
00533     0x11b8,     /* XK_3:            jongseong pieup                 */
00534     0x116d,     /* XK_4:            jungseong yo                    */
00535     0x1172,     /* XK_5:            jungseong yu                    */
00536     0x1163,     /* XK_6:            jungseong ya                    */
00537     0x1168,     /* XK_7:            jungseong ye                    */
00538     0x1174,     /* XK_8:            jungseong yi                    */
00539     0x116e,     /* XK_9:            jungseong u                     */
00540     0x003a,     /* XK_colon:        colon                           */
00541     0x1107,     /* XK_semicolon:    choseong  pieup                 */
00542     0x113c,     /* XK_less:         choseong chitueumsios           */
00543     0x003d,     /* XK_equal:        euals sign                      */
00544     0x113e,     /* XK_greater:      choseong ceongchieumsios        */
00545     0x003f,     /* XK_question:     question mark                   */
00546     0x11eb,     /* XK_at:           jongseong pansios               */
00547     0x11ae,     /* XK_A:            jongseong tikeut                */
00548     0x116e,     /* XK_B:            jungseong u                     */
00549     0x11b1,     /* XK_C:            jongseong rieul-mieum           */
00550     0x11b0,     /* XK_D:            jongseong rieul-kiyeok          */
00551     0x11bf,     /* XK_E:            jongseong khieukh               */
00552     0x11a9,     /* XK_F:            jongseong ssangkiyeok           */
00553     0x119e,     /* XK_G:            jungseong araea                 */
00554     0x1102,     /* XK_H:            choseong nieun                  */
00555     0x1154,     /* XK_I:            choseong chitueumchieuch        */
00556     0x114c,     /* XK_J:            choseong yesieung               */
00557     0x114e,     /* XK_K:            choseong chitueumcieuc          */
00558     0x1150,     /* XK_L:            choseong ceongchieumcieuc       */
00559     0x1159,     /* XK_M:            choseong yeorinhieuh            */
00560     0x1140,     /* XK_N:            choseong pansios                */
00561     0x1155,     /* XK_O:            choseong ceongchieumchieuch     */
00562     0x1111,     /* XK_P:            choseong phieuph                */
00563     0x11c1,     /* XK_Q:            jongseong phieuph               */
00564     0x1164,     /* XK_R:            jungseong yae                   */
00565     0x11ad,     /* XK_S:            jongseong nieun-hieuh           */
00566     0x1165,     /* XK_T:            jungseong eo                    */
00567     0x302e,     /* XK_U:            single dot tone mark            */
00568     0x11b6,     /* XK_V:            jongseong rieul-hieuh           */
00569     0x11c0,     /* XK_W:            jongseong thikeuth              */
00570     0x11b9,     /* XK_X:            jongseong pieup-sios            */
00571     0x302f,     /* XK_Y:            double dot tone mark            */
00572     0x11be,     /* XK_Z:            jongseong chieuch               */
00573     0x005b,     /* XK_bracketleft:  left bracket                    */
00574     0x005c,     /* XK_backslash:    backslash                       */
00575     0x005d,     /* XK_bracketright: right bracket                   */
00576     0x005e,     /* XK_asciicircum:  circumflex accent               */
00577     0x005f,     /* XK_underscore:   underscore                      */
00578     0x11f9,     /* XK_quoteleft:    jongseong yeorinhieuh           */
00579     0x11bc,     /* XK_a:            jongseong ieung                 */
00580     0x116e,     /* XK_b:            jungseong u                     */
00581     0x1166,     /* XK_c:            jungseong e                     */
00582     0x1175,     /* XK_d:            jungseong i                     */
00583     0x1167,     /* XK_e:            jungseong yeo                   */
00584     0x1161,     /* XK_f:            jungseong a                     */
00585     0x1173,     /* XK_g:            jungseong eu                    */
00586     0x1102,     /* XK_h:            choseong  nieun                 */
00587     0x1106,     /* XK_i:            choseong  mieum                 */
00588     0x110b,     /* XK_j:            choseong  ieung                 */
00589     0x1100,     /* XK_k:            choseong  kiyeok                */
00590     0x110c,     /* XK_l:            choseong  cieuc                 */
00591     0x1112,     /* XK_m:            choseong  hieuh                 */
00592     0x1109,     /* XK_n:            choseong  sios                  */
00593     0x110e,     /* XK_o:            choseong  chieuch               */
00594     0x1111,     /* XK_p:            choseong  phieuph               */
00595     0x11ba,     /* XK_q:            jongseong sios                  */
00596     0x1162,     /* XK_r:            jungseong ae                    */
00597     0x11ab,     /* XK_s:            jongseong nieun                 */
00598     0x1165,     /* XK_t:            jungseong eo                    */
00599     0x1103,     /* XK_u:            choseong  tikeut                */
00600     0x1169,     /* XK_v:            jungseong o                     */
00601     0x11af,     /* XK_w:            jongseong rieul                 */
00602     0x11a8,     /* XK_x:            jongseong kiyeok                */
00603     0x1105,     /* XK_y:            choseong  rieul                 */
00604     0x11b7,     /* XK_z:            jongseong mieum                 */
00605     0x007b,     /* XK_braceleft:    left brace                      */
00606     0x007c,     /* XK_bar:          vertical line(bar)              */
00607     0x007d,     /* XK_braceright:   right brace                     */
00608     0x11f0,     /* XK_asciitilde:   jongseong yesieung              */
00609 };
00610 
00611 /* vim: set ts=8 sw=4 et : */