Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

scim_event.h

Go to the documentation of this file.
00001 /**
00002  * @file scim_event.h
00003  * @brief Defines the scim::KeyEvent class and related enums, functions.
00004  */
00005 
00006 /* 
00007  * Smart Common Input Method
00008  * 
00009  * Copyright (c) 2004 James Su <suzhe@turbolinux.com.cn>
00010  * Copyright (c) 2003 James Su <suzhe@turbolinux.com.cn>
00011  * Copyright (c) 2002 James Su <suzhe@turbolinux.com.cn>
00012  *
00013  *
00014  * This library is free software; you can redistribute it and/or
00015  * modify it under the terms of the GNU Lesser General Public
00016  * License as published by the Free Software Foundation; either
00017  * version 2 of the License, or (at your option) any later version.
00018  *
00019  * This library is distributed in the hope that it will be useful,
00020  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00022  * GNU Lesser General Public License for more details.
00023  *
00024  * You should have received a copy of the GNU Lesser General Public
00025  * License along with this program; if not, write to the
00026  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
00027  * Boston, MA  02111-1307  USA
00028  *
00029  * $Id: scim_event.h,v 1.17 2004/08/04 14:58:03 suzhe Exp $
00030  */
00031 
00032 #ifndef __SCIM_EVENT_H
00033 #define __SCIM_EVENT_H
00034 
00035 namespace scim {
00036 
00037 /**
00038  * @addtogroup Helper
00039  * @{
00040  */
00041 
00042 /**
00043  * @brief Enum values of all valid key masks.
00044  *
00045  * The key masks indicate which modifier keys
00046  * is pressed down during the keyboard hit.
00047  *
00048  * The special SCIM_KEY_ReleaseMask indicates
00049  * the key release event.
00050  */
00051 enum KeyMask
00052 {
00053     SCIM_KEY_NullMask     = 0,        /**< Key press event without modifier key. */
00054     SCIM_KEY_ShiftMask   = (1<<0),    /**< The shift key is pressed down */
00055     SCIM_KEY_LockMask    = (1<<1),    /**< The lock key is pressed down */
00056     SCIM_KEY_CapsLockMask= (1<<1),    /**< The caps lock key is pressed down */
00057     SCIM_KEY_ControlMask = (1<<2),    /**< The ctrl key is pressed down */
00058     SCIM_KEY_AltMask     = (1<<3),    /**< The alt key is pressed down */
00059     SCIM_KEY_Mod1Mask    = (1<<3),    /**< The mod1 key is pressed down */
00060     SCIM_KEY_Mod2Mask    = (1<<4),    /**< The mod2 key is pressed down */
00061     SCIM_KEY_NumLockMask = (1<<4),    /**< The num lock key is pressed down */
00062     SCIM_KEY_Mod3Mask    = (1<<5),    /**< The mod3 key is pressed down */
00063     SCIM_KEY_Mod4Mask    = (1<<6),    /**< The mod4 key is pressed down */
00064     SCIM_KEY_Mod5Mask    = (1<<7),    /**< The mod5 key is pressed down */
00065     SCIM_KEY_ScrollLockMask = (1<<7), /**< The scroll lock key is pressed down */
00066     SCIM_KEY_ReleaseMask = (1<<30)    /**< It's a key release event */
00067 };
00068 
00069 /**
00070  * @brief Enum values of all valid key codes.
00071  *
00072  * If keycode & 0xff000000 == 0x01000000 then this key code is directly encoded 24-bit UCS character.
00073  * The UCS value is keycode & 0x00ffffff.
00074  */
00075 enum KeyCode
00076 {
00077     SCIM_KEY_NullKey                            = 0,
00078     SCIM_KEY_VoidSymbol                         = 0xFFFFFF,
00079 
00080     /* function keys */
00081     SCIM_KEY_BackSpace                          = 0xFF08,    /* back space, back char */
00082     SCIM_KEY_Tab                                = 0xFF09,
00083     SCIM_KEY_Linefeed                           = 0xFF0A,    /* Linefeed, LF */
00084     SCIM_KEY_Clear                              = 0xFF0B,
00085     SCIM_KEY_Return                             = 0xFF0D,    /* Return, enter */
00086     SCIM_KEY_Pause                              = 0xFF13,    /* Pause, hold */
00087     SCIM_KEY_Scroll_Lock                        = 0xFF14,
00088     SCIM_KEY_Sys_Req                            = 0xFF15,
00089     SCIM_KEY_Escape                             = 0xFF1B,
00090     SCIM_KEY_Delete                             = 0xFFFF,    /* Delete, rubout */
00091 
00092     /* International & multi-key character composition */
00093     SCIM_KEY_Multi_key                          = 0xFF20,    /* Multi-key character compose */
00094     SCIM_KEY_Codeinput                          = 0xFF37,
00095     SCIM_KEY_SingleCandidate                    = 0xFF3C,
00096     SCIM_KEY_MultipleCandidate                  = 0xFF3D,
00097     SCIM_KEY_PreviousCandidate                  = 0xFF3E,
00098 
00099     /* Japanese keyboard support */
00100     SCIM_KEY_Kanji                              = 0xFF21,    /* Kanji, Kanji convert */
00101     SCIM_KEY_Muhenkan                           = 0xFF22,    /* Cancel Conversion */
00102     SCIM_KEY_Henkan_Mode                        = 0xFF23,    /* Start/Stop Conversion */
00103     SCIM_KEY_Henkan                             = 0xFF23,    /* Alias for Henkan_Mode */
00104     SCIM_KEY_Romaji                             = 0xFF24,    /* to Romaji */
00105     SCIM_KEY_Hiragana                           = 0xFF25,    /* to Hiragana */
00106     SCIM_KEY_Katakana                           = 0xFF26,    /* to Katakana */
00107     SCIM_KEY_Hiragana_Katakana                  = 0xFF27, /* Hiragana/Katakana toggle */
00108     SCIM_KEY_Zenkaku                            = 0xFF28,    /* to Zenkaku */
00109     SCIM_KEY_Hankaku                            = 0xFF29,    /* to Hankaku */
00110     SCIM_KEY_Zenkaku_Hankaku                    = 0xFF2A, /* Zenkaku/Hankaku toggle */
00111     SCIM_KEY_Touroku                            = 0xFF2B,    /* Add to Dictionary */
00112     SCIM_KEY_Massyo                             = 0xFF2C,    /* Delete from Dictionary */
00113     SCIM_KEY_Kana_Lock                          = 0xFF2D,    /* Kana Lock */
00114     SCIM_KEY_Kana_Shift                         = 0xFF2E,    /* Kana Shift */
00115     SCIM_KEY_Eisu_Shift                         = 0xFF2F,    /* Alphanumeric Shift */
00116     SCIM_KEY_Eisu_toggle                        = 0xFF30,    /* Alphanumeric toggle */
00117     SCIM_KEY_Kanji_Bangou                       = 0xFF37,   /* Codeinput */
00118     SCIM_KEY_Zen_Koho                           = 0xFF3D,    /* Multiple/All Candidate(s) */
00119     SCIM_KEY_Mae_Koho                           = 0xFF3E,    /* Previous Candidate */
00120 
00121     /* Cursor control & motion */
00122     SCIM_KEY_Home                               = 0xFF50,
00123     SCIM_KEY_Left                               = 0xFF51,    /* Move left, left arrow */
00124     SCIM_KEY_Up                                 = 0xFF52,    /* Move up, up arrow */
00125     SCIM_KEY_Right                              = 0xFF53,    /* Move right, right arrow */
00126     SCIM_KEY_Down                               = 0xFF54,    /* Move down, down arrow */
00127     SCIM_KEY_Prior                              = 0xFF55,    /* Prior, previous */
00128     SCIM_KEY_Page_Up                            = 0xFF55,
00129     SCIM_KEY_Next                               = 0xFF56,    /* Next */
00130     SCIM_KEY_Page_Down                          = 0xFF56,
00131     SCIM_KEY_End                                = 0xFF57,    /* EOL */
00132     SCIM_KEY_Begin                              = 0xFF58,    /* BOL */
00133 
00134     /* Misc Functions */
00135     SCIM_KEY_Select                             = 0xFF60,    /* Select, mark */
00136     SCIM_KEY_Print                              = 0xFF61,
00137     SCIM_KEY_Execute                            = 0xFF62,    /* Execute, run, do */
00138     SCIM_KEY_Insert                             = 0xFF63,    /* Insert, insert here */
00139     SCIM_KEY_Undo                               = 0xFF65,    /* Undo, oops */
00140     SCIM_KEY_Redo                               = 0xFF66,    /* redo, again */
00141     SCIM_KEY_Menu                               = 0xFF67,
00142     SCIM_KEY_Find                               = 0xFF68,    /* Find, search */
00143     SCIM_KEY_Cancel                             = 0xFF69,    /* Cancel, stop, abort, exit */
00144     SCIM_KEY_Help                               = 0xFF6A,    /* Help */
00145     SCIM_KEY_Break                              = 0xFF6B,
00146     SCIM_KEY_Mode_switch                        = 0xFF7E,    /* Character set switch */
00147     SCIM_KEY_Num_Lock                           = 0xFF7F,
00148 
00149     /* keypad */
00150     SCIM_KEY_KP_Space                           = 0xFF80,    /* space */
00151     SCIM_KEY_KP_Tab                             = 0xFF89,
00152     SCIM_KEY_KP_Enter                           = 0xFF8D,    /* enter */
00153     SCIM_KEY_KP_F1                              = 0xFF91,    /* PF1, KP_A, ... */
00154     SCIM_KEY_KP_F2                              = 0xFF92,
00155     SCIM_KEY_KP_F3                              = 0xFF93,
00156     SCIM_KEY_KP_F4                              = 0xFF94,
00157     SCIM_KEY_KP_Home                            = 0xFF95,
00158     SCIM_KEY_KP_Left                            = 0xFF96,
00159     SCIM_KEY_KP_Up                              = 0xFF97,
00160     SCIM_KEY_KP_Right                           = 0xFF98,
00161     SCIM_KEY_KP_Down                            = 0xFF99,
00162     SCIM_KEY_KP_Prior                           = 0xFF9A,
00163     SCIM_KEY_KP_Page_Up                         = 0xFF9A,
00164     SCIM_KEY_KP_Next                            = 0xFF9B,
00165     SCIM_KEY_KP_Page_Down                       = 0xFF9B,
00166     SCIM_KEY_KP_End                             = 0xFF9C,
00167     SCIM_KEY_KP_Begin                           = 0xFF9D,
00168     SCIM_KEY_KP_Insert                          = 0xFF9E,
00169     SCIM_KEY_KP_Delete                          = 0xFF9F,
00170     SCIM_KEY_KP_Equal                           = 0xFFBD,   /* equals */
00171     SCIM_KEY_KP_Multiply                        = 0xFFAA,
00172     SCIM_KEY_KP_Add                             = 0xFFAB,
00173     SCIM_KEY_KP_Separator                       = 0xFFAC,   /* separator, often comma */
00174     SCIM_KEY_KP_Subtract                        = 0xFFAD,
00175     SCIM_KEY_KP_Decimal                         = 0xFFAE,
00176     SCIM_KEY_KP_Divide                          = 0xFFAF,
00177 
00178     SCIM_KEY_KP_0                               = 0xFFB0,
00179     SCIM_KEY_KP_1                               = 0xFFB1,
00180     SCIM_KEY_KP_2                               = 0xFFB2,
00181     SCIM_KEY_KP_3                               = 0xFFB3,
00182     SCIM_KEY_KP_4                               = 0xFFB4,
00183     SCIM_KEY_KP_5                               = 0xFFB5,
00184     SCIM_KEY_KP_6                               = 0xFFB6,
00185     SCIM_KEY_KP_7                               = 0xFFB7,
00186     SCIM_KEY_KP_8                               = 0xFFB8,
00187     SCIM_KEY_KP_9                               = 0xFFB9,
00188 
00189     /* Auxilliary Functions */
00190     SCIM_KEY_F1                                 = 0xFFBE,
00191     SCIM_KEY_F2                                 = 0xFFBF,
00192     SCIM_KEY_F3                                 = 0xFFC0,
00193     SCIM_KEY_F4                                 = 0xFFC1,
00194     SCIM_KEY_F5                                 = 0xFFC2,
00195     SCIM_KEY_F6                                 = 0xFFC3,
00196     SCIM_KEY_F7                                 = 0xFFC4,
00197     SCIM_KEY_F8                                 = 0xFFC5,
00198     SCIM_KEY_F9                                 = 0xFFC6,
00199     SCIM_KEY_F10                                = 0xFFC7,
00200     SCIM_KEY_F11                                = 0xFFC8,
00201     SCIM_KEY_F12                                = 0xFFC9,
00202     SCIM_KEY_F13                                = 0xFFCA,
00203     SCIM_KEY_F14                                = 0xFFCB,
00204     SCIM_KEY_F15                                = 0xFFCC,
00205     SCIM_KEY_F16                                = 0xFFCD,
00206     SCIM_KEY_F17                                = 0xFFCE,
00207     SCIM_KEY_F18                                = 0xFFCF,
00208     SCIM_KEY_F19                                = 0xFFD0,
00209     SCIM_KEY_F20                                = 0xFFD1,
00210     SCIM_KEY_F21                                = 0xFFD2,
00211     SCIM_KEY_F22                                = 0xFFD3,
00212     SCIM_KEY_F23                                = 0xFFD4,
00213     SCIM_KEY_F24                                = 0xFFD5,
00214     SCIM_KEY_F25                                = 0xFFD6,
00215     SCIM_KEY_F26                                = 0xFFD7,
00216     SCIM_KEY_F27                                = 0xFFD8,
00217     SCIM_KEY_F28                                = 0xFFD9,
00218     SCIM_KEY_F29                                = 0xFFDA,
00219     SCIM_KEY_F30                                = 0xFFDB,
00220     SCIM_KEY_F31                                = 0xFFDC,
00221     SCIM_KEY_F32                                = 0xFFDD,
00222     SCIM_KEY_F33                                = 0xFFDE,
00223     SCIM_KEY_F34                                = 0xFFDF,
00224     SCIM_KEY_F35                                = 0xFFE0,
00225 
00226     /* modifier keys */
00227     SCIM_KEY_Shift_L                            = 0xFFE1,    /* Left shift */
00228     SCIM_KEY_Shift_R                            = 0xFFE2,    /* Right shift */
00229     SCIM_KEY_Control_L                          = 0xFFE3,    /* Left control */
00230     SCIM_KEY_Control_R                          = 0xFFE4,    /* Right control */
00231     SCIM_KEY_Caps_Lock                          = 0xFFE5,    /* Caps lock */
00232     SCIM_KEY_Shift_Lock                         = 0xFFE6,    /* Shift lock */
00233 
00234     SCIM_KEY_Meta_L                             = 0xFFE7,    /* Left meta */
00235     SCIM_KEY_Meta_R                             = 0xFFE8,    /* Right meta */
00236     SCIM_KEY_Alt_L                              = 0xFFE9,    /* Left alt */
00237     SCIM_KEY_Alt_R                              = 0xFFEA,    /* Right alt */
00238     SCIM_KEY_Super_L                            = 0xFFEB,    /* Left super */
00239     SCIM_KEY_Super_R                            = 0xFFEC,    /* Right super */
00240     SCIM_KEY_Hyper_L                            = 0xFFED,    /* Left hyper */
00241     SCIM_KEY_Hyper_R                            = 0xFFEE,    /* Right hyper */
00242 
00243     /*
00244      * ISO 9995 Function and Modifier Keys
00245      * Byte 3 = 0xFE
00246      */
00247 
00248     SCIM_KEY_ISO_Lock                           = 0xFE01,
00249     SCIM_KEY_ISO_Level2_Latch                   = 0xFE02,
00250     SCIM_KEY_ISO_Level3_Shift                   = 0xFE03,
00251     SCIM_KEY_ISO_Level3_Latch                   = 0xFE04,
00252     SCIM_KEY_ISO_Level3_Lock                    = 0xFE05,
00253     SCIM_KEY_ISO_Group_Shift                    = 0xFF7E,    /* Alias for mode_switch */
00254     SCIM_KEY_ISO_Group_Latch                    = 0xFE06,
00255     SCIM_KEY_ISO_Group_Lock                     = 0xFE07,
00256     SCIM_KEY_ISO_Next_Group                     = 0xFE08,
00257     SCIM_KEY_ISO_Next_Group_Lock                = 0xFE09,
00258     SCIM_KEY_ISO_Prev_Group                     = 0xFE0A,
00259     SCIM_KEY_ISO_Prev_Group_Lock                = 0xFE0B,
00260     SCIM_KEY_ISO_First_Group                    = 0xFE0C,
00261     SCIM_KEY_ISO_First_Group_Lock               = 0xFE0D,
00262     SCIM_KEY_ISO_Last_Group                     = 0xFE0E,
00263     SCIM_KEY_ISO_Last_Group_Lock                = 0xFE0F,
00264 
00265     SCIM_KEY_ISO_Left_Tab                       = 0xFE20,
00266     SCIM_KEY_ISO_Move_Line_Up                   = 0xFE21,
00267     SCIM_KEY_ISO_Move_Line_Down                 = 0xFE22,
00268     SCIM_KEY_ISO_Partial_Line_Up                = 0xFE23,
00269     SCIM_KEY_ISO_Partial_Line_Down              = 0xFE24,
00270     SCIM_KEY_ISO_Partial_Space_Left             = 0xFE25,
00271     SCIM_KEY_ISO_Partial_Space_Right            = 0xFE26,
00272     SCIM_KEY_ISO_Set_Margin_Left                = 0xFE27,
00273     SCIM_KEY_ISO_Set_Margin_Right               = 0xFE28,
00274     SCIM_KEY_ISO_Release_Margin_Left            = 0xFE29,
00275     SCIM_KEY_ISO_Release_Margin_Right           = 0xFE2A,
00276     SCIM_KEY_ISO_Release_Both_Margins           = 0xFE2B,
00277     SCIM_KEY_ISO_Fast_Cursor_Left               = 0xFE2C,
00278     SCIM_KEY_ISO_Fast_Cursor_Right              = 0xFE2D,
00279     SCIM_KEY_ISO_Fast_Cursor_Up                 = 0xFE2E,
00280     SCIM_KEY_ISO_Fast_Cursor_Down               = 0xFE2F,
00281     SCIM_KEY_ISO_Continuous_Underline           = 0xFE30,
00282     SCIM_KEY_ISO_Discontinuous_Underline        = 0xFE31,
00283     SCIM_KEY_ISO_Emphasize                      = 0xFE32,
00284     SCIM_KEY_ISO_Center_Object                  = 0xFE33,
00285     SCIM_KEY_ISO_Enter                          = 0xFE34,
00286 
00287     SCIM_KEY_dead_grave                         = 0xFE50,
00288     SCIM_KEY_dead_acute                         = 0xFE51,
00289     SCIM_KEY_dead_circumflex                    = 0xFE52,
00290     SCIM_KEY_dead_tilde                         = 0xFE53,
00291     SCIM_KEY_dead_macron                        = 0xFE54,
00292     SCIM_KEY_dead_breve                         = 0xFE55,
00293     SCIM_KEY_dead_abovedot                      = 0xFE56,
00294     SCIM_KEY_dead_diaeresis                     = 0xFE57,
00295     SCIM_KEY_dead_abovering                     = 0xFE58,
00296     SCIM_KEY_dead_doubleacute                   = 0xFE59,
00297     SCIM_KEY_dead_caron                         = 0xFE5A,
00298     SCIM_KEY_dead_cedilla                       = 0xFE5B,
00299     SCIM_KEY_dead_ogonek                        = 0xFE5C,
00300     SCIM_KEY_dead_iota                          = 0xFE5D,
00301     SCIM_KEY_dead_voiced_sound                  = 0xFE5E,
00302     SCIM_KEY_dead_semivoiced_sound              = 0xFE5F,
00303     SCIM_KEY_dead_belowdot                      = 0xFE60,
00304     SCIM_KEY_dead_hook                          = 0xFE61,
00305     SCIM_KEY_dead_horn                          = 0xFE62,
00306 
00307     SCIM_KEY_First_Virtual_Screen               = 0xFED0,
00308     SCIM_KEY_Prev_Virtual_Screen                = 0xFED1,
00309     SCIM_KEY_Next_Virtual_Screen                = 0xFED2,
00310     SCIM_KEY_Last_Virtual_Screen                = 0xFED4,
00311     SCIM_KEY_Terminate_Server                   = 0xFED5,
00312 
00313     SCIM_KEY_AccessX_Enable                     = 0xFE70,
00314     SCIM_KEY_AccessX_Feedback_Enable            = 0xFE71,
00315     SCIM_KEY_RepeatKeys_Enable                  = 0xFE72,
00316     SCIM_KEY_SlowKeys_Enable                    = 0xFE73,
00317     SCIM_KEY_BounceKeys_Enable                  = 0xFE74,
00318     SCIM_KEY_StickyKeys_Enable                  = 0xFE75,
00319     SCIM_KEY_MouseKeys_Enable                   = 0xFE76,
00320     SCIM_KEY_MouseKeys_Accel_Enable             = 0xFE77,
00321     SCIM_KEY_Overlay1_Enable                    = 0xFE78,
00322     SCIM_KEY_Overlay2_Enable                    = 0xFE79,
00323     SCIM_KEY_AudibleBell_Enable                 = 0xFE7A,
00324 
00325     SCIM_KEY_Pointer_Left                       = 0xFEE0,
00326     SCIM_KEY_Pointer_Right                      = 0xFEE1,
00327     SCIM_KEY_Pointer_Up                         = 0xFEE2,
00328     SCIM_KEY_Pointer_Down                       = 0xFEE3,
00329     SCIM_KEY_Pointer_UpLeft                     = 0xFEE4,
00330     SCIM_KEY_Pointer_UpRight                    = 0xFEE5,
00331     SCIM_KEY_Pointer_DownLeft                   = 0xFEE6,
00332     SCIM_KEY_Pointer_DownRight                  = 0xFEE7,
00333     SCIM_KEY_Pointer_Button_Dflt                = 0xFEE8,
00334     SCIM_KEY_Pointer_Button1                    = 0xFEE9,
00335     SCIM_KEY_Pointer_Button2                    = 0xFEEA,
00336     SCIM_KEY_Pointer_Button3                    = 0xFEEB,
00337     SCIM_KEY_Pointer_Button4                    = 0xFEEC,
00338     SCIM_KEY_Pointer_Button5                    = 0xFEED,
00339     SCIM_KEY_Pointer_DblClick_Dflt              = 0xFEEE,
00340     SCIM_KEY_Pointer_DblClick1                  = 0xFEEF,
00341     SCIM_KEY_Pointer_DblClick2                  = 0xFEF0,
00342     SCIM_KEY_Pointer_DblClick3                  = 0xFEF1,
00343     SCIM_KEY_Pointer_DblClick4                  = 0xFEF2,
00344     SCIM_KEY_Pointer_DblClick5                  = 0xFEF3,
00345     SCIM_KEY_Pointer_Drag_Dflt                  = 0xFEF4,
00346     SCIM_KEY_Pointer_Drag1                      = 0xFEF5,
00347     SCIM_KEY_Pointer_Drag2                      = 0xFEF6,
00348     SCIM_KEY_Pointer_Drag3                      = 0xFEF7,
00349     SCIM_KEY_Pointer_Drag4                      = 0xFEF8,
00350     SCIM_KEY_Pointer_Drag5                      = 0xFEFD,
00351 
00352     SCIM_KEY_Pointer_EnableKeys                 = 0xFEF9,
00353     SCIM_KEY_Pointer_Accelerate                 = 0xFEFA,
00354     SCIM_KEY_Pointer_DfltBtnNext                = 0xFEFB,
00355     SCIM_KEY_Pointer_DfltBtnPrev                = 0xFEFC,
00356 
00357     /*
00358      * 3270 Terminal Keys
00359      * Byte 3 = 0xFD
00360      */
00361     SCIM_KEY_3270_Duplicate                     = 0xFD01,
00362     SCIM_KEY_3270_FieldMark                     = 0xFD02,
00363     SCIM_KEY_3270_Right2                        = 0xFD03,
00364     SCIM_KEY_3270_Left2                         = 0xFD04,
00365     SCIM_KEY_3270_BackTab                       = 0xFD05,
00366     SCIM_KEY_3270_EraseEOF                      = 0xFD06,
00367     SCIM_KEY_3270_EraseInput                    = 0xFD07,
00368     SCIM_KEY_3270_Reset                         = 0xFD08,
00369     SCIM_KEY_3270_Quit                          = 0xFD09,
00370     SCIM_KEY_3270_PA1                           = 0xFD0A,
00371     SCIM_KEY_3270_PA2                           = 0xFD0B,
00372     SCIM_KEY_3270_PA3                           = 0xFD0C,
00373     SCIM_KEY_3270_Test                          = 0xFD0D,
00374     SCIM_KEY_3270_Attn                          = 0xFD0E,
00375     SCIM_KEY_3270_CursorBlink                   = 0xFD0F,
00376     SCIM_KEY_3270_AltCursor                     = 0xFD10,
00377     SCIM_KEY_3270_KeyClick                      = 0xFD11,
00378     SCIM_KEY_3270_Jump                          = 0xFD12,
00379     SCIM_KEY_3270_Ident                         = 0xFD13,
00380     SCIM_KEY_3270_Rule                          = 0xFD14,
00381     SCIM_KEY_3270_Copy                          = 0xFD15,
00382     SCIM_KEY_3270_Play                          = 0xFD16,
00383     SCIM_KEY_3270_Setup                         = 0xFD17,
00384     SCIM_KEY_3270_Record                        = 0xFD18,
00385     SCIM_KEY_3270_ChangeScreen                  = 0xFD19,
00386     SCIM_KEY_3270_DeleteWord                    = 0xFD1A,
00387     SCIM_KEY_3270_ExSelect                      = 0xFD1B,
00388     SCIM_KEY_3270_CursorSelect                  = 0xFD1C,
00389     SCIM_KEY_3270_PrintScreen                   = 0xFD1D,
00390     SCIM_KEY_3270_Enter                         = 0xFD1E,
00391 
00392     /* Latin 1 */
00393     SCIM_KEY_space                              = 0x020,
00394     SCIM_KEY_exclam                             = 0x021,
00395     SCIM_KEY_quotedbl                           = 0x022,
00396     SCIM_KEY_numbersign                         = 0x023,
00397     SCIM_KEY_dollar                             = 0x024,
00398     SCIM_KEY_percent                            = 0x025,
00399     SCIM_KEY_ampersand                          = 0x026,
00400     SCIM_KEY_apostrophe                         = 0x027,
00401     SCIM_KEY_quoteright                         = 0x027,    /* deprecated */
00402     SCIM_KEY_parenleft                          = 0x028,
00403     SCIM_KEY_parenright                         = 0x029,
00404     SCIM_KEY_asterisk                           = 0x02a,
00405     SCIM_KEY_plus                               = 0x02b,
00406     SCIM_KEY_comma                              = 0x02c,
00407     SCIM_KEY_minus                              = 0x02d,
00408     SCIM_KEY_period                             = 0x02e,
00409     SCIM_KEY_slash                              = 0x02f,
00410     SCIM_KEY_0                                  = 0x030,
00411     SCIM_KEY_1                                  = 0x031,
00412     SCIM_KEY_2                                  = 0x032,
00413     SCIM_KEY_3                                  = 0x033,
00414     SCIM_KEY_4                                  = 0x034,
00415     SCIM_KEY_5                                  = 0x035,
00416     SCIM_KEY_6                                  = 0x036,
00417     SCIM_KEY_7                                  = 0x037,
00418     SCIM_KEY_8                                  = 0x038,
00419     SCIM_KEY_9                                  = 0x039,
00420     SCIM_KEY_colon                              = 0x03a,
00421     SCIM_KEY_semicolon                          = 0x03b,
00422     SCIM_KEY_less                               = 0x03c,
00423     SCIM_KEY_equal                              = 0x03d,
00424     SCIM_KEY_greater                            = 0x03e,
00425     SCIM_KEY_question                           = 0x03f,
00426     SCIM_KEY_at                                 = 0x040,
00427     SCIM_KEY_A                                  = 0x041,
00428     SCIM_KEY_B                                  = 0x042,
00429     SCIM_KEY_C                                  = 0x043,
00430     SCIM_KEY_D                                  = 0x044,
00431     SCIM_KEY_E                                  = 0x045,
00432     SCIM_KEY_F                                  = 0x046,
00433     SCIM_KEY_G                                  = 0x047,
00434     SCIM_KEY_H                                  = 0x048,
00435     SCIM_KEY_I                                  = 0x049,
00436     SCIM_KEY_J                                  = 0x04a,
00437     SCIM_KEY_K                                  = 0x04b,
00438     SCIM_KEY_L                                  = 0x04c,
00439     SCIM_KEY_M                                  = 0x04d,
00440     SCIM_KEY_N                                  = 0x04e,
00441     SCIM_KEY_O                                  = 0x04f,
00442     SCIM_KEY_P                                  = 0x050,
00443     SCIM_KEY_Q                                  = 0x051,
00444     SCIM_KEY_R                                  = 0x052,
00445     SCIM_KEY_S                                  = 0x053,
00446     SCIM_KEY_T                                  = 0x054,
00447     SCIM_KEY_U                                  = 0x055,
00448     SCIM_KEY_V                                  = 0x056,
00449     SCIM_KEY_W                                  = 0x057,
00450     SCIM_KEY_X                                  = 0x058,
00451     SCIM_KEY_Y                                  = 0x059,
00452     SCIM_KEY_Z                                  = 0x05a,
00453     SCIM_KEY_bracketleft                        = 0x05b,
00454     SCIM_KEY_backslash                          = 0x05c,
00455     SCIM_KEY_bracketright                       = 0x05d,
00456     SCIM_KEY_asciicircum                        = 0x05e,
00457     SCIM_KEY_underscore                         = 0x05f,
00458     SCIM_KEY_grave                              = 0x060,
00459     SCIM_KEY_a                                  = 0x061,
00460     SCIM_KEY_b                                  = 0x062,
00461     SCIM_KEY_c                                  = 0x063,
00462     SCIM_KEY_d                                  = 0x064,
00463     SCIM_KEY_e                                  = 0x065,
00464     SCIM_KEY_f                                  = 0x066,
00465     SCIM_KEY_g                                  = 0x067,
00466     SCIM_KEY_h                                  = 0x068,
00467     SCIM_KEY_i                                  = 0x069,
00468     SCIM_KEY_j                                  = 0x06a,
00469     SCIM_KEY_k                                  = 0x06b,
00470     SCIM_KEY_l                                  = 0x06c,
00471     SCIM_KEY_m                                  = 0x06d,
00472     SCIM_KEY_n                                  = 0x06e,
00473     SCIM_KEY_o                                  = 0x06f,
00474     SCIM_KEY_p                                  = 0x070,
00475     SCIM_KEY_q                                  = 0x071,
00476     SCIM_KEY_r                                  = 0x072,
00477     SCIM_KEY_s                                  = 0x073,
00478     SCIM_KEY_t                                  = 0x074,
00479     SCIM_KEY_u                                  = 0x075,
00480     SCIM_KEY_v                                  = 0x076,
00481     SCIM_KEY_w                                  = 0x077,
00482     SCIM_KEY_x                                  = 0x078,
00483     SCIM_KEY_y                                  = 0x079,
00484     SCIM_KEY_z                                  = 0x07a,
00485     SCIM_KEY_braceleft                          = 0x07b,
00486     SCIM_KEY_bar                                = 0x07c,
00487     SCIM_KEY_braceright                         = 0x07d,
00488     SCIM_KEY_asciitilde                         = 0x07e,
00489 
00490     SCIM_KEY_nobreakspace                       = 0x0a0,
00491     SCIM_KEY_exclamdown                         = 0x0a1,
00492     SCIM_KEY_cent                               = 0x0a2,
00493     SCIM_KEY_sterling                           = 0x0a3,
00494     SCIM_KEY_currency                           = 0x0a4,
00495     SCIM_KEY_yen                                = 0x0a5,
00496     SCIM_KEY_brokenbar                          = 0x0a6,
00497     SCIM_KEY_section                            = 0x0a7,
00498     SCIM_KEY_diaeresis                          = 0x0a8,
00499     SCIM_KEY_copyright                          = 0x0a9,
00500     SCIM_KEY_ordfeminine                        = 0x0aa,
00501     SCIM_KEY_guillemotleft                      = 0x0ab,     /* left angle quotation mark */
00502     SCIM_KEY_notsign                            = 0x0ac,
00503     SCIM_KEY_hyphen                             = 0x0ad,
00504     SCIM_KEY_registered                         = 0x0ae,
00505     SCIM_KEY_macron                             = 0x0af,
00506     SCIM_KEY_degree                             = 0x0b0,
00507     SCIM_KEY_plusminus                          = 0x0b1,
00508     SCIM_KEY_twosuperior                        = 0x0b2,
00509     SCIM_KEY_threesuperior                      = 0x0b3,
00510     SCIM_KEY_acute                              = 0x0b4,
00511     SCIM_KEY_mu                                 = 0x0b5,
00512     SCIM_KEY_paragraph                          = 0x0b6,
00513     SCIM_KEY_periodcentered                     = 0x0b7,
00514     SCIM_KEY_cedilla                            = 0x0b8,
00515     SCIM_KEY_onesuperior                        = 0x0b9,
00516     SCIM_KEY_masculine                          = 0x0ba,
00517     SCIM_KEY_guillemotright                     = 0x0bb,     /* right angle quotation mark */
00518     SCIM_KEY_onequarter                         = 0x0bc,
00519     SCIM_KEY_onehalf                            = 0x0bd,
00520     SCIM_KEY_threequarters                      = 0x0be,
00521     SCIM_KEY_questiondown                       = 0x0bf,
00522     SCIM_KEY_Agrave                             = 0x0c0,
00523     SCIM_KEY_Aacute                             = 0x0c1,
00524     SCIM_KEY_Acircumflex                        = 0x0c2,
00525     SCIM_KEY_Atilde                             = 0x0c3,
00526     SCIM_KEY_Adiaeresis                         = 0x0c4,
00527     SCIM_KEY_Aring                              = 0x0c5,
00528     SCIM_KEY_AE                                 = 0x0c6,
00529     SCIM_KEY_Ccedilla                           = 0x0c7,
00530     SCIM_KEY_Egrave                             = 0x0c8,
00531     SCIM_KEY_Eacute                             = 0x0c9,
00532     SCIM_KEY_Ecircumflex                        = 0x0ca,
00533     SCIM_KEY_Ediaeresis                         = 0x0cb,
00534     SCIM_KEY_Igrave                             = 0x0cc,
00535     SCIM_KEY_Iacute                             = 0x0cd,
00536     SCIM_KEY_Icircumflex                        = 0x0ce,
00537     SCIM_KEY_Idiaeresis                         = 0x0cf,
00538     SCIM_KEY_ETH                                = 0x0d0,
00539     SCIM_KEY_Eth                                = 0x0d0,     /* deprecated */
00540     SCIM_KEY_Ntilde                             = 0x0d1,
00541     SCIM_KEY_Ograve                             = 0x0d2,
00542     SCIM_KEY_Oacute                             = 0x0d3,
00543     SCIM_KEY_Ocircumflex                        = 0x0d4,
00544     SCIM_KEY_Otilde                             = 0x0d5,
00545     SCIM_KEY_Odiaeresis                         = 0x0d6,
00546     SCIM_KEY_multiply                           = 0x0d7,
00547     SCIM_KEY_Ooblique                           = 0x0d8,
00548     SCIM_KEY_Oslash                             = SCIM_KEY_Ooblique,
00549     SCIM_KEY_Ugrave                             = 0x0d9,
00550     SCIM_KEY_Uacute                             = 0x0da,
00551     SCIM_KEY_Ucircumflex                        = 0x0db,
00552     SCIM_KEY_Udiaeresis                         = 0x0dc,
00553     SCIM_KEY_Yacute                             = 0x0dd,
00554     SCIM_KEY_THORN                              = 0x0de,
00555     SCIM_KEY_Thorn                              = 0x0de,     /* deprecated */
00556     SCIM_KEY_ssharp                             = 0x0df,
00557     SCIM_KEY_agrave                             = 0x0e0,
00558     SCIM_KEY_aacute                             = 0x0e1,
00559     SCIM_KEY_acircumflex                        = 0x0e2,
00560     SCIM_KEY_atilde                             = 0x0e3,
00561     SCIM_KEY_adiaeresis                         = 0x0e4,
00562     SCIM_KEY_aring                              = 0x0e5,
00563     SCIM_KEY_ae                                 = 0x0e6,
00564     SCIM_KEY_ccedilla                           = 0x0e7,
00565     SCIM_KEY_egrave                             = 0x0e8,
00566     SCIM_KEY_eacute                             = 0x0e9,
00567     SCIM_KEY_ecircumflex                        = 0x0ea,
00568     SCIM_KEY_ediaeresis                         = 0x0eb,
00569     SCIM_KEY_igrave                             = 0x0ec,
00570     SCIM_KEY_iacute                             = 0x0ed,
00571     SCIM_KEY_icircumflex                        = 0x0ee,
00572     SCIM_KEY_idiaeresis                         = 0x0ef,
00573     SCIM_KEY_eth                                = 0x0f0,
00574     SCIM_KEY_ntilde                             = 0x0f1,
00575     SCIM_KEY_ograve                             = 0x0f2,
00576     SCIM_KEY_oacute                             = 0x0f3,
00577     SCIM_KEY_ocircumflex                        = 0x0f4,
00578     SCIM_KEY_otilde                             = 0x0f5,
00579     SCIM_KEY_odiaeresis                         = 0x0f6,
00580     SCIM_KEY_division                           = 0x0f7,
00581     SCIM_KEY_oslash                             = 0x0f8,
00582     SCIM_KEY_ooblique                           = SCIM_KEY_oslash,
00583     SCIM_KEY_ugrave                             = 0x0f9,
00584     SCIM_KEY_uacute                             = 0x0fa,
00585     SCIM_KEY_ucircumflex                        = 0x0fb,
00586     SCIM_KEY_udiaeresis                         = 0x0fc,
00587     SCIM_KEY_yacute                             = 0x0fd,
00588     SCIM_KEY_thorn                              = 0x0fe,
00589     SCIM_KEY_ydiaeresis                         = 0x0ff,
00590 
00591     /*
00592      *   Latin 2
00593      *   Byte 3 = 1
00594      */
00595     SCIM_KEY_Aogonek                            = 0x1a1,
00596     SCIM_KEY_breve                              = 0x1a2,
00597     SCIM_KEY_Lstroke                            = 0x1a3,
00598     SCIM_KEY_Lcaron                             = 0x1a5,
00599     SCIM_KEY_Sacute                             = 0x1a6,
00600     SCIM_KEY_Scaron                             = 0x1a9,
00601     SCIM_KEY_Scedilla                           = 0x1aa,
00602     SCIM_KEY_Tcaron                             = 0x1ab,
00603     SCIM_KEY_Zacute                             = 0x1ac,
00604     SCIM_KEY_Zcaron                             = 0x1ae,
00605     SCIM_KEY_Zabovedot                          = 0x1af,
00606     SCIM_KEY_aogonek                            = 0x1b1,
00607     SCIM_KEY_ogonek                             = 0x1b2,
00608     SCIM_KEY_lstroke                            = 0x1b3,
00609     SCIM_KEY_lcaron                             = 0x1b5,
00610     SCIM_KEY_sacute                             = 0x1b6,
00611     SCIM_KEY_caron                              = 0x1b7,
00612     SCIM_KEY_scaron                             = 0x1b9,
00613     SCIM_KEY_scedilla                           = 0x1ba,
00614     SCIM_KEY_tcaron                             = 0x1bb,
00615     SCIM_KEY_zacute                             = 0x1bc,
00616     SCIM_KEY_doubleacute                        = 0x1bd,
00617     SCIM_KEY_zcaron                             = 0x1be,
00618     SCIM_KEY_zabovedot                          = 0x1bf,
00619     SCIM_KEY_Racute                             = 0x1c0,
00620     SCIM_KEY_Abreve                             = 0x1c3,
00621     SCIM_KEY_Lacute                             = 0x1c5,
00622     SCIM_KEY_Cacute                             = 0x1c6,
00623     SCIM_KEY_Ccaron                             = 0x1c8,
00624     SCIM_KEY_Eogonek                            = 0x1ca,
00625     SCIM_KEY_Ecaron                             = 0x1cc,
00626     SCIM_KEY_Dcaron                             = 0x1cf,
00627     SCIM_KEY_Dstroke                            = 0x1d0,
00628     SCIM_KEY_Nacute                             = 0x1d1,
00629     SCIM_KEY_Ncaron                             = 0x1d2,
00630     SCIM_KEY_Odoubleacute                       = 0x1d5,
00631     SCIM_KEY_Rcaron                             = 0x1d8,
00632     SCIM_KEY_Uring                              = 0x1d9,
00633     SCIM_KEY_Udoubleacute                       = 0x1db,
00634     SCIM_KEY_Tcedilla                           = 0x1de,
00635     SCIM_KEY_racute                             = 0x1e0,
00636     SCIM_KEY_abreve                             = 0x1e3,
00637     SCIM_KEY_lacute                             = 0x1e5,
00638     SCIM_KEY_cacute                             = 0x1e6,
00639     SCIM_KEY_ccaron                             = 0x1e8,
00640     SCIM_KEY_eogonek                            = 0x1ea,
00641     SCIM_KEY_ecaron                             = 0x1ec,
00642     SCIM_KEY_dcaron                             = 0x1ef,
00643     SCIM_KEY_dstroke                            = 0x1f0,
00644     SCIM_KEY_nacute                             = 0x1f1,
00645     SCIM_KEY_ncaron                             = 0x1f2,
00646     SCIM_KEY_odoubleacute                       = 0x1f5,
00647     SCIM_KEY_udoubleacute                       = 0x1fb,
00648     SCIM_KEY_rcaron                             = 0x1f8,
00649     SCIM_KEY_uring                              = 0x1f9,
00650     SCIM_KEY_tcedilla                           = 0x1fe,
00651     SCIM_KEY_abovedot                           = 0x1ff,
00652 
00653     /*
00654      *   Latin 3
00655      *   Byte 3 = 2
00656      */
00657     SCIM_KEY_Hstroke                            = 0x2a1,
00658     SCIM_KEY_Hcircumflex                        = 0x2a6,
00659     SCIM_KEY_Iabovedot                          = 0x2a9,
00660     SCIM_KEY_Gbreve                             = 0x2ab,
00661     SCIM_KEY_Jcircumflex                        = 0x2ac,
00662     SCIM_KEY_hstroke                            = 0x2b1,
00663     SCIM_KEY_hcircumflex                        = 0x2b6,
00664     SCIM_KEY_idotless                           = 0x2b9,
00665     SCIM_KEY_gbreve                             = 0x2bb,
00666     SCIM_KEY_jcircumflex                        = 0x2bc,
00667     SCIM_KEY_Cabovedot                          = 0x2c5,
00668     SCIM_KEY_Ccircumflex                        = 0x2c6,
00669     SCIM_KEY_Gabovedot                          = 0x2d5,
00670     SCIM_KEY_Gcircumflex                        = 0x2d8,
00671     SCIM_KEY_Ubreve                             = 0x2dd,
00672     SCIM_KEY_Scircumflex                        = 0x2de,
00673     SCIM_KEY_cabovedot                          = 0x2e5,
00674     SCIM_KEY_ccircumflex                        = 0x2e6,
00675     SCIM_KEY_gabovedot                          = 0x2f5,
00676     SCIM_KEY_gcircumflex                        = 0x2f8,
00677     SCIM_KEY_ubreve                             = 0x2fd,
00678     SCIM_KEY_scircumflex                        = 0x2fe,
00679 
00680 
00681     /*
00682      *   Latin 4
00683      *   Byte 3 = 3
00684      */
00685     SCIM_KEY_kra                                = 0x3a2,
00686     SCIM_KEY_kappa                              = 0x3a2,   /* deprecated */
00687     SCIM_KEY_Rcedilla                           = 0x3a3,
00688     SCIM_KEY_Itilde                             = 0x3a5,
00689     SCIM_KEY_Lcedilla                           = 0x3a6,
00690     SCIM_KEY_Emacron                            = 0x3aa,
00691     SCIM_KEY_Gcedilla                           = 0x3ab,
00692     SCIM_KEY_Tslash                             = 0x3ac,
00693     SCIM_KEY_rcedilla                           = 0x3b3,
00694     SCIM_KEY_itilde                             = 0x3b5,
00695     SCIM_KEY_lcedilla                           = 0x3b6,
00696     SCIM_KEY_emacron                            = 0x3ba,
00697     SCIM_KEY_gcedilla                           = 0x3bb,
00698     SCIM_KEY_tslash                             = 0x3bc,
00699     SCIM_KEY_ENG                                = 0x3bd,
00700     SCIM_KEY_eng                                = 0x3bf,
00701     SCIM_KEY_Amacron                            = 0x3c0,
00702     SCIM_KEY_Iogonek                            = 0x3c7,
00703     SCIM_KEY_Eabovedot                          = 0x3cc,
00704     SCIM_KEY_Imacron                            = 0x3cf,
00705     SCIM_KEY_Ncedilla                           = 0x3d1,
00706     SCIM_KEY_Omacron                            = 0x3d2,
00707     SCIM_KEY_Kcedilla                           = 0x3d3,
00708     SCIM_KEY_Uogonek                            = 0x3d9,
00709     SCIM_KEY_Utilde                             = 0x3dd,
00710     SCIM_KEY_Umacron                            = 0x3de,
00711     SCIM_KEY_amacron                            = 0x3e0,
00712     SCIM_KEY_iogonek                            = 0x3e7,
00713     SCIM_KEY_eabovedot                          = 0x3ec,
00714     SCIM_KEY_imacron                            = 0x3ef,
00715     SCIM_KEY_ncedilla                           = 0x3f1,
00716     SCIM_KEY_omacron                            = 0x3f2,
00717     SCIM_KEY_kcedilla                           = 0x3f3,
00718     SCIM_KEY_uogonek                            = 0x3f9,
00719     SCIM_KEY_utilde                             = 0x3fd,
00720     SCIM_KEY_umacron                            = 0x3fe,
00721 
00722 /*
00723  * Latin-8
00724  * Byte 3 = 18
00725  */
00726     SCIM_KEY_Babovedot                          = 0x12a1,
00727     SCIM_KEY_babovedot                          = 0x12a2,
00728     SCIM_KEY_Dabovedot                          = 0x12a6,
00729     SCIM_KEY_Wgrave                             = 0x12a8,
00730     SCIM_KEY_Wacute                             = 0x12aa,
00731     SCIM_KEY_dabovedot                          = 0x12ab,
00732     SCIM_KEY_Ygrave                             = 0x12ac,
00733     SCIM_KEY_Fabovedot                          = 0x12b0,
00734     SCIM_KEY_fabovedot                          = 0x12b1,
00735     SCIM_KEY_Mabovedot                          = 0x12b4,
00736     SCIM_KEY_mabovedot                          = 0x12b5,
00737     SCIM_KEY_Pabovedot                          = 0x12b7,
00738     SCIM_KEY_wgrave                             = 0x12b8,
00739     SCIM_KEY_pabovedot                          = 0x12b9,
00740     SCIM_KEY_wacute                             = 0x12ba,
00741     SCIM_KEY_Sabovedot                          = 0x12bb,
00742     SCIM_KEY_ygrave                             = 0x12bc,
00743     SCIM_KEY_Wdiaeresis                         = 0x12bd,
00744     SCIM_KEY_wdiaeresis                         = 0x12be,
00745     SCIM_KEY_sabovedot                          = 0x12bf,
00746     SCIM_KEY_Wcircumflex                        = 0x12d0,
00747     SCIM_KEY_Tabovedot                          = 0x12d7,
00748     SCIM_KEY_Ycircumflex                        = 0x12de,
00749     SCIM_KEY_wcircumflex                        = 0x12f0,
00750     SCIM_KEY_tabovedot                          = 0x12f7,
00751     SCIM_KEY_ycircumflex                        = 0x12fe,
00752 
00753     /*
00754      * Latin-9 (a.k.a. Latin-0)
00755      * Byte 3 = 19
00756      */
00757 
00758     SCIM_KEY_OE                                 = 0x13bc,
00759     SCIM_KEY_oe                                 = 0x13bd,
00760     SCIM_KEY_Ydiaeresis                         = 0x13be,
00761 
00762     /*
00763      * Katakana
00764      * Byte 3 = 4
00765      */
00766 
00767     SCIM_KEY_overline                           = 0x47e,
00768     SCIM_KEY_kana_fullstop                      = 0x4a1,
00769     SCIM_KEY_kana_openingbracket                = 0x4a2,
00770     SCIM_KEY_kana_closingbracket                = 0x4a3,
00771     SCIM_KEY_kana_comma                         = 0x4a4,
00772     SCIM_KEY_kana_conjunctive                   = 0x4a5,
00773     SCIM_KEY_kana_middledot                     = 0x4a5,  /* deprecated */
00774     SCIM_KEY_kana_WO                            = 0x4a6,
00775     SCIM_KEY_kana_a                             = 0x4a7,
00776     SCIM_KEY_kana_i                             = 0x4a8,
00777     SCIM_KEY_kana_u                             = 0x4a9,
00778     SCIM_KEY_kana_e                             = 0x4aa,
00779     SCIM_KEY_kana_o                             = 0x4ab,
00780     SCIM_KEY_kana_ya                            = 0x4ac,
00781     SCIM_KEY_kana_yu                            = 0x4ad,
00782     SCIM_KEY_kana_yo                            = 0x4ae,
00783     SCIM_KEY_kana_tsu                           = 0x4af,
00784     SCIM_KEY_kana_tu                            = 0x4af,  /* deprecated */
00785     SCIM_KEY_prolongedsound                     = 0x4b0,
00786     SCIM_KEY_kana_A                             = 0x4b1,
00787     SCIM_KEY_kana_I                             = 0x4b2,
00788     SCIM_KEY_kana_U                             = 0x4b3,
00789     SCIM_KEY_kana_E                             = 0x4b4,
00790     SCIM_KEY_kana_O                             = 0x4b5,
00791     SCIM_KEY_kana_KA                            = 0x4b6,
00792     SCIM_KEY_kana_KI                            = 0x4b7,
00793     SCIM_KEY_kana_KU                            = 0x4b8,
00794     SCIM_KEY_kana_KE                            = 0x4b9,
00795     SCIM_KEY_kana_KO                            = 0x4ba,
00796     SCIM_KEY_kana_SA                            = 0x4bb,
00797     SCIM_KEY_kana_SHI                           = 0x4bc,
00798     SCIM_KEY_kana_SU                            = 0x4bd,
00799     SCIM_KEY_kana_SE                            = 0x4be,
00800     SCIM_KEY_kana_SO                            = 0x4bf,
00801     SCIM_KEY_kana_TA                            = 0x4c0,
00802     SCIM_KEY_kana_CHI                           = 0x4c1,
00803     SCIM_KEY_kana_TI                            = 0x4c1,  /* deprecated */
00804     SCIM_KEY_kana_TSU                           = 0x4c2,
00805     SCIM_KEY_kana_TU                            = 0x4c2,  /* deprecated */
00806     SCIM_KEY_kana_TE                            = 0x4c3,
00807     SCIM_KEY_kana_TO                            = 0x4c4,
00808     SCIM_KEY_kana_NA                            = 0x4c5,
00809     SCIM_KEY_kana_NI                            = 0x4c6,
00810     SCIM_KEY_kana_NU                            = 0x4c7,
00811     SCIM_KEY_kana_NE                            = 0x4c8,
00812     SCIM_KEY_kana_NO                            = 0x4c9,
00813     SCIM_KEY_kana_HA                            = 0x4ca,
00814     SCIM_KEY_kana_HI                            = 0x4cb,
00815     SCIM_KEY_kana_FU                            = 0x4cc,
00816     SCIM_KEY_kana_HU                            = 0x4cc,  /* deprecated */
00817     SCIM_KEY_kana_HE                            = 0x4cd,
00818     SCIM_KEY_kana_HO                            = 0x4ce,
00819     SCIM_KEY_kana_MA                            = 0x4cf,
00820     SCIM_KEY_kana_MI                            = 0x4d0,
00821     SCIM_KEY_kana_MU                            = 0x4d1,
00822     SCIM_KEY_kana_ME                            = 0x4d2,
00823     SCIM_KEY_kana_MO                            = 0x4d3,
00824     SCIM_KEY_kana_YA                            = 0x4d4,
00825     SCIM_KEY_kana_YU                            = 0x4d5,
00826     SCIM_KEY_kana_YO                            = 0x4d6,
00827     SCIM_KEY_kana_RA                            = 0x4d7,
00828     SCIM_KEY_kana_RI                            = 0x4d8,
00829     SCIM_KEY_kana_RU                            = 0x4d9,
00830     SCIM_KEY_kana_RE                            = 0x4da,
00831     SCIM_KEY_kana_RO                            = 0x4db,
00832     SCIM_KEY_kana_WA                            = 0x4dc,
00833     SCIM_KEY_kana_N                             = 0x4dd,
00834     SCIM_KEY_voicedsound                        = 0x4de,
00835     SCIM_KEY_semivoicedsound                    = 0x4df,
00836     SCIM_KEY_kana_switch                        = 0xFF7E,  /* Alias for mode_switch */
00837 
00838     /*
00839      *  Arabic
00840      *  Byte 3 = 5
00841      */
00842     SCIM_KEY_Farsi_0                            = 0x590,
00843     SCIM_KEY_Farsi_1                            = 0x591,
00844     SCIM_KEY_Farsi_2                            = 0x592,
00845     SCIM_KEY_Farsi_3                            = 0x593,
00846     SCIM_KEY_Farsi_4                            = 0x594,
00847     SCIM_KEY_Farsi_5                            = 0x595,
00848     SCIM_KEY_Farsi_6                            = 0x596,
00849     SCIM_KEY_Farsi_7                            = 0x597,
00850     SCIM_KEY_Farsi_8                            = 0x598,
00851     SCIM_KEY_Farsi_9                            = 0x599,
00852     SCIM_KEY_Arabic_percent                     = 0x5a5,
00853     SCIM_KEY_Arabic_superscript_alef            = 0x5a6,
00854     SCIM_KEY_Arabic_tteh                        = 0x5a7,
00855     SCIM_KEY_Arabic_peh                         = 0x5a8,
00856     SCIM_KEY_Arabic_tcheh                       = 0x5a9,
00857     SCIM_KEY_Arabic_ddal                        = 0x5aa,
00858     SCIM_KEY_Arabic_rreh                        = 0x5ab,
00859     SCIM_KEY_Arabic_comma                       = 0x5ac,
00860     SCIM_KEY_Arabic_fullstop                    = 0x5ae,
00861     SCIM_KEY_Arabic_0                           = 0x5b0,
00862     SCIM_KEY_Arabic_1                           = 0x5b1,
00863     SCIM_KEY_Arabic_2                           = 0x5b2,
00864     SCIM_KEY_Arabic_3                           = 0x5b3,
00865     SCIM_KEY_Arabic_4                           = 0x5b4,
00866     SCIM_KEY_Arabic_5                           = 0x5b5,
00867     SCIM_KEY_Arabic_6                           = 0x5b6,
00868     SCIM_KEY_Arabic_7                           = 0x5b7,
00869     SCIM_KEY_Arabic_8                           = 0x5b8,
00870     SCIM_KEY_Arabic_9                           = 0x5b9,
00871     SCIM_KEY_Arabic_semicolon                   = 0x5bb,
00872     SCIM_KEY_Arabic_question_mark               = 0x5bf,
00873     SCIM_KEY_Arabic_hamza                       = 0x5c1,
00874     SCIM_KEY_Arabic_maddaonalef                 = 0x5c2,
00875     SCIM_KEY_Arabic_hamzaonalef                 = 0x5c3,
00876     SCIM_KEY_Arabic_hamzaonwaw                  = 0x5c4,
00877     SCIM_KEY_Arabic_hamzaunderalef              = 0x5c5,
00878     SCIM_KEY_Arabic_hamzaonyeh                  = 0x5c6,
00879     SCIM_KEY_Arabic_alef                        = 0x5c7,
00880     SCIM_KEY_Arabic_beh                         = 0x5c8,
00881     SCIM_KEY_Arabic_tehmarbuta                  = 0x5c9,
00882     SCIM_KEY_Arabic_teh                         = 0x5ca,
00883     SCIM_KEY_Arabic_theh                        = 0x5cb,
00884     SCIM_KEY_Arabic_jeem                        = 0x5cc,
00885     SCIM_KEY_Arabic_hah                         = 0x5cd,
00886     SCIM_KEY_Arabic_khah                        = 0x5ce,
00887     SCIM_KEY_Arabic_dal                         = 0x5cf,
00888     SCIM_KEY_Arabic_thal                        = 0x5d0,
00889     SCIM_KEY_Arabic_ra                          = 0x5d1,
00890     SCIM_KEY_Arabic_zain                        = 0x5d2,
00891     SCIM_KEY_Arabic_seen                        = 0x5d3,
00892     SCIM_KEY_Arabic_sheen                       = 0x5d4,
00893     SCIM_KEY_Arabic_sad                         = 0x5d5,
00894     SCIM_KEY_Arabic_dad                         = 0x5d6,
00895     SCIM_KEY_Arabic_tah                         = 0x5d7,
00896     SCIM_KEY_Arabic_zah                         = 0x5d8,
00897     SCIM_KEY_Arabic_ain                         = 0x5d9,
00898     SCIM_KEY_Arabic_ghain                       = 0x5da,
00899     SCIM_KEY_Arabic_tatweel                     = 0x5e0,
00900     SCIM_KEY_Arabic_feh                         = 0x5e1,
00901     SCIM_KEY_Arabic_qaf                         = 0x5e2,
00902     SCIM_KEY_Arabic_kaf                         = 0x5e3,
00903     SCIM_KEY_Arabic_lam                         = 0x5e4,
00904     SCIM_KEY_Arabic_meem                        = 0x5e5,
00905     SCIM_KEY_Arabic_noon                        = 0x5e6,
00906     SCIM_KEY_Arabic_ha                          = 0x5e7,
00907     SCIM_KEY_Arabic_heh                         = 0x5e7,  /* deprecated */
00908     SCIM_KEY_Arabic_waw                         = 0x5e8,
00909     SCIM_KEY_Arabic_alefmaksura                 = 0x5e9,
00910     SCIM_KEY_Arabic_yeh                         = 0x5ea,
00911     SCIM_KEY_Arabic_fathatan                    = 0x5eb,
00912     SCIM_KEY_Arabic_dammatan                    = 0x5ec,
00913     SCIM_KEY_Arabic_kasratan                    = 0x5ed,
00914     SCIM_KEY_Arabic_fatha                       = 0x5ee,
00915     SCIM_KEY_Arabic_damma                       = 0x5ef,
00916     SCIM_KEY_Arabic_kasra                       = 0x5f0,
00917     SCIM_KEY_Arabic_shadda                      = 0x5f1,
00918     SCIM_KEY_Arabic_sukun                       = 0x5f2,
00919     SCIM_KEY_Arabic_madda_above                 = 0x5f3,
00920     SCIM_KEY_Arabic_hamza_above                 = 0x5f4,
00921     SCIM_KEY_Arabic_hamza_below                 = 0x5f5,
00922     SCIM_KEY_Arabic_jeh                         = 0x5f6,
00923     SCIM_KEY_Arabic_veh                         = 0x5f7,
00924     SCIM_KEY_Arabic_keheh                       = 0x5f8,
00925     SCIM_KEY_Arabic_gaf                         = 0x5f9,
00926     SCIM_KEY_Arabic_noon_ghunna                 = 0x5fa,
00927     SCIM_KEY_Arabic_heh_doachashmee             = 0x5fb,
00928     SCIM_KEY_Farsi_yeh                          = 0x5fc,
00929     SCIM_KEY_Arabic_farsi_yeh                   = SCIM_KEY_Farsi_yeh,
00930     SCIM_KEY_Arabic_yeh_baree                   = 0x5fd,
00931     SCIM_KEY_Arabic_heh_goal                    = 0x5fe,
00932     SCIM_KEY_Arabic_switch                      = 0xFF7E,  /* Alias for mode_switch */
00933 
00934     /*
00935      * Cyrillic
00936      * Byte 3 = 6
00937      */
00938     SCIM_KEY_Cyrillic_GHE_bar                   = 0x680,
00939     SCIM_KEY_Cyrillic_ghe_bar                   = 0x690,
00940     SCIM_KEY_Cyrillic_ZHE_descender             = 0x681,
00941     SCIM_KEY_Cyrillic_zhe_descender             = 0x691,
00942     SCIM_KEY_Cyrillic_KA_descender              = 0x682,
00943     SCIM_KEY_Cyrillic_ka_descender              = 0x692,
00944     SCIM_KEY_Cyrillic_KA_vertstroke             = 0x683,
00945     SCIM_KEY_Cyrillic_ka_vertstroke             = 0x693,
00946     SCIM_KEY_Cyrillic_EN_descender              = 0x684,
00947     SCIM_KEY_Cyrillic_en_descender              = 0x694,
00948     SCIM_KEY_Cyrillic_U_straight                = 0x685,
00949     SCIM_KEY_Cyrillic_u_straight                = 0x695,
00950     SCIM_KEY_Cyrillic_U_straight_bar            = 0x686,
00951     SCIM_KEY_Cyrillic_u_straight_bar            = 0x696,
00952     SCIM_KEY_Cyrillic_HA_descender              = 0x687,
00953     SCIM_KEY_Cyrillic_ha_descender              = 0x697,
00954     SCIM_KEY_Cyrillic_CHE_descender             = 0x688,
00955     SCIM_KEY_Cyrillic_che_descender             = 0x698,
00956     SCIM_KEY_Cyrillic_CHE_vertstroke            = 0x689,
00957     SCIM_KEY_Cyrillic_che_vertstroke            = 0x699,
00958     SCIM_KEY_Cyrillic_SHHA                      = 0x68a,
00959     SCIM_KEY_Cyrillic_shha                      = 0x69a,
00960 
00961     SCIM_KEY_Cyrillic_SCHWA                     = 0x68c,
00962     SCIM_KEY_Cyrillic_schwa                     = 0x69c,
00963     SCIM_KEY_Cyrillic_I_macron                  = 0x68d,
00964     SCIM_KEY_Cyrillic_i_macron                  = 0x69d,
00965     SCIM_KEY_Cyrillic_O_bar                     = 0x68e,
00966     SCIM_KEY_Cyrillic_o_bar                     = 0x69e,
00967     SCIM_KEY_Cyrillic_U_macron                  = 0x68f,
00968     SCIM_KEY_Cyrillic_u_macron                  = 0x69f,
00969 
00970     SCIM_KEY_Serbian_dje                        = 0x6a1,
00971     SCIM_KEY_Macedonia_gje                      = 0x6a2,
00972     SCIM_KEY_Cyrillic_io                        = 0x6a3,
00973     SCIM_KEY_Ukrainian_ie                       = 0x6a4,
00974     SCIM_KEY_Ukranian_je                        = 0x6a4,  /* deprecated */
00975     SCIM_KEY_Macedonia_dse                      = 0x6a5,
00976     SCIM_KEY_Ukrainian_i                        = 0x6a6,
00977     SCIM_KEY_Ukranian_i                         = 0x6a6,  /* deprecated */
00978     SCIM_KEY_Ukrainian_yi                       = 0x6a7,
00979     SCIM_KEY_Ukranian_yi                        = 0x6a7,  /* deprecated */
00980     SCIM_KEY_Cyrillic_je                        = 0x6a8,
00981     SCIM_KEY_Serbian_je                         = 0x6a8,  /* deprecated */
00982     SCIM_KEY_Cyrillic_lje                       = 0x6a9,
00983     SCIM_KEY_Serbian_lje                        = 0x6a9,  /* deprecated */
00984     SCIM_KEY_Cyrillic_nje                       = 0x6aa,
00985     SCIM_KEY_Serbian_nje                        = 0x6aa,  /* deprecated */
00986     SCIM_KEY_Serbian_tshe                       = 0x6ab,
00987     SCIM_KEY_Macedonia_kje                      = 0x6ac,
00988     SCIM_KEY_Ukrainian_ghe_with_upturn          = 0x6ad,
00989     SCIM_KEY_Byelorussian_shortu                = 0x6ae,
00990     SCIM_KEY_Cyrillic_dzhe                      = 0x6af,
00991     SCIM_KEY_Serbian_dze                        = 0x6af,  /* deprecated */
00992     SCIM_KEY_numerosign                         = 0x6b0,
00993     SCIM_KEY_Serbian_DJE                        = 0x6b1,
00994     SCIM_KEY_Macedonia_GJE                      = 0x6b2,
00995     SCIM_KEY_Cyrillic_IO                        = 0x6b3,
00996     SCIM_KEY_Ukrainian_IE                       = 0x6b4,
00997     SCIM_KEY_Ukranian_JE                        = 0x6b4,  /* deprecated */
00998     SCIM_KEY_Macedonia_DSE                      = 0x6b5,
00999     SCIM_KEY_Ukrainian_I                        = 0x6b6,
01000     SCIM_KEY_Ukranian_I                         = 0x6b6,  /* deprecated */
01001     SCIM_KEY_Ukrainian_YI                       = 0x6b7,
01002     SCIM_KEY_Ukranian_YI                        = 0x6b7,  /* deprecated */
01003     SCIM_KEY_Cyrillic_JE                        = 0x6b8,
01004     SCIM_KEY_Serbian_JE                         = 0x6b8,  /* deprecated */
01005     SCIM_KEY_Cyrillic_LJE                       = 0x6b9,
01006     SCIM_KEY_Serbian_LJE                        = 0x6b9,  /* deprecated */
01007     SCIM_KEY_Cyrillic_NJE                       = 0x6ba,
01008     SCIM_KEY_Serbian_NJE                        = 0x6ba,  /* deprecated */
01009     SCIM_KEY_Serbian_TSHE                       = 0x6bb,
01010     SCIM_KEY_Macedonia_KJE                      = 0x6bc,
01011     SCIM_KEY_Ukrainian_GHE_WITH_UPTURN          = 0x6bd,
01012     SCIM_KEY_Byelorussian_SHORTU                = 0x6be,
01013     SCIM_KEY_Cyrillic_DZHE                      = 0x6bf,
01014     SCIM_KEY_Serbian_DZE                        = 0x6bf,  /* deprecated */
01015     SCIM_KEY_Cyrillic_yu                        = 0x6c0,
01016     SCIM_KEY_Cyrillic_a                         = 0x6c1,
01017     SCIM_KEY_Cyrillic_be                        = 0x6c2,
01018     SCIM_KEY_Cyrillic_tse                       = 0x6c3,
01019     SCIM_KEY_Cyrillic_de                        = 0x6c4,
01020     SCIM_KEY_Cyrillic_ie                        = 0x6c5,
01021     SCIM_KEY_Cyrillic_ef                        = 0x6c6,
01022     SCIM_KEY_Cyrillic_ghe                       = 0x6c7,
01023     SCIM_KEY_Cyrillic_ha                        = 0x6c8,
01024     SCIM_KEY_Cyrillic_i                         = 0x6c9,
01025     SCIM_KEY_Cyrillic_shorti                    = 0x6ca,
01026     SCIM_KEY_Cyrillic_ka                        = 0x6cb,
01027     SCIM_KEY_Cyrillic_el                        = 0x6cc,
01028     SCIM_KEY_Cyrillic_em                        = 0x6cd,
01029     SCIM_KEY_Cyrillic_en                        = 0x6ce,
01030     SCIM_KEY_Cyrillic_o                         = 0x6cf,
01031     SCIM_KEY_Cyrillic_pe                        = 0x6d0,
01032     SCIM_KEY_Cyrillic_ya                        = 0x6d1,
01033     SCIM_KEY_Cyrillic_er                        = 0x6d2,
01034     SCIM_KEY_Cyrillic_es                        = 0x6d3,
01035     SCIM_KEY_Cyrillic_te                        = 0x6d4,
01036     SCIM_KEY_Cyrillic_u                         = 0x6d5,
01037     SCIM_KEY_Cyrillic_zhe                       = 0x6d6,
01038     SCIM_KEY_Cyrillic_ve                        = 0x6d7,
01039     SCIM_KEY_Cyrillic_softsign                  = 0x6d8,
01040     SCIM_KEY_Cyrillic_yeru                      = 0x6d9,
01041     SCIM_KEY_Cyrillic_ze                        = 0x6da,
01042     SCIM_KEY_Cyrillic_sha                       = 0x6db,
01043     SCIM_KEY_Cyrillic_e                         = 0x6dc,
01044     SCIM_KEY_Cyrillic_shcha                     = 0x6dd,
01045     SCIM_KEY_Cyrillic_che                       = 0x6de,
01046     SCIM_KEY_Cyrillic_hardsign                  = 0x6df,
01047     SCIM_KEY_Cyrillic_YU                        = 0x6e0,
01048     SCIM_KEY_Cyrillic_A                         = 0x6e1,
01049     SCIM_KEY_Cyrillic_BE                        = 0x6e2,
01050     SCIM_KEY_Cyrillic_TSE                       = 0x6e3,
01051     SCIM_KEY_Cyrillic_DE                        = 0x6e4,
01052     SCIM_KEY_Cyrillic_IE                        = 0x6e5,
01053     SCIM_KEY_Cyrillic_EF                        = 0x6e6,
01054     SCIM_KEY_Cyrillic_GHE                       = 0x6e7,
01055     SCIM_KEY_Cyrillic_HA                        = 0x6e8,
01056     SCIM_KEY_Cyrillic_I                         = 0x6e9,
01057     SCIM_KEY_Cyrillic_SHORTI                    = 0x6ea,
01058     SCIM_KEY_Cyrillic_KA                        = 0x6eb,
01059     SCIM_KEY_Cyrillic_EL                        = 0x6ec,
01060     SCIM_KEY_Cyrillic_EM                        = 0x6ed,
01061     SCIM_KEY_Cyrillic_EN                        = 0x6ee,
01062     SCIM_KEY_Cyrillic_O                         = 0x6ef,
01063     SCIM_KEY_Cyrillic_PE                        = 0x6f0,
01064     SCIM_KEY_Cyrillic_YA                        = 0x6f1,
01065     SCIM_KEY_Cyrillic_ER                        = 0x6f2,
01066     SCIM_KEY_Cyrillic_ES                        = 0x6f3,
01067     SCIM_KEY_Cyrillic_TE                        = 0x6f4,
01068     SCIM_KEY_Cyrillic_U                         = 0x6f5,
01069     SCIM_KEY_Cyrillic_ZHE                       = 0x6f6,
01070     SCIM_KEY_Cyrillic_VE                        = 0x6f7,
01071     SCIM_KEY_Cyrillic_SOFTSIGN                  = 0x6f8,
01072     SCIM_KEY_Cyrillic_YERU                      = 0x6f9,
01073     SCIM_KEY_Cyrillic_ZE                        = 0x6fa,
01074     SCIM_KEY_Cyrillic_SHA                       = 0x6fb,
01075     SCIM_KEY_Cyrillic_E                         = 0x6fc,
01076     SCIM_KEY_Cyrillic_SHCHA                     = 0x6fd,
01077     SCIM_KEY_Cyrillic_CHE                       = 0x6fe,
01078     SCIM_KEY_Cyrillic_HARDSIGN                  = 0x6ff,
01079 
01080     /*
01081      * Greek
01082      * Byte 3 = 7
01083      */
01084     SCIM_KEY_Greek_ALPHAaccent                  = 0x7a1,
01085     SCIM_KEY_Greek_EPSILONaccent                = 0x7a2,
01086     SCIM_KEY_Greek_ETAaccent                    = 0x7a3,
01087     SCIM_KEY_Greek_IOTAaccent                   = 0x7a4,
01088     SCIM_KEY_Greek_IOTAdieresis                 = 0x7a5,
01089     SCIM_KEY_Greek_IOTAdiaeresis                = SCIM_KEY_Greek_IOTAdieresis, /* old typo */
01090     SCIM_KEY_Greek_OMICRONaccent                = 0x7a7,
01091     SCIM_KEY_Greek_UPSILONaccent                = 0x7a8,
01092     SCIM_KEY_Greek_UPSILONdieresis              = 0x7a9,
01093     SCIM_KEY_Greek_OMEGAaccent                  = 0x7ab,
01094     SCIM_KEY_Greek_accentdieresis               = 0x7ae,
01095     SCIM_KEY_Greek_horizbar                     = 0x7af,
01096     SCIM_KEY_Greek_alphaaccent                  = 0x7b1,
01097     SCIM_KEY_Greek_epsilonaccent                = 0x7b2,
01098     SCIM_KEY_Greek_etaaccent                    = 0x7b3,
01099     SCIM_KEY_Greek_iotaaccent                   = 0x7b4,
01100     SCIM_KEY_Greek_iotadieresis                 = 0x7b5,
01101     SCIM_KEY_Greek_iotaaccentdieresis           = 0x7b6,
01102     SCIM_KEY_Greek_omicronaccent                = 0x7b7,
01103     SCIM_KEY_Greek_upsilonaccent                = 0x7b8,
01104     SCIM_KEY_Greek_upsilondieresis              = 0x7b9,
01105     SCIM_KEY_Greek_upsilonaccentdieresis        = 0x7ba,
01106     SCIM_KEY_Greek_omegaaccent                  = 0x7bb,
01107     SCIM_KEY_Greek_ALPHA                        = 0x7c1,
01108     SCIM_KEY_Greek_BETA                         = 0x7c2,
01109     SCIM_KEY_Greek_GAMMA                        = 0x7c3,
01110     SCIM_KEY_Greek_DELTA                        = 0x7c4,
01111     SCIM_KEY_Greek_EPSILON                      = 0x7c5,
01112     SCIM_KEY_Greek_ZETA                         = 0x7c6,
01113     SCIM_KEY_Greek_ETA                          = 0x7c7,
01114     SCIM_KEY_Greek_THETA                        = 0x7c8,
01115     SCIM_KEY_Greek_IOTA                         = 0x7c9,
01116     SCIM_KEY_Greek_KAPPA                        = 0x7ca,
01117     SCIM_KEY_Greek_LAMDA                        = 0x7cb,
01118     SCIM_KEY_Greek_LAMBDA                       = 0x7cb,
01119     SCIM_KEY_Greek_MU                           = 0x7cc,
01120     SCIM_KEY_Greek_NU                           = 0x7cd,
01121     SCIM_KEY_Greek_XI                           = 0x7ce,
01122     SCIM_KEY_Greek_OMICRON                      = 0x7cf,
01123     SCIM_KEY_Greek_PI                           = 0x7d0,
01124     SCIM_KEY_Greek_RHO                          = 0x7d1,
01125     SCIM_KEY_Greek_SIGMA                        = 0x7d2,
01126     SCIM_KEY_Greek_TAU                          = 0x7d4,
01127     SCIM_KEY_Greek_UPSILON                      = 0x7d5,
01128     SCIM_KEY_Greek_PHI                          = 0x7d6,
01129     SCIM_KEY_Greek_CHI                          = 0x7d7,
01130     SCIM_KEY_Greek_PSI                          = 0x7d8,
01131     SCIM_KEY_Greek_OMEGA                        = 0x7d9,
01132     SCIM_KEY_Greek_alpha                        = 0x7e1,
01133     SCIM_KEY_Greek_beta                         = 0x7e2,
01134     SCIM_KEY_Greek_gamma                        = 0x7e3,
01135     SCIM_KEY_Greek_delta                        = 0x7e4,
01136     SCIM_KEY_Greek_epsilon                      = 0x7e5,
01137     SCIM_KEY_Greek_zeta                         = 0x7e6,
01138     SCIM_KEY_Greek_eta                          = 0x7e7,
01139     SCIM_KEY_Greek_theta                        = 0x7e8,
01140     SCIM_KEY_Greek_iota                         = 0x7e9,
01141     SCIM_KEY_Greek_kappa                        = 0x7ea,
01142     SCIM_KEY_Greek_lamda                        = 0x7eb,
01143     SCIM_KEY_Greek_lambda                       = 0x7eb,
01144     SCIM_KEY_Greek_mu                           = 0x7ec,
01145     SCIM_KEY_Greek_nu                           = 0x7ed,
01146     SCIM_KEY_Greek_xi                           = 0x7ee,
01147     SCIM_KEY_Greek_omicron                      = 0x7ef,
01148     SCIM_KEY_Greek_pi                           = 0x7f0,
01149     SCIM_KEY_Greek_rho                          = 0x7f1,
01150     SCIM_KEY_Greek_sigma                        = 0x7f2,
01151     SCIM_KEY_Greek_finalsmallsigma              = 0x7f3,
01152     SCIM_KEY_Greek_tau                          = 0x7f4,
01153     SCIM_KEY_Greek_upsilon                      = 0x7f5,
01154     SCIM_KEY_Greek_phi                          = 0x7f6,
01155     SCIM_KEY_Greek_chi                          = 0x7f7,
01156     SCIM_KEY_Greek_psi                          = 0x7f8,
01157     SCIM_KEY_Greek_omega                        = 0x7f9,
01158     SCIM_KEY_Greek_switch                       = 0xFF7E,  /* Alias for mode_switch */
01159 
01160     /*
01161      * Technical
01162      * Byte 3 = 8
01163      */
01164     SCIM_KEY_leftradical                        = 0x8a1,
01165     SCIM_KEY_topleftradical                     = 0x8a2,
01166     SCIM_KEY_horizconnector                     = 0x8a3,
01167     SCIM_KEY_topintegral                        = 0x8a4,
01168     SCIM_KEY_botintegral                        = 0x8a5,
01169     SCIM_KEY_vertconnector                      = 0x8a6,
01170     SCIM_KEY_topleftsqbracket                   = 0x8a7,
01171     SCIM_KEY_botleftsqbracket                   = 0x8a8,
01172     SCIM_KEY_toprightsqbracket                  = 0x8a9,
01173     SCIM_KEY_botrightsqbracket                  = 0x8aa,
01174     SCIM_KEY_topleftparens                      = 0x8ab,
01175     SCIM_KEY_botleftparens                      = 0x8ac,
01176     SCIM_KEY_toprightparens                     = 0x8ad,
01177     SCIM_KEY_botrightparens                     = 0x8ae,
01178     SCIM_KEY_leftmiddlecurlybrace               = 0x8af,
01179     SCIM_KEY_rightmiddlecurlybrace              = 0x8b0,
01180     SCIM_KEY_topleftsummation                   = 0x8b1,
01181     SCIM_KEY_botleftsummation                   = 0x8b2,
01182     SCIM_KEY_topvertsummationconnector          = 0x8b3,
01183     SCIM_KEY_botvertsummationconnector          = 0x8b4,
01184     SCIM_KEY_toprightsummation                  = 0x8b5,
01185     SCIM_KEY_botrightsummation                  = 0x8b6,
01186     SCIM_KEY_rightmiddlesummation               = 0x8b7,
01187     SCIM_KEY_lessthanequal                      = 0x8bc,
01188     SCIM_KEY_notequal                           = 0x8bd,
01189     SCIM_KEY_greaterthanequal                   = 0x8be,
01190     SCIM_KEY_integral                           = 0x8bf,
01191     SCIM_KEY_therefore                          = 0x8c0,
01192     SCIM_KEY_variation                          = 0x8c1,
01193     SCIM_KEY_infinity                           = 0x8c2,
01194     SCIM_KEY_nabla                              = 0x8c5,
01195     SCIM_KEY_approximate                        = 0x8c8,
01196     SCIM_KEY_similarequal                       = 0x8c9,
01197     SCIM_KEY_ifonlyif                           = 0x8cd,
01198     SCIM_KEY_implies                            = 0x8ce,
01199     SCIM_KEY_identical                          = 0x8cf,
01200     SCIM_KEY_radical                            = 0x8d6,
01201     SCIM_KEY_includedin                         = 0x8da,
01202     SCIM_KEY_includes                           = 0x8db,
01203     SCIM_KEY_intersection                       = 0x8dc,
01204     SCIM_KEY_union                              = 0x8dd,
01205     SCIM_KEY_logicaland                         = 0x8de,
01206     SCIM_KEY_logicalor                          = 0x8df,
01207     SCIM_KEY_partialderivative                  = 0x8ef,
01208     SCIM_KEY_function                           = 0x8f6,
01209     SCIM_KEY_leftarrow                          = 0x8fb,
01210     SCIM_KEY_uparrow                            = 0x8fc,
01211     SCIM_KEY_rightarrow                         = 0x8fd,
01212     SCIM_KEY_downarrow                          = 0x8fe,
01213 
01214     /*
01215      * Special
01216      * Byte 3 = 9
01217      */
01218     SCIM_KEY_blank                              = 0x9df,
01219     SCIM_KEY_soliddiamond                       = 0x9e0,
01220     SCIM_KEY_checkerboard                       = 0x9e1,
01221     SCIM_KEY_ht                                 = 0x9e2,
01222     SCIM_KEY_ff                                 = 0x9e3,
01223     SCIM_KEY_cr                                 = 0x9e4,
01224     SCIM_KEY_lf                                 = 0x9e5,
01225     SCIM_KEY_nl                                 = 0x9e8,
01226     SCIM_KEY_vt                                 = 0x9e9,
01227     SCIM_KEY_lowrightcorner                     = 0x9ea,
01228     SCIM_KEY_uprightcorner                      = 0x9eb,
01229     SCIM_KEY_upleftcorner                       = 0x9ec,
01230     SCIM_KEY_lowleftcorner                      = 0x9ed,
01231     SCIM_KEY_crossinglines                      = 0x9ee,
01232     SCIM_KEY_horizlinescan1                     = 0x9ef,
01233     SCIM_KEY_horizlinescan3                     = 0x9f0,
01234     SCIM_KEY_horizlinescan5                     = 0x9f1,
01235     SCIM_KEY_horizlinescan7                     = 0x9f2,
01236     SCIM_KEY_horizlinescan9                     = 0x9f3,
01237     SCIM_KEY_leftt                              = 0x9f4,
01238     SCIM_KEY_rightt                             = 0x9f5,
01239     SCIM_KEY_bott                               = 0x9f6,
01240     SCIM_KEY_topt                               = 0x9f7,
01241     SCIM_KEY_vertbar                            = 0x9f8,
01242 
01243     /*
01244      * Publishing
01245      * Byte 3 = a
01246      */
01247     SCIM_KEY_emspace                            = 0xaa1,
01248     SCIM_KEY_enspace                            = 0xaa2,
01249     SCIM_KEY_em3space                           = 0xaa3,
01250     SCIM_KEY_em4space                           = 0xaa4,
01251     SCIM_KEY_digitspace                         = 0xaa5,
01252     SCIM_KEY_punctspace                         = 0xaa6,
01253     SCIM_KEY_thinspace                          = 0xaa7,
01254     SCIM_KEY_hairspace                          = 0xaa8,
01255     SCIM_KEY_emdash                             = 0xaa9,
01256     SCIM_KEY_endash                             = 0xaaa,
01257     SCIM_KEY_signifblank                        = 0xaac,
01258     SCIM_KEY_ellipsis                           = 0xaae,
01259     SCIM_KEY_doubbaselinedot                    = 0xaaf,
01260     SCIM_KEY_onethird                           = 0xab0,
01261     SCIM_KEY_twothirds                          = 0xab1,
01262     SCIM_KEY_onefifth                           = 0xab2,
01263     SCIM_KEY_twofifths                          = 0xab3,
01264     SCIM_KEY_threefifths                        = 0xab4,
01265     SCIM_KEY_fourfifths                         = 0xab5,
01266     SCIM_KEY_onesixth                           = 0xab6,
01267     SCIM_KEY_fivesixths                         = 0xab7,
01268     SCIM_KEY_careof                             = 0xab8,
01269     SCIM_KEY_figdash                            = 0xabb,
01270     SCIM_KEY_leftanglebracket                   = 0xabc,
01271     SCIM_KEY_decimalpoint                       = 0xabd,
01272     SCIM_KEY_rightanglebracket                  = 0xabe,
01273     SCIM_KEY_marker                             = 0xabf,
01274     SCIM_KEY_oneeighth                          = 0xac3,
01275     SCIM_KEY_threeeighths                       = 0xac4,
01276     SCIM_KEY_fiveeighths                        = 0xac5,
01277     SCIM_KEY_seveneighths                       = 0xac6,
01278     SCIM_KEY_trademark                          = 0xac9,
01279     SCIM_KEY_signaturemark                      = 0xaca,
01280     SCIM_KEY_trademarkincircle                  = 0xacb,
01281     SCIM_KEY_leftopentriangle                   = 0xacc,
01282     SCIM_KEY_rightopentriangle                  = 0xacd,
01283     SCIM_KEY_emopencircle                       = 0xace,
01284     SCIM_KEY_emopenrectangle                    = 0xacf,
01285     SCIM_KEY_leftsinglequotemark                = 0xad0,
01286     SCIM_KEY_rightsinglequotemark               = 0xad1,
01287     SCIM_KEY_leftdoublequotemark                = 0xad2,
01288     SCIM_KEY_rightdoublequotemark               = 0xad3,
01289     SCIM_KEY_prescription                       = 0xad4,
01290     SCIM_KEY_minutes                            = 0xad6,
01291     SCIM_KEY_seconds                            = 0xad7,
01292     SCIM_KEY_latincross                         = 0xad9,
01293     SCIM_KEY_hexagram                           = 0xada,
01294     SCIM_KEY_filledrectbullet                   = 0xadb,
01295     SCIM_KEY_filledlefttribullet                = 0xadc,
01296     SCIM_KEY_filledrighttribullet               = 0xadd,
01297     SCIM_KEY_emfilledcircle                     = 0xade,
01298     SCIM_KEY_emfilledrect                       = 0xadf,
01299     SCIM_KEY_enopencircbullet                   = 0xae0,
01300     SCIM_KEY_enopensquarebullet                 = 0xae1,
01301     SCIM_KEY_openrectbullet                     = 0xae2,
01302     SCIM_KEY_opentribulletup                    = 0xae3,
01303     SCIM_KEY_opentribulletdown                  = 0xae4,
01304     SCIM_KEY_openstar                           = 0xae5,
01305     SCIM_KEY_enfilledcircbullet                 = 0xae6,
01306     SCIM_KEY_enfilledsqbullet                   = 0xae7,
01307     SCIM_KEY_filledtribulletup                  = 0xae8,
01308     SCIM_KEY_filledtribulletdown                = 0xae9,
01309     SCIM_KEY_leftpointer                        = 0xaea,
01310     SCIM_KEY_rightpointer                       = 0xaeb,
01311     SCIM_KEY_club                               = 0xaec,
01312     SCIM_KEY_diamond                            = 0xaed,
01313     SCIM_KEY_heart                              = 0xaee,
01314     SCIM_KEY_maltesecross                       = 0xaf0,
01315     SCIM_KEY_dagger                             = 0xaf1,
01316     SCIM_KEY_doubledagger                       = 0xaf2,
01317     SCIM_KEY_checkmark                          = 0xaf3,
01318     SCIM_KEY_ballotcross                        = 0xaf4,
01319     SCIM_KEY_musicalsharp                       = 0xaf5,
01320     SCIM_KEY_musicalflat                        = 0xaf6,
01321     SCIM_KEY_malesymbol                         = 0xaf7,
01322     SCIM_KEY_femalesymbol                       = 0xaf8,
01323     SCIM_KEY_telephone                          = 0xaf9,
01324     SCIM_KEY_telephonerecorder                  = 0xafa,
01325     SCIM_KEY_phonographcopyright                = 0xafb,
01326     SCIM_KEY_caret                              = 0xafc,
01327     SCIM_KEY_singlelowquotemark                 = 0xafd,
01328     SCIM_KEY_doublelowquotemark                 = 0xafe,
01329     SCIM_KEY_cursor                             = 0xaff,
01330 
01331     /*
01332      * APL
01333      * Byte 3 = b
01334      */
01335     SCIM_KEY_leftcaret                          = 0xba3,
01336     SCIM_KEY_rightcaret                         = 0xba6,
01337     SCIM_KEY_downcaret                          = 0xba8,
01338     SCIM_KEY_upcaret                            = 0xba9,
01339     SCIM_KEY_overbar                            = 0xbc0,
01340     SCIM_KEY_downtack                           = 0xbc2,
01341     SCIM_KEY_upshoe                             = 0xbc3,
01342     SCIM_KEY_downstile                          = 0xbc4,
01343     SCIM_KEY_underbar                           = 0xbc6,
01344     SCIM_KEY_jot                                = 0xbca,
01345     SCIM_KEY_quad                               = 0xbcc,
01346     SCIM_KEY_uptack                             = 0xbce,
01347     SCIM_KEY_circle                             = 0xbcf,
01348     SCIM_KEY_upstile                            = 0xbd3,
01349     SCIM_KEY_downshoe                           = 0xbd6,
01350     SCIM_KEY_rightshoe                          = 0xbd8,
01351     SCIM_KEY_leftshoe                           = 0xbda,
01352     SCIM_KEY_lefttack                           = 0xbdc,
01353     SCIM_KEY_righttack                          = 0xbfc,
01354 
01355     /*
01356      * Hebrew
01357      * Byte 3 = c
01358      */
01359     SCIM_KEY_hebrew_doublelowline               = 0xcdf,
01360     SCIM_KEY_hebrew_aleph                       = 0xce0,
01361     SCIM_KEY_hebrew_bet                         = 0xce1,
01362     SCIM_KEY_hebrew_beth                        = 0xce1,  /* deprecated */
01363     SCIM_KEY_hebrew_gimel                       = 0xce2,
01364     SCIM_KEY_hebrew_gimmel                      = 0xce2,  /* deprecated */
01365     SCIM_KEY_hebrew_dalet                       = 0xce3,
01366     SCIM_KEY_hebrew_daleth                      = 0xce3,  /* deprecated */
01367     SCIM_KEY_hebrew_he                          = 0xce4,
01368     SCIM_KEY_hebrew_waw                         = 0xce5,
01369     SCIM_KEY_hebrew_zain                        = 0xce6,
01370     SCIM_KEY_hebrew_zayin                       = 0xce6,  /* deprecated */
01371     SCIM_KEY_hebrew_chet                        = 0xce7,
01372     SCIM_KEY_hebrew_het                         = 0xce7,  /* deprecated */
01373     SCIM_KEY_hebrew_tet                         = 0xce8,
01374     SCIM_KEY_hebrew_teth                        = 0xce8,  /* deprecated */
01375     SCIM_KEY_hebrew_yod                         = 0xce9,
01376     SCIM_KEY_hebrew_finalkaph                   = 0xcea,
01377     SCIM_KEY_hebrew_kaph                        = 0xceb,
01378     SCIM_KEY_hebrew_lamed                       = 0xcec,
01379     SCIM_KEY_hebrew_finalmem                    = 0xced,
01380     SCIM_KEY_hebrew_mem                         = 0xcee,
01381     SCIM_KEY_hebrew_finalnun                    = 0xcef,
01382     SCIM_KEY_hebrew_nun                         = 0xcf0,
01383     SCIM_KEY_hebrew_samech                      = 0xcf1,
01384     SCIM_KEY_hebrew_samekh                      = 0xcf1,  /* deprecated */
01385     SCIM_KEY_hebrew_ayin                        = 0xcf2,
01386     SCIM_KEY_hebrew_finalpe                     = 0xcf3,
01387     SCIM_KEY_hebrew_pe                          = 0xcf4,
01388     SCIM_KEY_hebrew_finalzade                   = 0xcf5,
01389     SCIM_KEY_hebrew_finalzadi                   = 0xcf5,  /* deprecated */
01390     SCIM_KEY_hebrew_zade                        = 0xcf6,
01391     SCIM_KEY_hebrew_zadi                        = 0xcf6,  /* deprecated */
01392     SCIM_KEY_hebrew_qoph                        = 0xcf7,
01393     SCIM_KEY_hebrew_kuf                         = 0xcf7,  /* deprecated */
01394     SCIM_KEY_hebrew_resh                        = 0xcf8,
01395     SCIM_KEY_hebrew_shin                        = 0xcf9,
01396     SCIM_KEY_hebrew_taw                         = 0xcfa,
01397     SCIM_KEY_hebrew_taf                         = 0xcfa,  /* deprecated */
01398     SCIM_KEY_Hebrew_switch                      = 0xFF7E,  /* Alias for mode_switch */
01399 
01400     /*
01401      * Thai
01402      * Byte 3 = d
01403      */
01404     SCIM_KEY_Thai_kokai                         = 0xda1,
01405     SCIM_KEY_Thai_khokhai                       = 0xda2,
01406     SCIM_KEY_Thai_khokhuat                      = 0xda3,
01407     SCIM_KEY_Thai_khokhwai                      = 0xda4,
01408     SCIM_KEY_Thai_khokhon                       = 0xda5,
01409     SCIM_KEY_Thai_khorakhang                    = 0xda6,
01410     SCIM_KEY_Thai_ngongu                        = 0xda7,
01411     SCIM_KEY_Thai_chochan                       = 0xda8,
01412     SCIM_KEY_Thai_choching                      = 0xda9,
01413     SCIM_KEY_Thai_chochang                      = 0xdaa,
01414     SCIM_KEY_Thai_soso                          = 0xdab,
01415     SCIM_KEY_Thai_chochoe                       = 0xdac,
01416     SCIM_KEY_Thai_yoying                        = 0xdad,
01417     SCIM_KEY_Thai_dochada                       = 0xdae,
01418     SCIM_KEY_Thai_topatak                       = 0xdaf,
01419     SCIM_KEY_Thai_thothan                       = 0xdb0,
01420     SCIM_KEY_Thai_thonangmontho                 = 0xdb1,
01421     SCIM_KEY_Thai_thophuthao                    = 0xdb2,
01422     SCIM_KEY_Thai_nonen                         = 0xdb3,
01423     SCIM_KEY_Thai_dodek                         = 0xdb4,
01424     SCIM_KEY_Thai_totao                         = 0xdb5,
01425     SCIM_KEY_Thai_thothung                      = 0xdb6,
01426     SCIM_KEY_Thai_thothahan                     = 0xdb7,
01427     SCIM_KEY_Thai_thothong                      = 0xdb8,
01428     SCIM_KEY_Thai_nonu                          = 0xdb9,
01429     SCIM_KEY_Thai_bobaimai                      = 0xdba,
01430     SCIM_KEY_Thai_popla                         = 0xdbb,
01431     SCIM_KEY_Thai_phophung                      = 0xdbc,
01432     SCIM_KEY_Thai_fofa                          = 0xdbd,
01433     SCIM_KEY_Thai_phophan                       = 0xdbe,
01434     SCIM_KEY_Thai_fofan                         = 0xdbf,
01435     SCIM_KEY_Thai_phosamphao                    = 0xdc0,
01436     SCIM_KEY_Thai_moma                          = 0xdc1,
01437     SCIM_KEY_Thai_yoyak                         = 0xdc2,
01438     SCIM_KEY_Thai_rorua                         = 0xdc3,
01439     SCIM_KEY_Thai_ru                            = 0xdc4,
01440     SCIM_KEY_Thai_loling                        = 0xdc5,
01441     SCIM_KEY_Thai_lu                            = 0xdc6,
01442     SCIM_KEY_Thai_wowaen                        = 0xdc7,
01443     SCIM_KEY_Thai_sosala                        = 0xdc8,
01444     SCIM_KEY_Thai_sorusi                        = 0xdc9,
01445     SCIM_KEY_Thai_sosua                         = 0xdca,
01446     SCIM_KEY_Thai_hohip                         = 0xdcb,
01447     SCIM_KEY_Thai_lochula                       = 0xdcc,
01448     SCIM_KEY_Thai_oang                          = 0xdcd,
01449     SCIM_KEY_Thai_honokhuk                      = 0xdce,
01450     SCIM_KEY_Thai_paiyannoi                     = 0xdcf,
01451     SCIM_KEY_Thai_saraa                         = 0xdd0,
01452     SCIM_KEY_Thai_maihanakat                    = 0xdd1,
01453     SCIM_KEY_Thai_saraaa                        = 0xdd2,
01454     SCIM_KEY_Thai_saraam                        = 0xdd3,
01455     SCIM_KEY_Thai_sarai                         = 0xdd4,
01456     SCIM_KEY_Thai_saraii                        = 0xdd5,
01457     SCIM_KEY_Thai_saraue                        = 0xdd6,
01458     SCIM_KEY_Thai_sarauee                       = 0xdd7,
01459     SCIM_KEY_Thai_sarau                         = 0xdd8,
01460     SCIM_KEY_Thai_sarauu                        = 0xdd9,
01461     SCIM_KEY_Thai_phinthu                       = 0xdda,
01462     SCIM_KEY_Thai_maihanakat_maitho             = 0xdde,
01463     SCIM_KEY_Thai_baht                          = 0xddf,
01464     SCIM_KEY_Thai_sarae                         = 0xde0,
01465     SCIM_KEY_Thai_saraae                        = 0xde1,
01466     SCIM_KEY_Thai_sarao                         = 0xde2,
01467     SCIM_KEY_Thai_saraaimaimuan                 = 0xde3,
01468     SCIM_KEY_Thai_saraaimaimalai                = 0xde4,
01469     SCIM_KEY_Thai_lakkhangyao                   = 0xde5,
01470     SCIM_KEY_Thai_maiyamok                      = 0xde6,
01471     SCIM_KEY_Thai_maitaikhu                     = 0xde7,
01472     SCIM_KEY_Thai_maiek                         = 0xde8,
01473     SCIM_KEY_Thai_maitho                        = 0xde9,
01474     SCIM_KEY_Thai_maitri                        = 0xdea,
01475     SCIM_KEY_Thai_maichattawa                   = 0xdeb,
01476     SCIM_KEY_Thai_thanthakhat                   = 0xdec,
01477     SCIM_KEY_Thai_nikhahit                      = 0xded,
01478     SCIM_KEY_Thai_leksun                        = 0xdf0,
01479     SCIM_KEY_Thai_leknung                       = 0xdf1,
01480     SCIM_KEY_Thai_leksong                       = 0xdf2,
01481     SCIM_KEY_Thai_leksam                        = 0xdf3,
01482     SCIM_KEY_Thai_leksi                         = 0xdf4,
01483     SCIM_KEY_Thai_lekha                         = 0xdf5,
01484     SCIM_KEY_Thai_lekhok                        = 0xdf6,
01485     SCIM_KEY_Thai_lekchet                       = 0xdf7,
01486     SCIM_KEY_Thai_lekpaet                       = 0xdf8,
01487     SCIM_KEY_Thai_lekkao                        = 0xdf9,
01488 
01489     /*
01490      *   Korean
01491      *   Byte 3 = e
01492      */
01493     SCIM_KEY_Hangul                             = 0xff31,    /* Hangul start/stop(toggle) */
01494     SCIM_KEY_Hangul_Start                       = 0xff32,    /* Hangul start */
01495     SCIM_KEY_Hangul_End                         = 0xff33,    /* Hangul end, English start */
01496     SCIM_KEY_Hangul_Hanja                       = 0xff34,    /* Start Hangul->Hanja Conversion */
01497     SCIM_KEY_Hangul_Jamo                        = 0xff35,    /* Hangul Jamo mode */
01498     SCIM_KEY_Hangul_Romaja                      = 0xff36,    /* Hangul Romaja mode */
01499     SCIM_KEY_Hangul_Codeinput                   = 0xff37,    /* Hangul code input mode */
01500     SCIM_KEY_Hangul_Jeonja                      = 0xff38,    /* Jeonja mode */
01501     SCIM_KEY_Hangul_Banja                       = 0xff39,    /* Banja mode */
01502     SCIM_KEY_Hangul_PreHanja                    = 0xff3a,    /* Pre Hanja conversion */
01503     SCIM_KEY_Hangul_PostHanja                   = 0xff3b,    /* Post Hanja conversion */
01504     SCIM_KEY_Hangul_SingleCandidate             = 0xff3c,    /* Single candidate */
01505     SCIM_KEY_Hangul_MultipleCandidate           = 0xff3d,    /* Multiple candidate */
01506     SCIM_KEY_Hangul_PreviousCandidate           = 0xff3e,    /* Previous candidate */
01507     SCIM_KEY_Hangul_Special                     = 0xff3f,    /* Special symbols */
01508     SCIM_KEY_Hangul_switch                      = 0xFF7E,    /* Alias for mode_switch */
01509 
01510     /* Hangul Consonant Characters */
01511     SCIM_KEY_Hangul_Kiyeog                      = 0xea1,
01512     SCIM_KEY_Hangul_SsangKiyeog                 = 0xea2,
01513     SCIM_KEY_Hangul_KiyeogSios                  = 0xea3,
01514     SCIM_KEY_Hangul_Nieun                       = 0xea4,
01515     SCIM_KEY_Hangul_NieunJieuj                  = 0xea5,
01516     SCIM_KEY_Hangul_NieunHieuh                  = 0xea6,
01517     SCIM_KEY_Hangul_Dikeud                      = 0xea7,
01518     SCIM_KEY_Hangul_SsangDikeud                 = 0xea8,
01519     SCIM_KEY_Hangul_Rieul                       = 0xea9,
01520     SCIM_KEY_Hangul_RieulKiyeog                 = 0xeaa,
01521     SCIM_KEY_Hangul_RieulMieum                  = 0xeab,
01522     SCIM_KEY_Hangul_RieulPieub                  = 0xeac,
01523     SCIM_KEY_Hangul_RieulSios                   = 0xead,
01524     SCIM_KEY_Hangul_RieulTieut                  = 0xeae,
01525     SCIM_KEY_Hangul_RieulPhieuf                 = 0xeaf,
01526     SCIM_KEY_Hangul_RieulHieuh                  = 0xeb0,
01527     SCIM_KEY_Hangul_Mieum                       = 0xeb1,
01528     SCIM_KEY_Hangul_Pieub                       = 0xeb2,
01529     SCIM_KEY_Hangul_SsangPieub                  = 0xeb3,
01530     SCIM_KEY_Hangul_PieubSios                   = 0xeb4,
01531     SCIM_KEY_Hangul_Sios                        = 0xeb5,
01532     SCIM_KEY_Hangul_SsangSios                   = 0xeb6,
01533     SCIM_KEY_Hangul_Ieung                       = 0xeb7,
01534     SCIM_KEY_Hangul_Jieuj                       = 0xeb8,
01535     SCIM_KEY_Hangul_SsangJieuj                  = 0xeb9,
01536     SCIM_KEY_Hangul_Cieuc                       = 0xeba,
01537     SCIM_KEY_Hangul_Khieuq                      = 0xebb,
01538     SCIM_KEY_Hangul_Tieut                       = 0xebc,
01539     SCIM_KEY_Hangul_Phieuf                      = 0xebd,
01540     SCIM_KEY_Hangul_Hieuh                       = 0xebe,
01541 
01542     /* Hangul Vowel Characters */
01543     SCIM_KEY_Hangul_A                           = 0xebf,
01544     SCIM_KEY_Hangul_AE                          = 0xec0,
01545     SCIM_KEY_Hangul_YA                          = 0xec1,
01546     SCIM_KEY_Hangul_YAE                         = 0xec2,
01547     SCIM_KEY_Hangul_EO                          = 0xec3,
01548     SCIM_KEY_Hangul_E                           = 0xec4,
01549     SCIM_KEY_Hangul_YEO                         = 0xec5,
01550     SCIM_KEY_Hangul_YE                          = 0xec6,
01551     SCIM_KEY_Hangul_O                           = 0xec7,
01552     SCIM_KEY_Hangul_WA                          = 0xec8,
01553     SCIM_KEY_Hangul_WAE                         = 0xec9,
01554     SCIM_KEY_Hangul_OE                          = 0xeca,
01555     SCIM_KEY_Hangul_YO                          = 0xecb,
01556     SCIM_KEY_Hangul_U                           = 0xecc,
01557     SCIM_KEY_Hangul_WEO                         = 0xecd,
01558     SCIM_KEY_Hangul_WE                          = 0xece,
01559     SCIM_KEY_Hangul_WI                          = 0xecf,
01560     SCIM_KEY_Hangul_YU                          = 0xed0,
01561     SCIM_KEY_Hangul_EU                          = 0xed1,
01562     SCIM_KEY_Hangul_YI                          = 0xed2,
01563     SCIM_KEY_Hangul_I                           = 0xed3,
01564 
01565     /* Hangul syllable-final (JongSeong) Characters */
01566     SCIM_KEY_Hangul_J_Kiyeog                    = 0xed4,
01567     SCIM_KEY_Hangul_J_SsangKiyeog               = 0xed5,
01568     SCIM_KEY_Hangul_J_KiyeogSios                = 0xed6,
01569     SCIM_KEY_Hangul_J_Nieun                     = 0xed7,
01570     SCIM_KEY_Hangul_J_NieunJieuj                = 0xed8,
01571     SCIM_KEY_Hangul_J_NieunHieuh                = 0xed9,
01572     SCIM_KEY_Hangul_J_Dikeud                    = 0xeda,
01573     SCIM_KEY_Hangul_J_Rieul                     = 0xedb,
01574     SCIM_KEY_Hangul_J_RieulKiyeog               = 0xedc,
01575     SCIM_KEY_Hangul_J_RieulMieum                = 0xedd,
01576     SCIM_KEY_Hangul_J_RieulPieub                = 0xede,
01577     SCIM_KEY_Hangul_J_RieulSios                 = 0xedf,
01578     SCIM_KEY_Hangul_J_RieulTieut                = 0xee0,
01579     SCIM_KEY_Hangul_J_RieulPhieuf               = 0xee1,
01580     SCIM_KEY_Hangul_J_RieulHieuh                = 0xee2,
01581     SCIM_KEY_Hangul_J_Mieum                     = 0xee3,
01582     SCIM_KEY_Hangul_J_Pieub                     = 0xee4,
01583     SCIM_KEY_Hangul_J_PieubSios                 = 0xee5,
01584     SCIM_KEY_Hangul_J_Sios                      = 0xee6,
01585     SCIM_KEY_Hangul_J_SsangSios                 = 0xee7,
01586     SCIM_KEY_Hangul_J_Ieung                     = 0xee8,
01587     SCIM_KEY_Hangul_J_Jieuj                     = 0xee9,
01588     SCIM_KEY_Hangul_J_Cieuc                     = 0xeea,
01589     SCIM_KEY_Hangul_J_Khieuq                    = 0xeeb,
01590     SCIM_KEY_Hangul_J_Tieut                     = 0xeec,
01591     SCIM_KEY_Hangul_J_Phieuf                    = 0xeed,
01592     SCIM_KEY_Hangul_J_Hieuh                     = 0xeee,
01593 
01594     /* Ancient Hangul Consonant Characters */
01595     SCIM_KEY_Hangul_RieulYeorinHieuh            = 0xeef,
01596     SCIM_KEY_Hangul_SunkyeongeumMieum           = 0xef0,
01597     SCIM_KEY_Hangul_SunkyeongeumPieub           = 0xef1,
01598     SCIM_KEY_Hangul_PanSios                     = 0xef2,
01599     SCIM_KEY_Hangul_KkogjiDalrinIeung           = 0xef3,
01600     SCIM_KEY_Hangul_SunkyeongeumPhieuf          = 0xef4,
01601     SCIM_KEY_Hangul_YeorinHieuh                 = 0xef5,
01602 
01603     /* Ancient Hangul Vowel Characters */
01604     SCIM_KEY_Hangul_AraeA                       = 0xef6,
01605     SCIM_KEY_Hangul_AraeAE                      = 0xef7,
01606 
01607     /* Ancient Hangul syllable-final (JongSeong) Characters */
01608     SCIM_KEY_Hangul_J_PanSios                   = 0xef8,
01609     SCIM_KEY_Hangul_J_KkogjiDalrinIeung         = 0xef9,
01610     SCIM_KEY_Hangul_J_YeorinHieuh               = 0xefa,
01611 
01612     /* Korean currency symbol */
01613     SCIM_KEY_Korean_Won                         = 0xeff,
01614 
01615 
01616     /*
01617      *   Armenian
01618      *   Byte 3 = 0x14
01619      */
01620     SCIM_KEY_Armenian_eternity                  = 0x14a1,
01621     SCIM_KEY_Armenian_ligature_ew               = 0x14a2,
01622     SCIM_KEY_Armenian_full_stop                 = 0x14a3,
01623     SCIM_KEY_Armenian_verjaket                  = 0x14a3,
01624     SCIM_KEY_Armenian_parenright                = 0x14a4,
01625     SCIM_KEY_Armenian_parenleft                 = 0x14a5,
01626     SCIM_KEY_Armenian_guillemotright            = 0x14a6,
01627     SCIM_KEY_Armenian_guillemotleft             = 0x14a7,
01628     SCIM_KEY_Armenian_em_dash                   = 0x14a8,
01629     SCIM_KEY_Armenian_dot                       = 0x14a9,
01630     SCIM_KEY_Armenian_mijaket                   = 0x14a9,
01631     SCIM_KEY_Armenian_separation_mark           = 0x14aa,
01632     SCIM_KEY_Armenian_but                       = 0x14aa,
01633     SCIM_KEY_Armenian_comma                     = 0x14ab,
01634     SCIM_KEY_Armenian_en_dash                   = 0x14ac,
01635     SCIM_KEY_Armenian_hyphen                    = 0x14ad,
01636     SCIM_KEY_Armenian_yentamna                  = 0x14ad,
01637     SCIM_KEY_Armenian_ellipsis                  = 0x14ae,
01638     SCIM_KEY_Armenian_exclam                    = 0x14af,
01639     SCIM_KEY_Armenian_amanak                    = 0x14af,
01640     SCIM_KEY_Armenian_accent                    = 0x14b0,
01641     SCIM_KEY_Armenian_shesht                    = 0x14b0,
01642     SCIM_KEY_Armenian_question                  = 0x14b1,
01643     SCIM_KEY_Armenian_paruyk                    = 0x14b1,
01644     SCIM_KEY_Armenian_AYB                       = 0x14b2,
01645     SCIM_KEY_Armenian_ayb                       = 0x14b3,
01646     SCIM_KEY_Armenian_BEN                       = 0x14b4,
01647     SCIM_KEY_Armenian_ben                       = 0x14b5,
01648     SCIM_KEY_Armenian_GIM                       = 0x14b6,
01649     SCIM_KEY_Armenian_gim                       = 0x14b7,
01650     SCIM_KEY_Armenian_DA                        = 0x14b8,
01651     SCIM_KEY_Armenian_da                        = 0x14b9,
01652     SCIM_KEY_Armenian_YECH                      = 0x14ba,
01653     SCIM_KEY_Armenian_yech                      = 0x14bb,
01654     SCIM_KEY_Armenian_ZA                        = 0x14bc,
01655     SCIM_KEY_Armenian_za                        = 0x14bd,
01656     SCIM_KEY_Armenian_E                         = 0x14be,
01657     SCIM_KEY_Armenian_e                         = 0x14bf,
01658     SCIM_KEY_Armenian_AT                        = 0x14c0,
01659     SCIM_KEY_Armenian_at                        = 0x14c1,
01660     SCIM_KEY_Armenian_TO                        = 0x14c2,
01661     SCIM_KEY_Armenian_to                        = 0x14c3,
01662     SCIM_KEY_Armenian_ZHE                       = 0x14c4,
01663     SCIM_KEY_Armenian_zhe                       = 0x14c5,
01664     SCIM_KEY_Armenian_INI                       = 0x14c6,
01665     SCIM_KEY_Armenian_ini                       = 0x14c7,
01666     SCIM_KEY_Armenian_LYUN                      = 0x14c8,
01667     SCIM_KEY_Armenian_lyun                      = 0x14c9,
01668     SCIM_KEY_Armenian_KHE                       = 0x14ca,
01669     SCIM_KEY_Armenian_khe                       = 0x14cb,
01670     SCIM_KEY_Armenian_TSA                       = 0x14cc,
01671     SCIM_KEY_Armenian_tsa                       = 0x14cd,
01672     SCIM_KEY_Armenian_KEN                       = 0x14ce,
01673     SCIM_KEY_Armenian_ken                       = 0x14cf,
01674     SCIM_KEY_Armenian_HO                        = 0x14d0,
01675     SCIM_KEY_Armenian_ho                        = 0x14d1,
01676     SCIM_KEY_Armenian_DZA                       = 0x14d2,
01677     SCIM_KEY_Armenian_dza                       = 0x14d3,
01678     SCIM_KEY_Armenian_GHAT                      = 0x14d4,
01679     SCIM_KEY_Armenian_ghat                      = 0x14d5,
01680     SCIM_KEY_Armenian_TCHE                      = 0x14d6,
01681     SCIM_KEY_Armenian_tche                      = 0x14d7,
01682     SCIM_KEY_Armenian_MEN                       = 0x14d8,
01683     SCIM_KEY_Armenian_men                       = 0x14d9,
01684     SCIM_KEY_Armenian_HI                        = 0x14da,
01685     SCIM_KEY_Armenian_hi                        = 0x14db,
01686     SCIM_KEY_Armenian_NU                        = 0x14dc,
01687     SCIM_KEY_Armenian_nu                        = 0x14dd,
01688     SCIM_KEY_Armenian_SHA                       = 0x14de,
01689     SCIM_KEY_Armenian_sha                       = 0x14df,
01690     SCIM_KEY_Armenian_VO                        = 0x14e0,
01691     SCIM_KEY_Armenian_vo                        = 0x14e1,
01692     SCIM_KEY_Armenian_CHA                       = 0x14e2,
01693     SCIM_KEY_Armenian_cha                       = 0x14e3,
01694     SCIM_KEY_Armenian_PE                        = 0x14e4,
01695     SCIM_KEY_Armenian_pe                        = 0x14e5,
01696     SCIM_KEY_Armenian_JE                        = 0x14e6,
01697     SCIM_KEY_Armenian_je                        = 0x14e7,
01698     SCIM_KEY_Armenian_RA                        = 0x14e8,
01699     SCIM_KEY_Armenian_ra                        = 0x14e9,
01700     SCIM_KEY_Armenian_SE                        = 0x14ea,
01701     SCIM_KEY_Armenian_se                        = 0x14eb,
01702     SCIM_KEY_Armenian_VEV                       = 0x14ec,
01703     SCIM_KEY_Armenian_vev                       = 0x14ed,
01704     SCIM_KEY_Armenian_TYUN                      = 0x14ee,
01705     SCIM_KEY_Armenian_tyun                      = 0x14ef,
01706     SCIM_KEY_Armenian_RE                        = 0x14f0,
01707     SCIM_KEY_Armenian_re                        = 0x14f1,
01708     SCIM_KEY_Armenian_TSO                       = 0x14f2,
01709     SCIM_KEY_Armenian_tso                       = 0x14f3,
01710     SCIM_KEY_Armenian_VYUN                      = 0x14f4,
01711     SCIM_KEY_Armenian_vyun                      = 0x14f5,
01712     SCIM_KEY_Armenian_PYUR                      = 0x14f6,
01713     SCIM_KEY_Armenian_pyur                      = 0x14f7,
01714     SCIM_KEY_Armenian_KE                        = 0x14f8,
01715     SCIM_KEY_Armenian_ke                        = 0x14f9,
01716     SCIM_KEY_Armenian_O                         = 0x14fa,
01717     SCIM_KEY_Armenian_o                         = 0x14fb,
01718     SCIM_KEY_Armenian_FE                        = 0x14fc,
01719     SCIM_KEY_Armenian_fe                        = 0x14fd,
01720     SCIM_KEY_Armenian_apostrophe                = 0x14fe,
01721     SCIM_KEY_Armenian_section_sign              = 0x14ff,
01722 
01723     /*
01724      * Georgian
01725      * Byte 3 = 0x15
01726      */
01727 
01728     SCIM_KEY_Georgian_an                        = 0x15d0,
01729     SCIM_KEY_Georgian_ban                       = 0x15d1,
01730     SCIM_KEY_Georgian_gan                       = 0x15d2,
01731     SCIM_KEY_Georgian_don                       = 0x15d3,
01732     SCIM_KEY_Georgian_en                        = 0x15d4,
01733     SCIM_KEY_Georgian_vin                       = 0x15d5,
01734     SCIM_KEY_Georgian_zen                       = 0x15d6,
01735     SCIM_KEY_Georgian_tan                       = 0x15d7,
01736     SCIM_KEY_Georgian_in                        = 0x15d8,
01737     SCIM_KEY_Georgian_kan                       = 0x15d9,
01738     SCIM_KEY_Georgian_las                       = 0x15da,
01739     SCIM_KEY_Georgian_man                       = 0x15db,
01740     SCIM_KEY_Georgian_nar                       = 0x15dc,
01741     SCIM_KEY_Georgian_on                        = 0x15dd,
01742     SCIM_KEY_Georgian_par                       = 0x15de,
01743     SCIM_KEY_Georgian_zhar                      = 0x15df,
01744     SCIM_KEY_Georgian_rae                       = 0x15e0,
01745     SCIM_KEY_Georgian_san                       = 0x15e1,
01746     SCIM_KEY_Georgian_tar                       = 0x15e2,
01747     SCIM_KEY_Georgian_un                        = 0x15e3,
01748     SCIM_KEY_Georgian_phar                      = 0x15e4,
01749     SCIM_KEY_Georgian_khar                      = 0x15e5,
01750     SCIM_KEY_Georgian_ghan                      = 0x15e6,
01751     SCIM_KEY_Georgian_qar                       = 0x15e7,
01752     SCIM_KEY_Georgian_shin                      = 0x15e8,
01753     SCIM_KEY_Georgian_chin                      = 0x15e9,
01754     SCIM_KEY_Georgian_can                       = 0x15ea,
01755     SCIM_KEY_Georgian_jil                       = 0x15eb,
01756     SCIM_KEY_Georgian_cil                       = 0x15ec,
01757     SCIM_KEY_Georgian_char                      = 0x15ed,
01758     SCIM_KEY_Georgian_xan                       = 0x15ee,
01759     SCIM_KEY_Georgian_jhan                      = 0x15ef,
01760     SCIM_KEY_Georgian_hae                       = 0x15f0,
01761     SCIM_KEY_Georgian_he                        = 0x15f1,
01762     SCIM_KEY_Georgian_hie                       = 0x15f2,
01763     SCIM_KEY_Georgian_we                        = 0x15f3,
01764     SCIM_KEY_Georgian_har                       = 0x15f4,
01765     SCIM_KEY_Georgian_hoe                       = 0x15f5,
01766     SCIM_KEY_Georgian_fi                        = 0x15f6,
01767 
01768     /*
01769      * Azeri (and other Turkic or Caucasian languages of ex-USSR)
01770      * Byte 3 = 0x16
01771      */
01772 
01773     /* latin */
01774     SCIM_KEY_Ccedillaabovedot                   = 0x16a2,
01775     SCIM_KEY_Xabovedot                          = 0x16a3,
01776     SCIM_KEY_Qabovedot                          = 0x16a5,
01777     SCIM_KEY_Ibreve                             = 0x16a6,
01778     SCIM_KEY_IE                                 = 0x16a7,
01779     SCIM_KEY_UO                                 = 0x16a8,
01780     SCIM_KEY_Zstroke                            = 0x16a9,
01781     SCIM_KEY_Gcaron                             = 0x16aa,
01782     SCIM_KEY_Obarred                            = 0x16af,
01783     SCIM_KEY_ccedillaabovedot                   = 0x16b2,
01784     SCIM_KEY_xabovedot                          = 0x16b3,
01785     SCIM_KEY_Ocaron                             = 0x16b4,
01786     SCIM_KEY_qabovedot                          = 0x16b5,
01787     SCIM_KEY_ibreve                             = 0x16b6,
01788     SCIM_KEY_ie                                 = 0x16b7,
01789     SCIM_KEY_uo                                 = 0x16b8,
01790     SCIM_KEY_zstroke                            = 0x16b9,
01791     SCIM_KEY_gcaron                             = 0x16ba,
01792     SCIM_KEY_ocaron                             = 0x16bd,
01793     SCIM_KEY_obarred                            = 0x16bf,
01794     SCIM_KEY_SCHWA                              = 0x16c6,
01795     SCIM_KEY_schwa                              = 0x16f6,
01796     /* those are not really Caucasus, but I put them here for now */
01797     /* For Inupiak */
01798     SCIM_KEY_Lbelowdot                          = 0x16d1,
01799     SCIM_KEY_Lstrokebelowdot                    = 0x16d2,
01800     SCIM_KEY_lbelowdot                          = 0x16e1,
01801     SCIM_KEY_lstrokebelowdot                    = 0x16e2,
01802     /* For Guarani */
01803     SCIM_KEY_Gtilde                             = 0x16d3,
01804     SCIM_KEY_gtilde                             = 0x16e3,
01805 
01806     /*
01807      * Vietnamese
01808      * Byte 3 = 0x1e
01809      */
01810 
01811     SCIM_KEY_Abelowdot                          = 0x1ea0,
01812     SCIM_KEY_abelowdot                          = 0x1ea1,
01813     SCIM_KEY_Ahook                              = 0x1ea2,
01814     SCIM_KEY_ahook                              = 0x1ea3,
01815     SCIM_KEY_Acircumflexacute                   = 0x1ea4,
01816     SCIM_KEY_acircumflexacute                   = 0x1ea5,
01817     SCIM_KEY_Acircumflexgrave                   = 0x1ea6,
01818     SCIM_KEY_acircumflexgrave                   = 0x1ea7,
01819     SCIM_KEY_Acircumflexhook                    = 0x1ea8,
01820     SCIM_KEY_acircumflexhook                    = 0x1ea9,
01821     SCIM_KEY_Acircumflextilde                   = 0x1eaa,
01822     SCIM_KEY_acircumflextilde                   = 0x1eab,
01823     SCIM_KEY_Acircumflexbelowdot                = 0x1eac,
01824     SCIM_KEY_acircumflexbelowdot                = 0x1ead,
01825     SCIM_KEY_Abreveacute                        = 0x1eae,
01826     SCIM_KEY_abreveacute                        = 0x1eaf,
01827     SCIM_KEY_Abrevegrave                        = 0x1eb0,
01828     SCIM_KEY_abrevegrave                        = 0x1eb1,
01829     SCIM_KEY_Abrevehook                         = 0x1eb2,
01830     SCIM_KEY_abrevehook                         = 0x1eb3,
01831     SCIM_KEY_Abrevetilde                        = 0x1eb4,
01832     SCIM_KEY_abrevetilde                        = 0x1eb5,
01833     SCIM_KEY_Abrevebelowdot                     = 0x1eb6,
01834     SCIM_KEY_abrevebelowdot                     = 0x1eb7,
01835     SCIM_KEY_Ebelowdot                          = 0x1eb8,
01836     SCIM_KEY_ebelowdot                          = 0x1eb9,
01837     SCIM_KEY_Ehook                              = 0x1eba,
01838     SCIM_KEY_ehook                              = 0x1ebb,
01839     SCIM_KEY_Etilde                             = 0x1ebc,
01840     SCIM_KEY_etilde                             = 0x1ebd,
01841     SCIM_KEY_Ecircumflexacute                   = 0x1ebe,
01842     SCIM_KEY_ecircumflexacute                   = 0x1ebf,
01843     SCIM_KEY_Ecircumflexgrave                   = 0x1ec0,
01844     SCIM_KEY_ecircumflexgrave                   = 0x1ec1,
01845     SCIM_KEY_Ecircumflexhook                    = 0x1ec2,
01846     SCIM_KEY_ecircumflexhook                    = 0x1ec3,
01847     SCIM_KEY_Ecircumflextilde                   = 0x1ec4,
01848     SCIM_KEY_ecircumflextilde                   = 0x1ec5,
01849     SCIM_KEY_Ecircumflexbelowdot                = 0x1ec6,
01850     SCIM_KEY_ecircumflexbelowdot                = 0x1ec7,
01851     SCIM_KEY_Ihook                              = 0x1ec8,
01852     SCIM_KEY_ihook                              = 0x1ec9,
01853     SCIM_KEY_Ibelowdot                          = 0x1eca,
01854     SCIM_KEY_ibelowdot                          = 0x1ecb,
01855     SCIM_KEY_Obelowdot                          = 0x1ecc,
01856     SCIM_KEY_obelowdot                          = 0x1ecd,
01857     SCIM_KEY_Ohook                              = 0x1ece,
01858     SCIM_KEY_ohook                              = 0x1ecf,
01859     SCIM_KEY_Ocircumflexacute                   = 0x1ed0,
01860     SCIM_KEY_ocircumflexacute                   = 0x1ed1,
01861     SCIM_KEY_Ocircumflexgrave                   = 0x1ed2,
01862     SCIM_KEY_ocircumflexgrave                   = 0x1ed3,
01863     SCIM_KEY_Ocircumflexhook                    = 0x1ed4,
01864     SCIM_KEY_ocircumflexhook                    = 0x1ed5,
01865     SCIM_KEY_Ocircumflextilde                   = 0x1ed6,
01866     SCIM_KEY_ocircumflextilde                   = 0x1ed7,
01867     SCIM_KEY_Ocircumflexbelowdot                = 0x1ed8,
01868     SCIM_KEY_ocircumflexbelowdot                = 0x1ed9,
01869     SCIM_KEY_Ohornacute                         = 0x1eda,
01870     SCIM_KEY_ohornacute                         = 0x1edb,
01871     SCIM_KEY_Ohorngrave                         = 0x1edc,
01872     SCIM_KEY_ohorngrave                         = 0x1edd,
01873     SCIM_KEY_Ohornhook                          = 0x1ede,
01874     SCIM_KEY_ohornhook                          = 0x1edf,
01875     SCIM_KEY_Ohorntilde                         = 0x1ee0,
01876     SCIM_KEY_ohorntilde                         = 0x1ee1,
01877     SCIM_KEY_Ohornbelowdot                      = 0x1ee2,
01878     SCIM_KEY_ohornbelowdot                      = 0x1ee3,
01879     SCIM_KEY_Ubelowdot                          = 0x1ee4,
01880     SCIM_KEY_ubelowdot                          = 0x1ee5,
01881     SCIM_KEY_Uhook                              = 0x1ee6,
01882     SCIM_KEY_uhook                              = 0x1ee7,
01883     SCIM_KEY_Uhornacute                         = 0x1ee8,
01884     SCIM_KEY_uhornacute                         = 0x1ee9,
01885     SCIM_KEY_Uhorngrave                         = 0x1eea,
01886     SCIM_KEY_uhorngrave                         = 0x1eeb,
01887     SCIM_KEY_Uhornhook                          = 0x1eec,
01888     SCIM_KEY_uhornhook                          = 0x1eed,
01889     SCIM_KEY_Uhorntilde                         = 0x1eee,
01890     SCIM_KEY_uhorntilde                         = 0x1eef,
01891     SCIM_KEY_Uhornbelowdot                      = 0x1ef0,
01892     SCIM_KEY_uhornbelowdot                      = 0x1ef1,
01893     SCIM_KEY_Ybelowdot                          = 0x1ef4,
01894     SCIM_KEY_ybelowdot                          = 0x1ef5,
01895     SCIM_KEY_Yhook                              = 0x1ef6,
01896     SCIM_KEY_yhook                              = 0x1ef7,
01897     SCIM_KEY_Ytilde                             = 0x1ef8,
01898     SCIM_KEY_ytilde                             = 0x1ef9,
01899     SCIM_KEY_Ohorn                              = 0x1efa, /* U+01a0 */
01900     SCIM_KEY_ohorn                              = 0x1efb, /* U+01a1 */
01901     SCIM_KEY_Uhorn                              = 0x1efc, /* U+01af */
01902     SCIM_KEY_uhorn                              = 0x1efd, /* U+01b0 */
01903 
01904     SCIM_KEY_combining_tilde                    = 0x1e9f, /* U+0303 */
01905     SCIM_KEY_combining_grave                    = 0x1ef2, /* U+0300 */
01906     SCIM_KEY_combining_acute                    = 0x1ef3, /* U+0301 */
01907     SCIM_KEY_combining_hook                     = 0x1efe, /* U+0309 */
01908     SCIM_KEY_combining_belowdot                 = 0x1eff, /* U+0323 */
01909 
01910     SCIM_KEY_EcuSign                            = 0x20a0,
01911     SCIM_KEY_ColonSign                          = 0x20a1,
01912     SCIM_KEY_CruzeiroSign                       = 0x20a2,
01913     SCIM_KEY_FFrancSign                         = 0x20a3,
01914     SCIM_KEY_LiraSign                           = 0x20a4,
01915     SCIM_KEY_MillSign                           = 0x20a5,
01916     SCIM_KEY_NairaSign                          = 0x20a6,
01917     SCIM_KEY_PesetaSign                         = 0x20a7,
01918     SCIM_KEY_RupeeSign                          = 0x20a8,
01919     SCIM_KEY_WonSign                            = 0x20a9,
01920     SCIM_KEY_NewSheqelSign                      = 0x20aa,
01921     SCIM_KEY_DongSign                           = 0x20ab,
01922     SCIM_KEY_EuroSign                           = 0x20ac
01923 };
01924 
01925 struct KeyEvent;
01926 
01927 /**
01928  * @typedef typedef std::vector<KeyEvent> KeyEventList
01929  * @brief The container to store a set of KeyEvent objects.
01930  *
01931  * You should use the STL container methods to manipulate its objects.
01932  */
01933 typedef std::vector<KeyEvent> KeyEventList;
01934 
01935 /**
01936  * @brief Convert a key event to a string.
01937  * @param str - the result string will be stored here.
01938  * @param key - the KeyEvent to be converted.
01939  * @return true if success.
01940  */
01941 bool scim_key_to_string (String &str, const KeyEvent & key);
01942 
01943 /**
01944  * @brief Convert a string to a KeyEvent.
01945  * @param key - the result KeyEvent will be stored here.
01946  * @param str - the string to be converted.
01947  * @return true if success.
01948  */
01949 bool scim_string_to_key (KeyEvent &key, const String & str);
01950 
01951 /**
01952  * @brief Convert a set of KeyEvents to a string.
01953  * @param str - the result string will be stored here.
01954  * @param keylist - the keys to be converted.
01955  * @return true if success.
01956  */
01957 bool scim_key_list_to_string (String &str, const KeyEventList & keylist);
01958 
01959 /**
01960  * @brief Covnert a string to a set of KeyEvents.
01961  * @param keylist - the result KeyEvents will be stored here.
01962  * @param str - the string to be converted.
01963  * @return true if success.
01964  */
01965 bool scim_string_to_key_list (KeyEventList &keylist, const String &str);
01966 
01967 /**
01968  * @brief The class to store a keyboard event.
01969  *
01970  * A keyboard event contains a key code and a set of key masks.
01971  * The key masks indicate which modifier keys are pressed down and
01972  * if it's a key release event.
01973  */
01974 struct KeyEvent
01975 {
01976     int code;    /**< key code */
01977     int mask;    /**< modifier keys' mask */
01978 
01979     /**
01980      * @brief Default constructor.
01981      * @param c - the key code.
01982      * @param m - the key masks.
01983      */
01984     KeyEvent (int c = 0, int m = 0)
01985         : code (c), mask (m) { }
01986 
01987     /**
01988      * @brief Constructor, construct a key event from a string.
01989      *
01990      * @param str the key string, eg. "Control+space"
01991      */
01992     KeyEvent (const String &str)
01993         : code (0), mask (0) { scim_string_to_key (*this, str); }
01994 
01995     /**
01996      * @brief Check if this KeyEvent is empty.
01997      * @return true if this is a empty event.
01998      */
01999     bool empty () const { return mask == 0 && code == 0; }
02000 
02001     /**
02002      * @brief Get the ascii code of this key event.
02003      *
02004      * Not all key events have ascii codes.
02005      *
02006      * @return the ascii code of this key event.
02007      *         Zero means no ascii code.
02008      */
02009     char get_ascii_code () const;
02010 
02011     /**
02012      * @brief Get the Unicode code of this key event.
02013      *
02014      * Not all key events have unicode codes.
02015      *
02016      * @return The Unicode code of this key event.
02017      *         Zero means no unicode code.
02018      */
02019     ucs4_t get_unicode_code () const;
02020 
02021     /**
02022      * @brief Get the string of this key event.
02023      *
02024      * Not all key events can be converted to string.
02025      *
02026      * @return The string of this key event.
02027      */
02028     String get_key_string () const;
02029 
02030     /**
02031      * @brief Check if the shift key is pressed down.
02032      */
02033     bool is_shift_down () const { return (mask & SCIM_KEY_ShiftMask) != 0; }
02034 
02035     /**
02036      * @brief Check if the lock key is pressed down.
02037      */
02038     bool is_lock_down () const { return (mask & SCIM_KEY_LockMask) != 0; }
02039 
02040     /**
02041      * @brief Check if the ctrl key is pressed down.
02042      */
02043     bool is_control_down () const { return (mask & SCIM_KEY_ControlMask) != 0; }
02044 
02045     /**
02046      * @brief Check if the alt key is pressed down.
02047      */
02048     bool is_alt_down () const { return is_mod1_down (); }
02049 
02050     /**
02051      * @brief Check if the mod1 key is pressed down.
02052      */
02053     bool is_mod1_down () const { return (mask & SCIM_KEY_Mod1Mask) != 0; }
02054 
02055     /**
02056      * @brief Check if the mod2 key is pressed down.
02057      */
02058     bool is_mod2_down () const { return (mask & SCIM_KEY_Mod2Mask) != 0; }
02059 
02060     /**
02061      * @brief Check if the mod3 key is pressed down.
02062      */
02063     bool is_mod3_down () const { return (mask & SCIM_KEY_Mod3Mask) != 0; }
02064 
02065     /**
02066      * @brief Check if the mod4 key is pressed down.
02067      */
02068     bool is_mod4_down () const { return (mask & SCIM_KEY_Mod4Mask) != 0; }
02069 
02070     /**
02071      * @brief Check if the mod5 key is pressed down.
02072      */
02073     bool is_mod5_down () const { return (mask & SCIM_KEY_Mod5Mask) != 0; }
02074 
02075     /**
02076      * @brief Check if the num lock key is pressed down.
02077      */
02078     bool is_num_lock_down () const { return (mask & SCIM_KEY_NumLockMask) != 0; }
02079 
02080     /**
02081      * @brief Check if the caps lock key is pressed down.
02082      */
02083     bool is_caps_lock_down () const { return (mask & SCIM_KEY_CapsLockMask) != 0; }
02084 
02085     /**
02086      * @brief Check if the scroll lock key is pressed down.
02087      */
02088     bool is_scroll_lock_down () const { return (mask & SCIM_KEY_ScrollLockMask) != 0; }
02089 
02090     /**
02091      * @brief Check if it's a key press event.
02092      */
02093     bool is_key_press () const { return (mask & SCIM_KEY_ReleaseMask) == 0; }
02094 
02095     /**
02096      * @brief Check if it's a key release event.
02097      */
02098     bool is_key_release () const { return (mask & SCIM_KEY_ReleaseMask) != 0; }
02099 
02100     /**
02101      * @brief Compare two key events.
02102      * @return true if they are equal.
02103      */
02104     bool operator == (const KeyEvent & key) const {
02105         return code == key.code && mask == key.mask;
02106     }
02107 
02108     /**
02109      * @brief Compare two key events.
02110      *
02111      * This operator is mainly for sorting.
02112      * 
02113      * @return true if the first is smaller.
02114      */
02115     bool operator < (const KeyEvent & key) const {
02116         return code < key.code || (code == key.code && mask < key.mask);
02117     }
02118 };
02119 
02120 /** @} */
02121 
02122 } // namespace scim
02123 
02124 #endif //__SCIM_EVENT_H
02125 
02126 /*
02127 vi:ts=4:nowrap:ai:expandtab
02128 */
02129 

Generated on Tue Apr 19 00:10:59 2005 for scim by  doxygen 1.4.1