Back to index

im-sdk  12.3.91
IMKeyMap.h
Go to the documentation of this file.
00001 /*
00002 Copyright 1990-2003 Sun Microsystems, Inc. All Rights Reserved.
00003 
00004 Permission is hereby granted, free of charge, to any person obtaining a
00005 copy of this software and associated documentation files (the
00006 "Software"), to deal in the Software without restriction, including
00007 without limitation the rights to use, copy, modify, merge, publish,
00008 distribute, sublicense, and/or sell copies of the Software, and to
00009 permit persons to whom the Software is furnished to do so, subject to
00010 the following conditions: The above copyright notice and this
00011 permission notice shall be included in all copies or substantial
00012 portions of the Software.
00013 
00014 
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00016 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00017 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00018 IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE
00019 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
00020 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
00021 THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF
00022 ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
00023 
00024 
00025 Except as contained in this notice, the names of The Open Group and/or
00026 Sun Microsystems, Inc. shall not be used in advertising or otherwise to
00027 promote the sale, use or other dealings in this Software without prior
00028 written authorization from The Open Group and/or Sun Microsystems,
00029 Inc., as applicable.
00030 
00031 
00032 X Window System is a trademark of The Open Group
00033 
00034 OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
00035 logo, LBX, X Window System, and Xinerama are trademarks of the Open
00036 Group. All other trademarks and registered trademarks mentioned herein
00037 are the property of their respective owners. No right, title or
00038 interest in or to any trademark, service mark, logo or trade name of
00039 Sun Microsystems, Inc. or its licensors is granted.
00040 
00041 */
00042 
00043 #ifndef _IM_KEYMAP_H
00044 #define _IM_KEYMAP_H
00045 
00046 #define _SUN_KEYBOARD
00047 
00048 #ifdef _SUN_KEYBOARD
00049 
00050 #define       IMSunXK_F36          0x1005FF10    /* Labeled F11 */
00051 #define       IMSunXK_F37          0x1005FF11    /* Labeled F12 */
00052 #define IMSunXK_PageUp             0x0000FF55    /* Same as IMXK_Prior */
00053 #define IMSunXK_PageDown    0x0000FF56    /* Same as IMXK_Next */
00054 #define IMSunXK_Compose            0x0000FF20    /* Same as IMXK_Multi_key */
00055 #define IMSunXK_AltGraph    0x0000FF7E    /* Same as IMXK_Mode_switch */
00056 
00057 #else
00058 
00059 #define       IMSunXK_F36          0x1005FF10    /* Labeled F11 */
00060 #define       IMSunXK_F37          0x1005FF11    /* Labeled F12 */
00061 #define IMSunXK_PageUp             0xFF55               /* Same as IMXK_Prior */
00062 #define IMSunXK_PageDown    0xFF56        /* Same as IMXK_Next */
00063 #define IMSunXK_Compose            0xFF20        /* Same as IMXK_Multi_key */
00064 #define IMSunXK_AltGraph    0x0000FF7E    /* Same as IMXK_Mode_switch */
00065 
00066 #endif   /* End of _SUN_KEYBOARD */
00067 
00068 
00069 #define IMVXK_QUOTER            0x27            /* Defined by MXL!!! */
00070 #define IMXK_REDRAW_INTERNAL    0xEEEE          /* Pesudo keysym Defined by MXL!!! */
00071 #define IMXK_QUIT_PYIM          0xDDDD           /* Quit PinYin Input Method. Defined by MXL!!!*/
00072 #define IMXK_ALT_QP_SP          0xCCCC           /* Switch Bewteen QuanPin and ShuangPin. Defined by MXL!!! */
00073 #define SUN_NUM_KEYSYM          5
00074 #define IMXK_MOUSEPREV          0xBBBB          /* Mouse Press to scroll to prev page. Defined by MXL!!! */
00075 #define IMXK_MOUSENEXT          0xAAAA          /* Mouse Press to scroll to next page. Defined by MXL!!! */
00076 
00077 #define IMXK_Mode_switch    0xFF7E /* Character set switch */
00078 #define IMXK_BackSpace             0xFF08 /* back space, back char */
00079 #define IMXK_Tab            0xFF09
00080 #define IMXK_Linefeed              0xFF0A /* Linefeed, LF */
00081 #define IMXK_Clear          0xFF0B
00082 #define IMXK_Return         0xFF0D /* Return, enter */
00083 #define IMXK_Pause          0xFF13 /* Pause, hold */
00084 #define IMXK_Scroll_Lock    0xFF14
00085 #define IMXK_Sys_Req        0xFF15
00086 #define IMXK_Escape         0xFF1B
00087 #define IMXK_Delete         0xFFFF /* Delete, rubout */
00088 #define IMXK_Multi_key             0xFF20  /* Multi-key character compose */
00089 
00090 #define IMXK_Home           0xFF50
00091 #define IMXK_Left           0xFF51 /* Move left, left arrow */
00092 #define IMXK_Up                    0xFF52 /* Move up, up arrow */
00093 #define IMXK_Right          0xFF53 /* Move right, right arrow */
00094 #define IMXK_Down           0xFF54 /* Move down, down arrow */
00095 #define IMXK_Prior          0xFF55 /* Prior, previous */
00096 #define IMXK_Page_Up        0xFF55
00097 #define IMXK_Next           0xFF56 /* Next */
00098 #define IMXK_Page_Down             0xFF56
00099 #define IMXK_End            0xFF57 /* EOL */
00100 #define IMXK_Begin          0xFF58 /* BOL */
00101 
00102 #define IMXK_KP_Space              0xFF80 /* space */
00103 #define IMXK_KP_Tab         0xFF89
00104 #define IMXK_KP_Enter              0xFF8D /* enter */
00105 #define IMXK_KP_F1          0xFF91 /* PF1, KP_A, ... */
00106 #define IMXK_KP_F2          0xFF92
00107 #define IMXK_KP_F3          0xFF93
00108 #define IMXK_KP_F4          0xFF94
00109 #define IMXK_KP_Home        0xFF95
00110 #define IMXK_KP_Left        0xFF96
00111 #define IMXK_KP_Up          0xFF97
00112 #define IMXK_KP_Right              0xFF98
00113 #define IMXK_KP_Down        0xFF99
00114 #define IMXK_KP_Prior              0xFF9A
00115 #define IMXK_KP_Page_Up            0xFF9A
00116 #define IMXK_KP_Next        0xFF9B
00117 #define IMXK_KP_Page_Down   0xFF9B
00118 #define IMXK_KP_End         0xFF9C
00119 #define IMXK_KP_Begin              0xFF9D
00120 #define IMXK_KP_Insert             0xFF9E
00121 #define IMXK_KP_Delete             0xFF9F
00122 #define IMXK_KP_Equal              0xFFBD /* equals */
00123 #define IMXK_KP_Multiply    0xFFAA
00124 #define IMXK_KP_Add         0xFFAB
00125 #define IMXK_KP_Separator   0xFFAC /* separator, often comma */
00126 #define IMXK_KP_Subtract    0xFFAD
00127 #define IMXK_KP_Decimal            0xFFAE
00128 #define IMXK_KP_Divide             0xFFAF
00129 
00130 #define IMXK_KP_0           0xFFB0
00131 #define IMXK_KP_1           0xFFB1
00132 #define IMXK_KP_2           0xFFB2
00133 #define IMXK_KP_3           0xFFB3
00134 #define IMXK_KP_4           0xFFB4
00135 #define IMXK_KP_5           0xFFB5
00136 #define IMXK_KP_6           0xFFB6
00137 #define IMXK_KP_7           0xFFB7
00138 #define IMXK_KP_8           0xFFB8
00139 #define IMXK_KP_9           0xFFB9
00140 
00141 
00142 /*
00143 ** Auxilliary Functions; note the duplicate definitions for left and right
00144 ** function keys;  Sun keyboards and a few other manufactures have such
00145 ** function key groups on the left and/or right sides of the keyboard.
00146 ** We've not found a keyboard with more than 35 function keys total.
00147 */
00148 #define IMXK_F1                    0xFFBE
00149 #define IMXK_F2                    0xFFBF
00150 #define IMXK_F3                    0xFFC0
00151 #define IMXK_F4                    0xFFC1
00152 #define IMXK_F5                    0xFFC2
00153 #define IMXK_F6                    0xFFC3
00154 #define IMXK_F7                    0xFFC4
00155 #define IMXK_F8                    0xFFC5
00156 #define IMXK_F9                    0xFFC6
00157 #define IMXK_F10            0xFFC7
00158 #define IMXK_F11            0xFFC8
00159 #define IMXK_L1                    0xFFC8
00160 #define IMXK_F12            0xFFC9
00161 #define IMXK_L2                    0xFFC9
00162 #define IMXK_F13            0xFFCA
00163 #define IMXK_L3                    0xFFCA
00164 #define IMXK_F14            0xFFCB
00165 #define IMXK_L4                    0xFFCB
00166 #define IMXK_F15            0xFFCC
00167 #define IMXK_L5                    0xFFCC
00168 #define IMXK_F16            0xFFCD
00169 #define IMXK_L6                    0xFFCD
00170 #define IMXK_F17            0xFFCE
00171 #define IMXK_L7                    0xFFCE
00172 #define IMXK_F18            0xFFCF
00173 #define IMXK_L8                    0xFFCF
00174 #define IMXK_F19            0xFFD0
00175 #define IMXK_L9                    0xFFD0
00176 #define IMXK_F20            0xFFD1
00177 #define IMXK_L10            0xFFD1
00178 #define IMXK_F21            0xFFD2
00179 #define IMXK_R1                    0xFFD2
00180 #define IMXK_F22            0xFFD3
00181 #define IMXK_R2                    0xFFD3
00182 #define IMXK_F23            0xFFD4
00183 #define IMXK_R3                    0xFFD4
00184 #define IMXK_F24            0xFFD5
00185 #define IMXK_R4                    0xFFD5
00186 #define IMXK_F25            0xFFD6
00187 #define IMXK_R5                    0xFFD6
00188 #define IMXK_F26            0xFFD7
00189 #define IMXK_R6                    0xFFD7
00190 #define IMXK_F27            0xFFD8
00191 #define IMXK_R7                    0xFFD8
00192 #define IMXK_F28            0xFFD9
00193 #define IMXK_R8                    0xFFD9
00194 #define IMXK_F29            0xFFDA
00195 #define IMXK_R9                    0xFFDA
00196 #define IMXK_F30            0xFFDB
00197 #define IMXK_R10            0xFFDB
00198 #define IMXK_F31            0xFFDC
00199 #define IMXK_R11            0xFFDC
00200 #define IMXK_F32            0xFFDD
00201 #define IMXK_R12            0xFFDD
00202 #define IMXK_F33            0xFFDE
00203 #define IMXK_R13            0xFFDE
00204 #define IMXK_F34            0xFFDF
00205 #define IMXK_R14            0xFFDF
00206 #define IMXK_F35            0xFFE0
00207 #define IMXK_R15            0xFFE0
00208 
00209 /* Modifiers */
00210 #define IMXK_Shift_L        0xFFE1 /* Left shift */
00211 #define IMXK_Shift_R        0xFFE2 /* Right shift */
00212 #define IMXK_Control_L             0xFFE3 /* Left control */
00213 #define IMXK_Control_R             0xFFE4 /* Right control */
00214 #define IMXK_Caps_Lock             0xFFE5 /* Caps lock */
00215 #define IMXK_Shift_Lock            0xFFE6 /* Shift lock */
00216 
00217 #define IMXK_Meta_L         0xFFE7 /* Left meta */
00218 #define IMXK_Meta_R         0xFFE8 /* Right meta */
00219 #define IMXK_Alt_L          0xFFE9 /* Left alt */
00220 #define IMXK_Alt_R          0xFFEA /* Right alt */
00221 #define IMXK_Super_L        0xFFEB /* Left super */
00222 #define IMXK_Super_R        0xFFEC /* Right super */
00223 #define IMXK_Hyper_L        0xFFED /* Left hyper */
00224 #define IMXK_Hyper_R        0xFFEE /* Right hyper */
00225 
00226 /*
00227 **  Latin 1  Byte3 = 0
00228 */
00229 #define IMXK_space               0x020
00230 #define IMXK_exclam              0x021
00231 #define IMXK_quotedbl            0x022
00232 #define IMXK_numbersign          0x023
00233 #define IMXK_dollar              0x024
00234 #define IMXK_percent             0x025
00235 #define IMXK_ampersand           0x026
00236 #define IMXK_apostrophe          0x027
00237 #define IMXK_quoteright          0x027    /* deprecated */
00238 #define IMXK_parenleft           0x028
00239 #define IMXK_parenright          0x029
00240 #define IMXK_asterisk            0x02a
00241 #define IMXK_plus                0x02b
00242 #define IMXK_comma               0x02c
00243 #define IMXK_minus               0x02d
00244 #define IMXK_period              0x02e
00245 #define IMXK_slash               0x02f
00246 #define IMXK_0                   0x030
00247 #define IMXK_1                   0x031
00248 #define IMXK_2                   0x032
00249 #define IMXK_3                   0x033
00250 #define IMXK_4                   0x034
00251 #define IMXK_5                   0x035
00252 #define IMXK_6                   0x036
00253 #define IMXK_7                   0x037
00254 #define IMXK_8                   0x038
00255 #define IMXK_9                   0x039
00256 #define IMXK_colon               0x03a
00257 #define IMXK_semicolon           0x03b
00258 #define IMXK_less                0x03c
00259 #define IMXK_equal               0x03d
00260 #define IMXK_greater             0x03e
00261 #define IMXK_question            0x03f
00262 #define IMXK_at                  0x040
00263 #define IMXK_A                   0x041
00264 #define IMXK_B                   0x042
00265 #define IMXK_C                   0x043
00266 #define IMXK_D                   0x044
00267 #define IMXK_E                   0x045
00268 #define IMXK_F                   0x046
00269 #define IMXK_G                   0x047
00270 #define IMXK_H                   0x048
00271 #define IMXK_I                   0x049
00272 #define IMXK_J                   0x04a
00273 #define IMXK_K                   0x04b
00274 #define IMXK_L                   0x04c
00275 #define IMXK_M                   0x04d
00276 #define IMXK_N                   0x04e
00277 #define IMXK_O                   0x04f
00278 #define IMXK_P                   0x050
00279 #define IMXK_Q                   0x051
00280 #define IMXK_R                   0x052
00281 #define IMXK_S                   0x053
00282 #define IMXK_T                   0x054
00283 #define IMXK_U                   0x055
00284 #define IMXK_V                   0x056
00285 #define IMXK_W                   0x057
00286 #define IMXK_X                   0x058
00287 #define IMXK_Y                   0x059
00288 #define IMXK_Z                   0x05a
00289 #define IMXK_bracketleft         0x05b
00290 #define IMXK_backslash           0x05c
00291 #define IMXK_bracketright        0x05d
00292 #define IMXK_asciicircum         0x05e
00293 #define IMXK_underscore          0x05f
00294 #define IMXK_grave               0x060
00295 #define IMXK_quoteleft           0x060    /* deprecated */
00296 #define IMXK_a                   0x061
00297 #define IMXK_b                   0x062
00298 #define IMXK_c                   0x063
00299 #define IMXK_d                   0x064
00300 #define IMXK_e                   0x065
00301 #define IMXK_f                   0x066
00302 #define IMXK_g                   0x067
00303 #define IMXK_h                   0x068
00304 #define IMXK_i                   0x069
00305 #define IMXK_j                   0x06a
00306 #define IMXK_k                   0x06b
00307 #define IMXK_l                   0x06c
00308 #define IMXK_m                   0x06d
00309 #define IMXK_n                   0x06e
00310 #define IMXK_o                   0x06f
00311 #define IMXK_p                   0x070
00312 #define IMXK_q                   0x071
00313 #define IMXK_r                   0x072
00314 #define IMXK_s                   0x073
00315 #define IMXK_t                   0x074
00316 #define IMXK_u                   0x075
00317 #define IMXK_v                   0x076
00318 #define IMXK_w                   0x077
00319 #define IMXK_x                   0x078
00320 #define IMXK_y                   0x079
00321 #define IMXK_z                   0x07a
00322 #define IMXK_braceleft           0x07b
00323 #define IMXK_bar                 0x07c
00324 #define IMXK_braceright          0x07d
00325 #define IMXK_asciitilde          0x07e
00326 
00327 
00328 #endif   /* End of _IM_KEYMAP_H */
00329 
00330 
00331 
00332 
00333 
00334