1656 lines
51 KiB
Perl
1656 lines
51 KiB
Perl
# Keysyms.pm semi-automatically derived from:
|
|
# $XConsortium: keysymdef.h,v 1.21 94/08/28 16:17:06 rws Exp $
|
|
#
|
|
#**********************************************************
|
|
#Copyright (c) 1987, 1994 X Consortium
|
|
#
|
|
#Permission is hereby granted, free of charge, to any person obtaining
|
|
#a copy of this software and associated documentation files (the
|
|
#"Software"), to deal in the Software without restriction, including
|
|
#without limitation the rights to use, copy, modify, merge, publish,
|
|
#distribute, sublicense, and/or sell copies of the Software, and to
|
|
#permit persons to whom the Software is furnished to do so, subject to
|
|
#the following conditions:
|
|
#
|
|
#The above copyright notice and this permission notice shall be included
|
|
#in all copies or substantial portions of the Software.
|
|
#
|
|
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
#OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
#IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
#OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
#ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
#OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
#Except as contained in this notice, the name of the X Consortium shall
|
|
#not be used in advertising or otherwise to promote the sale, use or
|
|
#other dealings in this Software without prior written authorization
|
|
#from the X Consortium.
|
|
#
|
|
#
|
|
#Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
|
|
#
|
|
# All Rights Reserved
|
|
#
|
|
#Permission to use, copy, modify, and distribute this software and its
|
|
#documentation for any purpose and without fee is hereby granted,
|
|
#provided that the above copyright notice appear in all copies and that
|
|
#both that copyright notice and this permission notice appear in
|
|
#supporting documentation, and that the name of Digital not be
|
|
#used in advertising or publicity pertaining to distribution of the
|
|
#software without specific, written prior permission.
|
|
#
|
|
#DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
|
#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
|
#DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
|
#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
|
#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|
#SOFTWARE.
|
|
#
|
|
#*****************************************************************
|
|
|
|
package X11::Keysyms;
|
|
|
|
use Carp;
|
|
$VERSION = 0.01;
|
|
|
|
sub import {
|
|
my($pkg, $var, @x) = @_;
|
|
my($into) = caller();
|
|
|
|
croak "Need the name of a variable to import into" unless $var;
|
|
$var =~ s/^%//;
|
|
|
|
my(%KL);
|
|
if (@x) {
|
|
@KL{@x} = (1) x @x;
|
|
} else {
|
|
@KL{'MISCELLANY', 'XKB_KEYS', 'LATIN1', 'LATIN2', 'LATIN3', 'LATIN4',
|
|
'GREEK'} = (1) x 7;
|
|
}
|
|
|
|
local(*Keysyms) = *{"${into}::$var"};
|
|
# print STDERR "Exporting into ${into}::$var\n";
|
|
|
|
$Keysyms{"VoidSymbol"} = 0xFFFFFF; # void symbol
|
|
|
|
#ifdef XK_MISCELLANY
|
|
#
|
|
# * TTY Functions, cleverly chosen to map to ascii, for convenience of
|
|
# * programming, but could have been arbitrary (at the cost of lookup
|
|
# * tables in client code.
|
|
|
|
if ($KL{'MISCELLANY'}) {
|
|
$Keysyms{"BackSpace"} = 0xFF08; # back space, back char
|
|
$Keysyms{"Tab"} = 0xFF09;
|
|
$Keysyms{"Linefeed"} = 0xFF0A; # Linefeed, LF
|
|
$Keysyms{"Clear"} = 0xFF0B;
|
|
$Keysyms{"Return"} = 0xFF0D; # Return, enter
|
|
$Keysyms{"Pause"} = 0xFF13; # Pause, hold
|
|
$Keysyms{"Scroll_Lock"} = 0xFF14;
|
|
$Keysyms{"Sys_Req"} = 0xFF15;
|
|
$Keysyms{"Escape"} = 0xFF1B;
|
|
$Keysyms{"Delete"} = 0xFFFF; # Delete, rubout
|
|
|
|
# International & multi-key character composition
|
|
|
|
$Keysyms{"Multi_key"} = 0xFF20; # Multi-key character compose
|
|
|
|
# Japanese keyboard support
|
|
|
|
$Keysyms{"Kanji"} = 0xFF21; # Kanji, Kanji convert
|
|
$Keysyms{"Muhenkan"} = 0xFF22; # Cancel Conversion
|
|
$Keysyms{"Henkan_Mode"} = 0xFF23; # Start/Stop Conversion
|
|
$Keysyms{"Henkan"} = 0xFF23; # Alias for Henkan_Mode
|
|
$Keysyms{"Romaji"} = 0xFF24; # to Romaji
|
|
$Keysyms{"Hiragana"} = 0xFF25; # to Hiragana
|
|
$Keysyms{"Katakana"} = 0xFF26; # to Katakana
|
|
$Keysyms{"Hiragana_Katakana"} = 0xFF27; # Hiragana/Katakana toggle
|
|
$Keysyms{"Zenkaku"} = 0xFF28; # to Zenkaku
|
|
$Keysyms{"Hankaku"} = 0xFF29; # to Hankaku
|
|
$Keysyms{"Zenkaku_Hankaku"} = 0xFF2A; # Zenkaku/Hankaku toggle
|
|
$Keysyms{"Touroku"} = 0xFF2B; # Add to Dictionary
|
|
$Keysyms{"Massyo"} = 0xFF2C; # Delete from Dictionary
|
|
$Keysyms{"Kana_Lock"} = 0xFF2D; # Kana Lock
|
|
$Keysyms{"Kana_Shift"} = 0xFF2E; # Kana Shift
|
|
$Keysyms{"Eisu_Shift"} = 0xFF2F; # Alphanumeric Shift
|
|
$Keysyms{"Eisu_toggle"} = 0xFF30; # Alphanumeric toggle
|
|
|
|
# 0xFF31 thru 0xFF3F are under XK_KOREAN
|
|
|
|
# Cursor control & motion
|
|
|
|
$Keysyms{"Home"} = 0xFF50;
|
|
$Keysyms{"Left"} = 0xFF51; # Move left, left arrow
|
|
$Keysyms{"Up"} = 0xFF52; # Move up, up arrow
|
|
$Keysyms{"Right"} = 0xFF53; # Move right, right arrow
|
|
$Keysyms{"Down"} = 0xFF54; # Move down, down arrow
|
|
$Keysyms{"Prior"} = 0xFF55; # Prior, previous
|
|
$Keysyms{"Page_Up"} = 0xFF55;
|
|
$Keysyms{"Next"} = 0xFF56; # Next
|
|
$Keysyms{"Page_Down"} = 0xFF56;
|
|
$Keysyms{"End"} = 0xFF57; # EOL
|
|
$Keysyms{"Begin"} = 0xFF58; # BOL
|
|
|
|
|
|
# Misc Functions
|
|
|
|
$Keysyms{"Select"} = 0xFF60; # Select, mark
|
|
$Keysyms{"Print"} = 0xFF61;
|
|
$Keysyms{"Execute"} = 0xFF62; # Execute, run, do
|
|
$Keysyms{"Insert"} = 0xFF63; # Insert, insert here
|
|
$Keysyms{"Undo"} = 0xFF65; # Undo, oops
|
|
$Keysyms{"Redo"} = 0xFF66; # redo, again
|
|
$Keysyms{"Menu"} = 0xFF67;
|
|
$Keysyms{"Find"} = 0xFF68; # Find, search
|
|
$Keysyms{"Cancel"} = 0xFF69; # Cancel, stop, abort, exit
|
|
$Keysyms{"Help"} = 0xFF6A; # Help
|
|
$Keysyms{"Break"} = 0xFF6B;
|
|
$Keysyms{"Mode_switch"} = 0xFF7E; # Character set switch
|
|
$Keysyms{"script_switch"} = 0xFF7E; # Alias for mode_switch
|
|
$Keysyms{"Num_Lock"} = 0xFF7F;
|
|
|
|
# Keypad Functions, keypad numbers cleverly chosen to map to ascii
|
|
|
|
$Keysyms{"KP_Space"} = 0xFF80; # space
|
|
$Keysyms{"KP_Tab"} = 0xFF89;
|
|
$Keysyms{"KP_Enter"} = 0xFF8D; # enter
|
|
$Keysyms{"KP_F1"} = 0xFF91; # PF1, KP_A, ...
|
|
$Keysyms{"KP_F2"} = 0xFF92;
|
|
$Keysyms{"KP_F3"} = 0xFF93;
|
|
$Keysyms{"KP_F4"} = 0xFF94;
|
|
$Keysyms{"KP_Home"} = 0xFF95;
|
|
$Keysyms{"KP_Left"} = 0xFF96;
|
|
$Keysyms{"KP_Up"} = 0xFF97;
|
|
$Keysyms{"KP_Right"} = 0xFF98;
|
|
$Keysyms{"KP_Down"} = 0xFF99;
|
|
$Keysyms{"KP_Prior"} = 0xFF9A;
|
|
$Keysyms{"KP_Page_Up"} = 0xFF9A;
|
|
$Keysyms{"KP_Next"} = 0xFF9B;
|
|
$Keysyms{"KP_Page_Down"} = 0xFF9B;
|
|
$Keysyms{"KP_End"} = 0xFF9C;
|
|
$Keysyms{"KP_Begin"} = 0xFF9D;
|
|
$Keysyms{"KP_Insert"} = 0xFF9E;
|
|
$Keysyms{"KP_Delete"} = 0xFF9F;
|
|
$Keysyms{"KP_Equal"} = 0xFFBD; # equals
|
|
$Keysyms{"KP_Multiply"} = 0xFFAA;
|
|
$Keysyms{"KP_Add"} = 0xFFAB;
|
|
$Keysyms{"KP_Separator"} = 0xFFAC; # separator, often comma
|
|
$Keysyms{"KP_Subtract"} = 0xFFAD;
|
|
$Keysyms{"KP_Decimal"} = 0xFFAE;
|
|
$Keysyms{"KP_Divide"} = 0xFFAF;
|
|
|
|
$Keysyms{"KP_0"} = 0xFFB0;
|
|
$Keysyms{"KP_1"} = 0xFFB1;
|
|
$Keysyms{"KP_2"} = 0xFFB2;
|
|
$Keysyms{"KP_3"} = 0xFFB3;
|
|
$Keysyms{"KP_4"} = 0xFFB4;
|
|
$Keysyms{"KP_5"} = 0xFFB5;
|
|
$Keysyms{"KP_6"} = 0xFFB6;
|
|
$Keysyms{"KP_7"} = 0xFFB7;
|
|
$Keysyms{"KP_8"} = 0xFFB8;
|
|
$Keysyms{"KP_9"} = 0xFFB9;
|
|
|
|
#
|
|
# * Auxilliary Functions; note the duplicate definitions for left and right
|
|
# * function keys; Sun keyboards and a few other manufactures have such
|
|
# * function key groups on the left and/or right sides of the keyboard.
|
|
# * We've not found a keyboard with more than 35 function keys total.
|
|
|
|
$Keysyms{"F1"} = 0xFFBE;
|
|
$Keysyms{"F2"} = 0xFFBF;
|
|
$Keysyms{"F3"} = 0xFFC0;
|
|
$Keysyms{"F4"} = 0xFFC1;
|
|
$Keysyms{"F5"} = 0xFFC2;
|
|
$Keysyms{"F6"} = 0xFFC3;
|
|
$Keysyms{"F7"} = 0xFFC4;
|
|
$Keysyms{"F8"} = 0xFFC5;
|
|
$Keysyms{"F9"} = 0xFFC6;
|
|
$Keysyms{"F10"} = 0xFFC7;
|
|
$Keysyms{"F11"} = 0xFFC8;
|
|
$Keysyms{"L1"} = 0xFFC8;
|
|
$Keysyms{"F12"} = 0xFFC9;
|
|
$Keysyms{"L2"} = 0xFFC9;
|
|
$Keysyms{"F13"} = 0xFFCA;
|
|
$Keysyms{"L3"} = 0xFFCA;
|
|
$Keysyms{"F14"} = 0xFFCB;
|
|
$Keysyms{"L4"} = 0xFFCB;
|
|
$Keysyms{"F15"} = 0xFFCC;
|
|
$Keysyms{"L5"} = 0xFFCC;
|
|
$Keysyms{"F16"} = 0xFFCD;
|
|
$Keysyms{"L6"} = 0xFFCD;
|
|
$Keysyms{"F17"} = 0xFFCE;
|
|
$Keysyms{"L7"} = 0xFFCE;
|
|
$Keysyms{"F18"} = 0xFFCF;
|
|
$Keysyms{"L8"} = 0xFFCF;
|
|
$Keysyms{"F19"} = 0xFFD0;
|
|
$Keysyms{"L9"} = 0xFFD0;
|
|
$Keysyms{"F20"} = 0xFFD1;
|
|
$Keysyms{"L10"} = 0xFFD1;
|
|
$Keysyms{"F21"} = 0xFFD2;
|
|
$Keysyms{"R1"} = 0xFFD2;
|
|
$Keysyms{"F22"} = 0xFFD3;
|
|
$Keysyms{"R2"} = 0xFFD3;
|
|
$Keysyms{"F23"} = 0xFFD4;
|
|
$Keysyms{"R3"} = 0xFFD4;
|
|
$Keysyms{"F24"} = 0xFFD5;
|
|
$Keysyms{"R4"} = 0xFFD5;
|
|
$Keysyms{"F25"} = 0xFFD6;
|
|
$Keysyms{"R5"} = 0xFFD6;
|
|
$Keysyms{"F26"} = 0xFFD7;
|
|
$Keysyms{"R6"} = 0xFFD7;
|
|
$Keysyms{"F27"} = 0xFFD8;
|
|
$Keysyms{"R7"} = 0xFFD8;
|
|
$Keysyms{"F28"} = 0xFFD9;
|
|
$Keysyms{"R8"} = 0xFFD9;
|
|
$Keysyms{"F29"} = 0xFFDA;
|
|
$Keysyms{"R9"} = 0xFFDA;
|
|
$Keysyms{"F30"} = 0xFFDB;
|
|
$Keysyms{"R10"} = 0xFFDB;
|
|
$Keysyms{"F31"} = 0xFFDC;
|
|
$Keysyms{"R11"} = 0xFFDC;
|
|
$Keysyms{"F32"} = 0xFFDD;
|
|
$Keysyms{"R12"} = 0xFFDD;
|
|
$Keysyms{"F33"} = 0xFFDE;
|
|
$Keysyms{"R13"} = 0xFFDE;
|
|
$Keysyms{"F34"} = 0xFFDF;
|
|
$Keysyms{"R14"} = 0xFFDF;
|
|
$Keysyms{"F35"} = 0xFFE0;
|
|
$Keysyms{"R15"} = 0xFFE0;
|
|
|
|
# Modifiers
|
|
|
|
$Keysyms{"Shift_L"} = 0xFFE1; # Left shift
|
|
$Keysyms{"Shift_R"} = 0xFFE2; # Right shift
|
|
$Keysyms{"Control_L"} = 0xFFE3; # Left control
|
|
$Keysyms{"Control_R"} = 0xFFE4; # Right control
|
|
$Keysyms{"Caps_Lock"} = 0xFFE5; # Caps lock
|
|
$Keysyms{"Shift_Lock"} = 0xFFE6; # Shift lock
|
|
|
|
$Keysyms{"Meta_L"} = 0xFFE7; # Left meta
|
|
$Keysyms{"Meta_R"} = 0xFFE8; # Right meta
|
|
$Keysyms{"Alt_L"} = 0xFFE9; # Left alt
|
|
$Keysyms{"Alt_R"} = 0xFFEA; # Right alt
|
|
$Keysyms{"Super_L"} = 0xFFEB; # Left super
|
|
$Keysyms{"Super_R"} = 0xFFEC; # Right super
|
|
$Keysyms{"Hyper_L"} = 0xFFED; # Left hyper
|
|
$Keysyms{"Hyper_R"} = 0xFFEE; # Right hyper
|
|
}
|
|
#endif # XK_MISCELLANY
|
|
|
|
#
|
|
# * ISO 9995 Function and Modifier Keys
|
|
# * Byte 3 = 0xFE
|
|
|
|
|
|
#ifdef XK_XKB_KEYS
|
|
if ($KL{'XKB_KEYS'}) {
|
|
$Keysyms{"ISO_Lock"} = 0xFE01;
|
|
$Keysyms{"ISO_Level2_Latch"} = 0xFE02;
|
|
$Keysyms{"ISO_Level3_Shift"} = 0xFE03;
|
|
$Keysyms{"ISO_Level3_Latch"} = 0xFE04;
|
|
$Keysyms{"ISO_Level3_Lock"} = 0xFE05;
|
|
$Keysyms{"ISO_Group_Shift"} = 0xFF7E; # Alias for mode_switch
|
|
$Keysyms{"ISO_Group_Latch"} = 0xFE06;
|
|
$Keysyms{"ISO_Group_Lock"} = 0xFE07;
|
|
$Keysyms{"ISO_Next_Group"} = 0xFE08;
|
|
$Keysyms{"ISO_Next_Group_Lock"} = 0xFE09;
|
|
$Keysyms{"ISO_Prev_Group"} = 0xFE0A;
|
|
$Keysyms{"ISO_Prev_Group_Lock"} = 0xFE0B;
|
|
$Keysyms{"ISO_First_Group"} = 0xFE0C;
|
|
$Keysyms{"ISO_First_Group_Lock"} = 0xFE0D;
|
|
$Keysyms{"ISO_Last_Group"} = 0xFE0E;
|
|
$Keysyms{"ISO_Last_Group_Lock"} = 0xFE0F;
|
|
|
|
$Keysyms{"ISO_Left_Tab"} = 0xFE20;
|
|
$Keysyms{"ISO_Move_Line_Up"} = 0xFE21;
|
|
$Keysyms{"ISO_Move_Line_Down"} = 0xFE22;
|
|
$Keysyms{"ISO_Partial_Line_Up"} = 0xFE23;
|
|
$Keysyms{"ISO_Partial_Line_Down"} = 0xFE24;
|
|
$Keysyms{"ISO_Partial_Space_Left"} = 0xFE25;
|
|
$Keysyms{"ISO_Partial_Space_Right"} = 0xFE26;
|
|
$Keysyms{"ISO_Set_Margin_Left"} = 0xFE27;
|
|
$Keysyms{"ISO_Set_Margin_Right"} = 0xFE28;
|
|
$Keysyms{"ISO_Release_Margin_Left"} = 0xFE29;
|
|
$Keysyms{"ISO_Release_Margin_Right"} = 0xFE2A;
|
|
$Keysyms{"ISO_Release_Both_Margins"} = 0xFE2B;
|
|
$Keysyms{"ISO_Fast_Cursor_Left"} = 0xFE2C;
|
|
$Keysyms{"ISO_Fast_Cursor_Right"} = 0xFE2D;
|
|
$Keysyms{"ISO_Fast_Cursor_Up"} = 0xFE2E;
|
|
$Keysyms{"ISO_Fast_Cursor_Down"} = 0xFE2F;
|
|
$Keysyms{"ISO_Continuous_Underline"} = 0xFE30;
|
|
$Keysyms{"ISO_Discontinuous_Underline"} = 0xFE31;
|
|
$Keysyms{"ISO_Emphasize"} = 0xFE32;
|
|
$Keysyms{"ISO_Center_Object"} = 0xFE33;
|
|
$Keysyms{"ISO_Enter"} = 0xFE34;
|
|
|
|
$Keysyms{"dead_grave"} = 0xFE50;
|
|
$Keysyms{"dead_acute"} = 0xFE51;
|
|
$Keysyms{"dead_circumflex"} = 0xFE52;
|
|
$Keysyms{"dead_tilde"} = 0xFE53;
|
|
$Keysyms{"dead_macron"} = 0xFE54;
|
|
$Keysyms{"dead_breve"} = 0xFE55;
|
|
$Keysyms{"dead_abovedot"} = 0xFE56;
|
|
$Keysyms{"dead_diaeresis"} = 0xFE57;
|
|
$Keysyms{"dead_abovering"} = 0xFE58;
|
|
$Keysyms{"dead_doubleacute"} = 0xFE59;
|
|
$Keysyms{"dead_caron"} = 0xFE5A;
|
|
$Keysyms{"dead_cedilla"} = 0xFE5B;
|
|
$Keysyms{"dead_ogonek"} = 0xFE5C;
|
|
$Keysyms{"dead_iota"} = 0xFE5D;
|
|
$Keysyms{"dead_voiced_sound"} = 0xFE5E;
|
|
$Keysyms{"dead_semivoiced_sound"} = 0xFE5F;
|
|
|
|
$Keysyms{"First_Virtual_Screen"} = 0xFED0;
|
|
$Keysyms{"Prev_Virtual_Screen"} = 0xFED1;
|
|
$Keysyms{"Next_Virtual_Screen"} = 0xFED2;
|
|
$Keysyms{"Last_Virtual_Screen"} = 0xFED4;
|
|
$Keysyms{"Terminate_Server"} = 0xFED5;
|
|
|
|
$Keysyms{"Pointer_Left"} = 0xFEE0;
|
|
$Keysyms{"Pointer_Right"} = 0xFEE1;
|
|
$Keysyms{"Pointer_Up"} = 0xFEE2;
|
|
$Keysyms{"Pointer_Down"} = 0xFEE3;
|
|
$Keysyms{"Pointer_UpLeft"} = 0xFEE4;
|
|
$Keysyms{"Pointer_UpRight"} = 0xFEE5;
|
|
$Keysyms{"Pointer_DownLeft"} = 0xFEE6;
|
|
$Keysyms{"Pointer_DownRight"} = 0xFEE7;
|
|
$Keysyms{"Pointer_Button_Dflt"} = 0xFEE8;
|
|
$Keysyms{"Pointer_Button1"} = 0xFEE9;
|
|
$Keysyms{"Pointer_Button2"} = 0xFEEA;
|
|
$Keysyms{"Pointer_Button3"} = 0xFEEB;
|
|
$Keysyms{"Pointer_Button4"} = 0xFEEC;
|
|
$Keysyms{"Pointer_Button5"} = 0xFEED;
|
|
$Keysyms{"Pointer_DblClick_Dflt"} = 0xFEEE;
|
|
$Keysyms{"Pointer_DblClick1"} = 0xFEEF;
|
|
$Keysyms{"Pointer_DblClick2"} = 0xFEF0;
|
|
$Keysyms{"Pointer_DblClick3"} = 0xFEF1;
|
|
$Keysyms{"Pointer_DblClick4"} = 0xFEF2;
|
|
$Keysyms{"Pointer_DblClick5"} = 0xFEF3;
|
|
$Keysyms{"Pointer_Drag_Dflt"} = 0xFEF4;
|
|
$Keysyms{"Pointer_Drag1"} = 0xFEF5;
|
|
$Keysyms{"Pointer_Drag2"} = 0xFEF6;
|
|
$Keysyms{"Pointer_Drag3"} = 0xFEF7;
|
|
$Keysyms{"Pointer_Drag4"} = 0xFEF8;
|
|
|
|
$Keysyms{"Pointer_EnableKeys"} = 0xFEF9;
|
|
$Keysyms{"Pointer_Accelerate"} = 0xFEFA;
|
|
$Keysyms{"Pointer_DfltBtnNext"} = 0xFEFB;
|
|
$Keysyms{"Pointer_DfltBtnPrev"} = 0xFEFC;
|
|
}
|
|
#endif
|
|
|
|
#
|
|
# * 3270 Terminal Keys
|
|
# * Byte 3 = 0xFD
|
|
|
|
|
|
#ifdef XK_3270
|
|
if ($KL{'3270'}) {
|
|
$Keysyms{"3270_Duplicate"} = 0xFD01;
|
|
$Keysyms{"3270_FieldMark"} = 0xFD02;
|
|
$Keysyms{"3270_Right2"} = 0xFD03;
|
|
$Keysyms{"3270_Left2"} = 0xFD04;
|
|
$Keysyms{"3270_BackTab"} = 0xFD05;
|
|
$Keysyms{"3270_EraseEOF"} = 0xFD06;
|
|
$Keysyms{"3270_EraseInput"} = 0xFD07;
|
|
$Keysyms{"3270_Reset"} = 0xFD08;
|
|
$Keysyms{"3270_Quit"} = 0xFD09;
|
|
$Keysyms{"3270_PA1"} = 0xFD0A;
|
|
$Keysyms{"3270_PA2"} = 0xFD0B;
|
|
$Keysyms{"3270_PA3"} = 0xFD0C;
|
|
$Keysyms{"3270_Test"} = 0xFD0D;
|
|
$Keysyms{"3270_Attn"} = 0xFD0E;
|
|
$Keysyms{"3270_CursorBlink"} = 0xFD0F;
|
|
$Keysyms{"3270_AltCursor"} = 0xFD10;
|
|
$Keysyms{"3270_KeyClick"} = 0xFD11;
|
|
$Keysyms{"3270_Jump"} = 0xFD12;
|
|
$Keysyms{"3270_Ident"} = 0xFD13;
|
|
$Keysyms{"3270_Rule"} = 0xFD14;
|
|
$Keysyms{"3270_Copy"} = 0xFD15;
|
|
$Keysyms{"3270_Play"} = 0xFD16;
|
|
$Keysyms{"3270_Setup"} = 0xFD17;
|
|
$Keysyms{"3270_Record"} = 0xFD18;
|
|
$Keysyms{"3270_ChangeScreen"} = 0xFD19;
|
|
$Keysyms{"3270_DeleteWord"} = 0xFD1A;
|
|
$Keysyms{"3270_ExSelect"} = 0xFD1B;
|
|
$Keysyms{"3270_CursorSelect"} = 0xFD1C;
|
|
$Keysyms{"3270_PrintScreen"} = 0xFD1D;
|
|
$Keysyms{"3270_Enter"} = 0xFD1E;
|
|
}
|
|
#endif
|
|
|
|
#
|
|
# * Latin 1
|
|
# * Byte 3 = 0
|
|
|
|
#ifdef XK_LATIN1
|
|
if ($KL{'LATIN1'}) {
|
|
$Keysyms{"space"} = 0x020;
|
|
$Keysyms{"exclam"} = 0x021;
|
|
$Keysyms{"quotedbl"} = 0x022;
|
|
$Keysyms{"numbersign"} = 0x023;
|
|
$Keysyms{"dollar"} = 0x024;
|
|
$Keysyms{"percent"} = 0x025;
|
|
$Keysyms{"ampersand"} = 0x026;
|
|
$Keysyms{"apostrophe"} = 0x027;
|
|
$Keysyms{"quoteright"} = 0x027; # deprecated
|
|
$Keysyms{"parenleft"} = 0x028;
|
|
$Keysyms{"parenright"} = 0x029;
|
|
$Keysyms{"asterisk"} = 0x02a;
|
|
$Keysyms{"plus"} = 0x02b;
|
|
$Keysyms{"comma"} = 0x02c;
|
|
$Keysyms{"minus"} = 0x02d;
|
|
$Keysyms{"period"} = 0x02e;
|
|
$Keysyms{"slash"} = 0x02f;
|
|
$Keysyms{"0"} = 0x030;
|
|
$Keysyms{"1"} = 0x031;
|
|
$Keysyms{"2"} = 0x032;
|
|
$Keysyms{"3"} = 0x033;
|
|
$Keysyms{"4"} = 0x034;
|
|
$Keysyms{"5"} = 0x035;
|
|
$Keysyms{"6"} = 0x036;
|
|
$Keysyms{"7"} = 0x037;
|
|
$Keysyms{"8"} = 0x038;
|
|
$Keysyms{"9"} = 0x039;
|
|
$Keysyms{"colon"} = 0x03a;
|
|
$Keysyms{"semicolon"} = 0x03b;
|
|
$Keysyms{"less"} = 0x03c;
|
|
$Keysyms{"equal"} = 0x03d;
|
|
$Keysyms{"greater"} = 0x03e;
|
|
$Keysyms{"question"} = 0x03f;
|
|
$Keysyms{"at"} = 0x040;
|
|
$Keysyms{"A"} = 0x041;
|
|
$Keysyms{"B"} = 0x042;
|
|
$Keysyms{"C"} = 0x043;
|
|
$Keysyms{"D"} = 0x044;
|
|
$Keysyms{"E"} = 0x045;
|
|
$Keysyms{"F"} = 0x046;
|
|
$Keysyms{"G"} = 0x047;
|
|
$Keysyms{"H"} = 0x048;
|
|
$Keysyms{"I"} = 0x049;
|
|
$Keysyms{"J"} = 0x04a;
|
|
$Keysyms{"K"} = 0x04b;
|
|
$Keysyms{"L"} = 0x04c;
|
|
$Keysyms{"M"} = 0x04d;
|
|
$Keysyms{"N"} = 0x04e;
|
|
$Keysyms{"O"} = 0x04f;
|
|
$Keysyms{"P"} = 0x050;
|
|
$Keysyms{"Q"} = 0x051;
|
|
$Keysyms{"R"} = 0x052;
|
|
$Keysyms{"S"} = 0x053;
|
|
$Keysyms{"T"} = 0x054;
|
|
$Keysyms{"U"} = 0x055;
|
|
$Keysyms{"V"} = 0x056;
|
|
$Keysyms{"W"} = 0x057;
|
|
$Keysyms{"X"} = 0x058;
|
|
$Keysyms{"Y"} = 0x059;
|
|
$Keysyms{"Z"} = 0x05a;
|
|
$Keysyms{"bracketleft"} = 0x05b;
|
|
$Keysyms{"backslash"} = 0x05c;
|
|
$Keysyms{"bracketright"} = 0x05d;
|
|
$Keysyms{"asciicircum"} = 0x05e;
|
|
$Keysyms{"underscore"} = 0x05f;
|
|
$Keysyms{"grave"} = 0x060;
|
|
$Keysyms{"quoteleft"} = 0x060; # deprecated
|
|
$Keysyms{"a"} = 0x061;
|
|
$Keysyms{"b"} = 0x062;
|
|
$Keysyms{"c"} = 0x063;
|
|
$Keysyms{"d"} = 0x064;
|
|
$Keysyms{"e"} = 0x065;
|
|
$Keysyms{"f"} = 0x066;
|
|
$Keysyms{"g"} = 0x067;
|
|
$Keysyms{"h"} = 0x068;
|
|
$Keysyms{"i"} = 0x069;
|
|
$Keysyms{"j"} = 0x06a;
|
|
$Keysyms{"k"} = 0x06b;
|
|
$Keysyms{"l"} = 0x06c;
|
|
$Keysyms{"m"} = 0x06d;
|
|
$Keysyms{"n"} = 0x06e;
|
|
$Keysyms{"o"} = 0x06f;
|
|
$Keysyms{"p"} = 0x070;
|
|
$Keysyms{"q"} = 0x071;
|
|
$Keysyms{"r"} = 0x072;
|
|
$Keysyms{"s"} = 0x073;
|
|
$Keysyms{"t"} = 0x074;
|
|
$Keysyms{"u"} = 0x075;
|
|
$Keysyms{"v"} = 0x076;
|
|
$Keysyms{"w"} = 0x077;
|
|
$Keysyms{"x"} = 0x078;
|
|
$Keysyms{"y"} = 0x079;
|
|
$Keysyms{"z"} = 0x07a;
|
|
$Keysyms{"braceleft"} = 0x07b;
|
|
$Keysyms{"bar"} = 0x07c;
|
|
$Keysyms{"braceright"} = 0x07d;
|
|
$Keysyms{"asciitilde"} = 0x07e;
|
|
|
|
$Keysyms{"nobreakspace"} = 0x0a0;
|
|
$Keysyms{"exclamdown"} = 0x0a1;
|
|
$Keysyms{"cent"} = 0x0a2;
|
|
$Keysyms{"sterling"} = 0x0a3;
|
|
$Keysyms{"currency"} = 0x0a4;
|
|
$Keysyms{"yen"} = 0x0a5;
|
|
$Keysyms{"brokenbar"} = 0x0a6;
|
|
$Keysyms{"section"} = 0x0a7;
|
|
$Keysyms{"diaeresis"} = 0x0a8;
|
|
$Keysyms{"copyright"} = 0x0a9;
|
|
$Keysyms{"ordfeminine"} = 0x0aa;
|
|
$Keysyms{"guillemotleft"} = 0x0ab; # left angle quotation mark
|
|
$Keysyms{"notsign"} = 0x0ac;
|
|
$Keysyms{"hyphen"} = 0x0ad;
|
|
$Keysyms{"registered"} = 0x0ae;
|
|
$Keysyms{"macron"} = 0x0af;
|
|
$Keysyms{"degree"} = 0x0b0;
|
|
$Keysyms{"plusminus"} = 0x0b1;
|
|
$Keysyms{"twosuperior"} = 0x0b2;
|
|
$Keysyms{"threesuperior"} = 0x0b3;
|
|
$Keysyms{"acute"} = 0x0b4;
|
|
$Keysyms{"mu"} = 0x0b5;
|
|
$Keysyms{"paragraph"} = 0x0b6;
|
|
$Keysyms{"periodcentered"} = 0x0b7;
|
|
$Keysyms{"cedilla"} = 0x0b8;
|
|
$Keysyms{"onesuperior"} = 0x0b9;
|
|
$Keysyms{"masculine"} = 0x0ba;
|
|
$Keysyms{"guillemotright"} = 0x0bb; # right angle quotation mark
|
|
$Keysyms{"onequarter"} = 0x0bc;
|
|
$Keysyms{"onehalf"} = 0x0bd;
|
|
$Keysyms{"threequarters"} = 0x0be;
|
|
$Keysyms{"questiondown"} = 0x0bf;
|
|
$Keysyms{"Agrave"} = 0x0c0;
|
|
$Keysyms{"Aacute"} = 0x0c1;
|
|
$Keysyms{"Acircumflex"} = 0x0c2;
|
|
$Keysyms{"Atilde"} = 0x0c3;
|
|
$Keysyms{"Adiaeresis"} = 0x0c4;
|
|
$Keysyms{"Aring"} = 0x0c5;
|
|
$Keysyms{"AE"} = 0x0c6;
|
|
$Keysyms{"Ccedilla"} = 0x0c7;
|
|
$Keysyms{"Egrave"} = 0x0c8;
|
|
$Keysyms{"Eacute"} = 0x0c9;
|
|
$Keysyms{"Ecircumflex"} = 0x0ca;
|
|
$Keysyms{"Ediaeresis"} = 0x0cb;
|
|
$Keysyms{"Igrave"} = 0x0cc;
|
|
$Keysyms{"Iacute"} = 0x0cd;
|
|
$Keysyms{"Icircumflex"} = 0x0ce;
|
|
$Keysyms{"Idiaeresis"} = 0x0cf;
|
|
$Keysyms{"ETH"} = 0x0d0;
|
|
$Keysyms{"Eth"} = 0x0d0; # deprecated
|
|
$Keysyms{"Ntilde"} = 0x0d1;
|
|
$Keysyms{"Ograve"} = 0x0d2;
|
|
$Keysyms{"Oacute"} = 0x0d3;
|
|
$Keysyms{"Ocircumflex"} = 0x0d4;
|
|
$Keysyms{"Otilde"} = 0x0d5;
|
|
$Keysyms{"Odiaeresis"} = 0x0d6;
|
|
$Keysyms{"multiply"} = 0x0d7;
|
|
$Keysyms{"Ooblique"} = 0x0d8;
|
|
$Keysyms{"Ugrave"} = 0x0d9;
|
|
$Keysyms{"Uacute"} = 0x0da;
|
|
$Keysyms{"Ucircumflex"} = 0x0db;
|
|
$Keysyms{"Udiaeresis"} = 0x0dc;
|
|
$Keysyms{"Yacute"} = 0x0dd;
|
|
$Keysyms{"THORN"} = 0x0de;
|
|
$Keysyms{"Thorn"} = 0x0de; # deprecated
|
|
$Keysyms{"ssharp"} = 0x0df;
|
|
$Keysyms{"agrave"} = 0x0e0;
|
|
$Keysyms{"aacute"} = 0x0e1;
|
|
$Keysyms{"acircumflex"} = 0x0e2;
|
|
$Keysyms{"atilde"} = 0x0e3;
|
|
$Keysyms{"adiaeresis"} = 0x0e4;
|
|
$Keysyms{"aring"} = 0x0e5;
|
|
$Keysyms{"ae"} = 0x0e6;
|
|
$Keysyms{"ccedilla"} = 0x0e7;
|
|
$Keysyms{"egrave"} = 0x0e8;
|
|
$Keysyms{"eacute"} = 0x0e9;
|
|
$Keysyms{"ecircumflex"} = 0x0ea;
|
|
$Keysyms{"ediaeresis"} = 0x0eb;
|
|
$Keysyms{"igrave"} = 0x0ec;
|
|
$Keysyms{"iacute"} = 0x0ed;
|
|
$Keysyms{"icircumflex"} = 0x0ee;
|
|
$Keysyms{"idiaeresis"} = 0x0ef;
|
|
$Keysyms{"eth"} = 0x0f0;
|
|
$Keysyms{"ntilde"} = 0x0f1;
|
|
$Keysyms{"ograve"} = 0x0f2;
|
|
$Keysyms{"oacute"} = 0x0f3;
|
|
$Keysyms{"ocircumflex"} = 0x0f4;
|
|
$Keysyms{"otilde"} = 0x0f5;
|
|
$Keysyms{"odiaeresis"} = 0x0f6;
|
|
$Keysyms{"division"} = 0x0f7;
|
|
$Keysyms{"oslash"} = 0x0f8;
|
|
$Keysyms{"ugrave"} = 0x0f9;
|
|
$Keysyms{"uacute"} = 0x0fa;
|
|
$Keysyms{"ucircumflex"} = 0x0fb;
|
|
$Keysyms{"udiaeresis"} = 0x0fc;
|
|
$Keysyms{"yacute"} = 0x0fd;
|
|
$Keysyms{"thorn"} = 0x0fe;
|
|
$Keysyms{"ydiaeresis"} = 0x0ff;
|
|
}
|
|
#endif # XK_LATIN1
|
|
|
|
#
|
|
# * Latin 2
|
|
# * Byte 3 = 1
|
|
|
|
|
|
#ifdef XK_LATIN2
|
|
if ($KL{'LATIN2'}) {
|
|
$Keysyms{"Aogonek"} = 0x1a1;
|
|
$Keysyms{"breve"} = 0x1a2;
|
|
$Keysyms{"Lstroke"} = 0x1a3;
|
|
$Keysyms{"Lcaron"} = 0x1a5;
|
|
$Keysyms{"Sacute"} = 0x1a6;
|
|
$Keysyms{"Scaron"} = 0x1a9;
|
|
$Keysyms{"Scedilla"} = 0x1aa;
|
|
$Keysyms{"Tcaron"} = 0x1ab;
|
|
$Keysyms{"Zacute"} = 0x1ac;
|
|
$Keysyms{"Zcaron"} = 0x1ae;
|
|
$Keysyms{"Zabovedot"} = 0x1af;
|
|
$Keysyms{"aogonek"} = 0x1b1;
|
|
$Keysyms{"ogonek"} = 0x1b2;
|
|
$Keysyms{"lstroke"} = 0x1b3;
|
|
$Keysyms{"lcaron"} = 0x1b5;
|
|
$Keysyms{"sacute"} = 0x1b6;
|
|
$Keysyms{"caron"} = 0x1b7;
|
|
$Keysyms{"scaron"} = 0x1b9;
|
|
$Keysyms{"scedilla"} = 0x1ba;
|
|
$Keysyms{"tcaron"} = 0x1bb;
|
|
$Keysyms{"zacute"} = 0x1bc;
|
|
$Keysyms{"doubleacute"} = 0x1bd;
|
|
$Keysyms{"zcaron"} = 0x1be;
|
|
$Keysyms{"zabovedot"} = 0x1bf;
|
|
$Keysyms{"Racute"} = 0x1c0;
|
|
$Keysyms{"Abreve"} = 0x1c3;
|
|
$Keysyms{"Lacute"} = 0x1c5;
|
|
$Keysyms{"Cacute"} = 0x1c6;
|
|
$Keysyms{"Ccaron"} = 0x1c8;
|
|
$Keysyms{"Eogonek"} = 0x1ca;
|
|
$Keysyms{"Ecaron"} = 0x1cc;
|
|
$Keysyms{"Dcaron"} = 0x1cf;
|
|
$Keysyms{"Dstroke"} = 0x1d0;
|
|
$Keysyms{"Nacute"} = 0x1d1;
|
|
$Keysyms{"Ncaron"} = 0x1d2;
|
|
$Keysyms{"Odoubleacute"} = 0x1d5;
|
|
$Keysyms{"Rcaron"} = 0x1d8;
|
|
$Keysyms{"Uring"} = 0x1d9;
|
|
$Keysyms{"Udoubleacute"} = 0x1db;
|
|
$Keysyms{"Tcedilla"} = 0x1de;
|
|
$Keysyms{"racute"} = 0x1e0;
|
|
$Keysyms{"abreve"} = 0x1e3;
|
|
$Keysyms{"lacute"} = 0x1e5;
|
|
$Keysyms{"cacute"} = 0x1e6;
|
|
$Keysyms{"ccaron"} = 0x1e8;
|
|
$Keysyms{"eogonek"} = 0x1ea;
|
|
$Keysyms{"ecaron"} = 0x1ec;
|
|
$Keysyms{"dcaron"} = 0x1ef;
|
|
$Keysyms{"dstroke"} = 0x1f0;
|
|
$Keysyms{"nacute"} = 0x1f1;
|
|
$Keysyms{"ncaron"} = 0x1f2;
|
|
$Keysyms{"odoubleacute"} = 0x1f5;
|
|
$Keysyms{"udoubleacute"} = 0x1fb;
|
|
$Keysyms{"rcaron"} = 0x1f8;
|
|
$Keysyms{"uring"} = 0x1f9;
|
|
$Keysyms{"tcedilla"} = 0x1fe;
|
|
$Keysyms{"abovedot"} = 0x1ff;
|
|
}
|
|
#endif # XK_LATIN2
|
|
|
|
#
|
|
# * Latin 3
|
|
# * Byte 3 = 2
|
|
|
|
|
|
#ifdef XK_LATIN3
|
|
if ($KL{'LATIN3'}) {
|
|
$Keysyms{"Hstroke"} = 0x2a1;
|
|
$Keysyms{"Hcircumflex"} = 0x2a6;
|
|
$Keysyms{"Iabovedot"} = 0x2a9;
|
|
$Keysyms{"Gbreve"} = 0x2ab;
|
|
$Keysyms{"Jcircumflex"} = 0x2ac;
|
|
$Keysyms{"hstroke"} = 0x2b1;
|
|
$Keysyms{"hcircumflex"} = 0x2b6;
|
|
$Keysyms{"idotless"} = 0x2b9;
|
|
$Keysyms{"gbreve"} = 0x2bb;
|
|
$Keysyms{"jcircumflex"} = 0x2bc;
|
|
$Keysyms{"Cabovedot"} = 0x2c5;
|
|
$Keysyms{"Ccircumflex"} = 0x2c6;
|
|
$Keysyms{"Gabovedot"} = 0x2d5;
|
|
$Keysyms{"Gcircumflex"} = 0x2d8;
|
|
$Keysyms{"Ubreve"} = 0x2dd;
|
|
$Keysyms{"Scircumflex"} = 0x2de;
|
|
$Keysyms{"cabovedot"} = 0x2e5;
|
|
$Keysyms{"ccircumflex"} = 0x2e6;
|
|
$Keysyms{"gabovedot"} = 0x2f5;
|
|
$Keysyms{"gcircumflex"} = 0x2f8;
|
|
$Keysyms{"ubreve"} = 0x2fd;
|
|
$Keysyms{"scircumflex"} = 0x2fe;
|
|
}
|
|
#endif # XK_LATIN3
|
|
|
|
|
|
#
|
|
# * Latin 4
|
|
# * Byte 3 = 3
|
|
|
|
|
|
#ifdef XK_LATIN4
|
|
if ($KL{'LATIN4'}) {
|
|
$Keysyms{"kra"} = 0x3a2;
|
|
$Keysyms{"kappa"} = 0x3a2; # deprecated
|
|
$Keysyms{"Rcedilla"} = 0x3a3;
|
|
$Keysyms{"Itilde"} = 0x3a5;
|
|
$Keysyms{"Lcedilla"} = 0x3a6;
|
|
$Keysyms{"Emacron"} = 0x3aa;
|
|
$Keysyms{"Gcedilla"} = 0x3ab;
|
|
$Keysyms{"Tslash"} = 0x3ac;
|
|
$Keysyms{"rcedilla"} = 0x3b3;
|
|
$Keysyms{"itilde"} = 0x3b5;
|
|
$Keysyms{"lcedilla"} = 0x3b6;
|
|
$Keysyms{"emacron"} = 0x3ba;
|
|
$Keysyms{"gcedilla"} = 0x3bb;
|
|
$Keysyms{"tslash"} = 0x3bc;
|
|
$Keysyms{"ENG"} = 0x3bd;
|
|
$Keysyms{"eng"} = 0x3bf;
|
|
$Keysyms{"Amacron"} = 0x3c0;
|
|
$Keysyms{"Iogonek"} = 0x3c7;
|
|
$Keysyms{"Eabovedot"} = 0x3cc;
|
|
$Keysyms{"Imacron"} = 0x3cf;
|
|
$Keysyms{"Ncedilla"} = 0x3d1;
|
|
$Keysyms{"Omacron"} = 0x3d2;
|
|
$Keysyms{"Kcedilla"} = 0x3d3;
|
|
$Keysyms{"Uogonek"} = 0x3d9;
|
|
$Keysyms{"Utilde"} = 0x3dd;
|
|
$Keysyms{"Umacron"} = 0x3de;
|
|
$Keysyms{"amacron"} = 0x3e0;
|
|
$Keysyms{"iogonek"} = 0x3e7;
|
|
$Keysyms{"eabovedot"} = 0x3ec;
|
|
$Keysyms{"imacron"} = 0x3ef;
|
|
$Keysyms{"ncedilla"} = 0x3f1;
|
|
$Keysyms{"omacron"} = 0x3f2;
|
|
$Keysyms{"kcedilla"} = 0x3f3;
|
|
$Keysyms{"uogonek"} = 0x3f9;
|
|
$Keysyms{"utilde"} = 0x3fd;
|
|
$Keysyms{"umacron"} = 0x3fe;
|
|
}
|
|
#endif # XK_LATIN4
|
|
|
|
#
|
|
# * Katakana
|
|
# * Byte 3 = 4
|
|
|
|
|
|
#ifdef XK_KATAKANA
|
|
if ($KL{'KATAKANA'}) {
|
|
$Keysyms{"overline"} = 0x47e;
|
|
$Keysyms{"kana_fullstop"} = 0x4a1;
|
|
$Keysyms{"kana_openingbracket"} = 0x4a2;
|
|
$Keysyms{"kana_closingbracket"} = 0x4a3;
|
|
$Keysyms{"kana_comma"} = 0x4a4;
|
|
$Keysyms{"kana_conjunctive"} = 0x4a5;
|
|
$Keysyms{"kana_middledot"} = 0x4a5; # deprecated
|
|
$Keysyms{"kana_WO"} = 0x4a6;
|
|
$Keysyms{"kana_a"} = 0x4a7;
|
|
$Keysyms{"kana_i"} = 0x4a8;
|
|
$Keysyms{"kana_u"} = 0x4a9;
|
|
$Keysyms{"kana_e"} = 0x4aa;
|
|
$Keysyms{"kana_o"} = 0x4ab;
|
|
$Keysyms{"kana_ya"} = 0x4ac;
|
|
$Keysyms{"kana_yu"} = 0x4ad;
|
|
$Keysyms{"kana_yo"} = 0x4ae;
|
|
$Keysyms{"kana_tsu"} = 0x4af;
|
|
$Keysyms{"kana_tu"} = 0x4af; # deprecated
|
|
$Keysyms{"prolongedsound"} = 0x4b0;
|
|
$Keysyms{"kana_A"} = 0x4b1;
|
|
$Keysyms{"kana_I"} = 0x4b2;
|
|
$Keysyms{"kana_U"} = 0x4b3;
|
|
$Keysyms{"kana_E"} = 0x4b4;
|
|
$Keysyms{"kana_O"} = 0x4b5;
|
|
$Keysyms{"kana_KA"} = 0x4b6;
|
|
$Keysyms{"kana_KI"} = 0x4b7;
|
|
$Keysyms{"kana_KU"} = 0x4b8;
|
|
$Keysyms{"kana_KE"} = 0x4b9;
|
|
$Keysyms{"kana_KO"} = 0x4ba;
|
|
$Keysyms{"kana_SA"} = 0x4bb;
|
|
$Keysyms{"kana_SHI"} = 0x4bc;
|
|
$Keysyms{"kana_SU"} = 0x4bd;
|
|
$Keysyms{"kana_SE"} = 0x4be;
|
|
$Keysyms{"kana_SO"} = 0x4bf;
|
|
$Keysyms{"kana_TA"} = 0x4c0;
|
|
$Keysyms{"kana_CHI"} = 0x4c1;
|
|
$Keysyms{"kana_TI"} = 0x4c1; # deprecated
|
|
$Keysyms{"kana_TSU"} = 0x4c2;
|
|
$Keysyms{"kana_TU"} = 0x4c2; # deprecated
|
|
$Keysyms{"kana_TE"} = 0x4c3;
|
|
$Keysyms{"kana_TO"} = 0x4c4;
|
|
$Keysyms{"kana_NA"} = 0x4c5;
|
|
$Keysyms{"kana_NI"} = 0x4c6;
|
|
$Keysyms{"kana_NU"} = 0x4c7;
|
|
$Keysyms{"kana_NE"} = 0x4c8;
|
|
$Keysyms{"kana_NO"} = 0x4c9;
|
|
$Keysyms{"kana_HA"} = 0x4ca;
|
|
$Keysyms{"kana_HI"} = 0x4cb;
|
|
$Keysyms{"kana_FU"} = 0x4cc;
|
|
$Keysyms{"kana_HU"} = 0x4cc; # deprecated
|
|
$Keysyms{"kana_HE"} = 0x4cd;
|
|
$Keysyms{"kana_HO"} = 0x4ce;
|
|
$Keysyms{"kana_MA"} = 0x4cf;
|
|
$Keysyms{"kana_MI"} = 0x4d0;
|
|
$Keysyms{"kana_MU"} = 0x4d1;
|
|
$Keysyms{"kana_ME"} = 0x4d2;
|
|
$Keysyms{"kana_MO"} = 0x4d3;
|
|
$Keysyms{"kana_YA"} = 0x4d4;
|
|
$Keysyms{"kana_YU"} = 0x4d5;
|
|
$Keysyms{"kana_YO"} = 0x4d6;
|
|
$Keysyms{"kana_RA"} = 0x4d7;
|
|
$Keysyms{"kana_RI"} = 0x4d8;
|
|
$Keysyms{"kana_RU"} = 0x4d9;
|
|
$Keysyms{"kana_RE"} = 0x4da;
|
|
$Keysyms{"kana_RO"} = 0x4db;
|
|
$Keysyms{"kana_WA"} = 0x4dc;
|
|
$Keysyms{"kana_N"} = 0x4dd;
|
|
$Keysyms{"voicedsound"} = 0x4de;
|
|
$Keysyms{"semivoicedsound"} = 0x4df;
|
|
$Keysyms{"kana_switch"} = 0xFF7E; # Alias for mode_switch
|
|
}
|
|
#endif # XK_KATAKANA
|
|
|
|
#
|
|
# * Arabic
|
|
# * Byte 3 = 5
|
|
|
|
|
|
#ifdef XK_ARABIC
|
|
if ($KL{'ARABIC'}) {
|
|
$Keysyms{"Arabic_comma"} = 0x5ac;
|
|
$Keysyms{"Arabic_semicolon"} = 0x5bb;
|
|
$Keysyms{"Arabic_question_mark"} = 0x5bf;
|
|
$Keysyms{"Arabic_hamza"} = 0x5c1;
|
|
$Keysyms{"Arabic_maddaonalef"} = 0x5c2;
|
|
$Keysyms{"Arabic_hamzaonalef"} = 0x5c3;
|
|
$Keysyms{"Arabic_hamzaonwaw"} = 0x5c4;
|
|
$Keysyms{"Arabic_hamzaunderalef"} = 0x5c5;
|
|
$Keysyms{"Arabic_hamzaonyeh"} = 0x5c6;
|
|
$Keysyms{"Arabic_alef"} = 0x5c7;
|
|
$Keysyms{"Arabic_beh"} = 0x5c8;
|
|
$Keysyms{"Arabic_tehmarbuta"} = 0x5c9;
|
|
$Keysyms{"Arabic_teh"} = 0x5ca;
|
|
$Keysyms{"Arabic_theh"} = 0x5cb;
|
|
$Keysyms{"Arabic_jeem"} = 0x5cc;
|
|
$Keysyms{"Arabic_hah"} = 0x5cd;
|
|
$Keysyms{"Arabic_khah"} = 0x5ce;
|
|
$Keysyms{"Arabic_dal"} = 0x5cf;
|
|
$Keysyms{"Arabic_thal"} = 0x5d0;
|
|
$Keysyms{"Arabic_ra"} = 0x5d1;
|
|
$Keysyms{"Arabic_zain"} = 0x5d2;
|
|
$Keysyms{"Arabic_seen"} = 0x5d3;
|
|
$Keysyms{"Arabic_sheen"} = 0x5d4;
|
|
$Keysyms{"Arabic_sad"} = 0x5d5;
|
|
$Keysyms{"Arabic_dad"} = 0x5d6;
|
|
$Keysyms{"Arabic_tah"} = 0x5d7;
|
|
$Keysyms{"Arabic_zah"} = 0x5d8;
|
|
$Keysyms{"Arabic_ain"} = 0x5d9;
|
|
$Keysyms{"Arabic_ghain"} = 0x5da;
|
|
$Keysyms{"Arabic_tatweel"} = 0x5e0;
|
|
$Keysyms{"Arabic_feh"} = 0x5e1;
|
|
$Keysyms{"Arabic_qaf"} = 0x5e2;
|
|
$Keysyms{"Arabic_kaf"} = 0x5e3;
|
|
$Keysyms{"Arabic_lam"} = 0x5e4;
|
|
$Keysyms{"Arabic_meem"} = 0x5e5;
|
|
$Keysyms{"Arabic_noon"} = 0x5e6;
|
|
$Keysyms{"Arabic_ha"} = 0x5e7;
|
|
$Keysyms{"Arabic_heh"} = 0x5e7; # deprecated
|
|
$Keysyms{"Arabic_waw"} = 0x5e8;
|
|
$Keysyms{"Arabic_alefmaksura"} = 0x5e9;
|
|
$Keysyms{"Arabic_yeh"} = 0x5ea;
|
|
$Keysyms{"Arabic_fathatan"} = 0x5eb;
|
|
$Keysyms{"Arabic_dammatan"} = 0x5ec;
|
|
$Keysyms{"Arabic_kasratan"} = 0x5ed;
|
|
$Keysyms{"Arabic_fatha"} = 0x5ee;
|
|
$Keysyms{"Arabic_damma"} = 0x5ef;
|
|
$Keysyms{"Arabic_kasra"} = 0x5f0;
|
|
$Keysyms{"Arabic_shadda"} = 0x5f1;
|
|
$Keysyms{"Arabic_sukun"} = 0x5f2;
|
|
$Keysyms{"Arabic_switch"} = 0xFF7E; # Alias for mode_switch
|
|
}
|
|
#endif # XK_ARABIC
|
|
|
|
#
|
|
# * Cyrillic
|
|
# * Byte 3 = 6
|
|
|
|
#ifdef XK_CYRILLIC
|
|
if ($KL{'CYRILLIC'}) {
|
|
$Keysyms{"Serbian_dje"} = 0x6a1;
|
|
$Keysyms{"Macedonia_gje"} = 0x6a2;
|
|
$Keysyms{"Cyrillic_io"} = 0x6a3;
|
|
$Keysyms{"Ukrainian_ie"} = 0x6a4;
|
|
$Keysyms{"Ukranian_je"} = 0x6a4; # deprecated
|
|
$Keysyms{"Macedonia_dse"} = 0x6a5;
|
|
$Keysyms{"Ukrainian_i"} = 0x6a6;
|
|
$Keysyms{"Ukranian_i"} = 0x6a6; # deprecated
|
|
$Keysyms{"Ukrainian_yi"} = 0x6a7;
|
|
$Keysyms{"Ukranian_yi"} = 0x6a7; # deprecated
|
|
$Keysyms{"Cyrillic_je"} = 0x6a8;
|
|
$Keysyms{"Serbian_je"} = 0x6a8; # deprecated
|
|
$Keysyms{"Cyrillic_lje"} = 0x6a9;
|
|
$Keysyms{"Serbian_lje"} = 0x6a9; # deprecated
|
|
$Keysyms{"Cyrillic_nje"} = 0x6aa;
|
|
$Keysyms{"Serbian_nje"} = 0x6aa; # deprecated
|
|
$Keysyms{"Serbian_tshe"} = 0x6ab;
|
|
$Keysyms{"Macedonia_kje"} = 0x6ac;
|
|
$Keysyms{"Byelorussian_shortu"} = 0x6ae;
|
|
$Keysyms{"Cyrillic_dzhe"} = 0x6af;
|
|
$Keysyms{"Serbian_dze"} = 0x6af; # deprecated
|
|
$Keysyms{"numerosign"} = 0x6b0;
|
|
$Keysyms{"Serbian_DJE"} = 0x6b1;
|
|
$Keysyms{"Macedonia_GJE"} = 0x6b2;
|
|
$Keysyms{"Cyrillic_IO"} = 0x6b3;
|
|
$Keysyms{"Ukrainian_IE"} = 0x6b4;
|
|
$Keysyms{"Ukranian_JE"} = 0x6b4; # deprecated
|
|
$Keysyms{"Macedonia_DSE"} = 0x6b5;
|
|
$Keysyms{"Ukrainian_I"} = 0x6b6;
|
|
$Keysyms{"Ukranian_I"} = 0x6b6; # deprecated
|
|
$Keysyms{"Ukrainian_YI"} = 0x6b7;
|
|
$Keysyms{"Ukranian_YI"} = 0x6b7; # deprecated
|
|
$Keysyms{"Cyrillic_JE"} = 0x6b8;
|
|
$Keysyms{"Serbian_JE"} = 0x6b8; # deprecated
|
|
$Keysyms{"Cyrillic_LJE"} = 0x6b9;
|
|
$Keysyms{"Serbian_LJE"} = 0x6b9; # deprecated
|
|
$Keysyms{"Cyrillic_NJE"} = 0x6ba;
|
|
$Keysyms{"Serbian_NJE"} = 0x6ba; # deprecated
|
|
$Keysyms{"Serbian_TSHE"} = 0x6bb;
|
|
$Keysyms{"Macedonia_KJE"} = 0x6bc;
|
|
$Keysyms{"Byelorussian_SHORTU"} = 0x6be;
|
|
$Keysyms{"Cyrillic_DZHE"} = 0x6bf;
|
|
$Keysyms{"Serbian_DZE"} = 0x6bf; # deprecated
|
|
$Keysyms{"Cyrillic_yu"} = 0x6c0;
|
|
$Keysyms{"Cyrillic_a"} = 0x6c1;
|
|
$Keysyms{"Cyrillic_be"} = 0x6c2;
|
|
$Keysyms{"Cyrillic_tse"} = 0x6c3;
|
|
$Keysyms{"Cyrillic_de"} = 0x6c4;
|
|
$Keysyms{"Cyrillic_ie"} = 0x6c5;
|
|
$Keysyms{"Cyrillic_ef"} = 0x6c6;
|
|
$Keysyms{"Cyrillic_ghe"} = 0x6c7;
|
|
$Keysyms{"Cyrillic_ha"} = 0x6c8;
|
|
$Keysyms{"Cyrillic_i"} = 0x6c9;
|
|
$Keysyms{"Cyrillic_shorti"} = 0x6ca;
|
|
$Keysyms{"Cyrillic_ka"} = 0x6cb;
|
|
$Keysyms{"Cyrillic_el"} = 0x6cc;
|
|
$Keysyms{"Cyrillic_em"} = 0x6cd;
|
|
$Keysyms{"Cyrillic_en"} = 0x6ce;
|
|
$Keysyms{"Cyrillic_o"} = 0x6cf;
|
|
$Keysyms{"Cyrillic_pe"} = 0x6d0;
|
|
$Keysyms{"Cyrillic_ya"} = 0x6d1;
|
|
$Keysyms{"Cyrillic_er"} = 0x6d2;
|
|
$Keysyms{"Cyrillic_es"} = 0x6d3;
|
|
$Keysyms{"Cyrillic_te"} = 0x6d4;
|
|
$Keysyms{"Cyrillic_u"} = 0x6d5;
|
|
$Keysyms{"Cyrillic_zhe"} = 0x6d6;
|
|
$Keysyms{"Cyrillic_ve"} = 0x6d7;
|
|
$Keysyms{"Cyrillic_softsign"} = 0x6d8;
|
|
$Keysyms{"Cyrillic_yeru"} = 0x6d9;
|
|
$Keysyms{"Cyrillic_ze"} = 0x6da;
|
|
$Keysyms{"Cyrillic_sha"} = 0x6db;
|
|
$Keysyms{"Cyrillic_e"} = 0x6dc;
|
|
$Keysyms{"Cyrillic_shcha"} = 0x6dd;
|
|
$Keysyms{"Cyrillic_che"} = 0x6de;
|
|
$Keysyms{"Cyrillic_hardsign"} = 0x6df;
|
|
$Keysyms{"Cyrillic_YU"} = 0x6e0;
|
|
$Keysyms{"Cyrillic_A"} = 0x6e1;
|
|
$Keysyms{"Cyrillic_BE"} = 0x6e2;
|
|
$Keysyms{"Cyrillic_TSE"} = 0x6e3;
|
|
$Keysyms{"Cyrillic_DE"} = 0x6e4;
|
|
$Keysyms{"Cyrillic_IE"} = 0x6e5;
|
|
$Keysyms{"Cyrillic_EF"} = 0x6e6;
|
|
$Keysyms{"Cyrillic_GHE"} = 0x6e7;
|
|
$Keysyms{"Cyrillic_HA"} = 0x6e8;
|
|
$Keysyms{"Cyrillic_I"} = 0x6e9;
|
|
$Keysyms{"Cyrillic_SHORTI"} = 0x6ea;
|
|
$Keysyms{"Cyrillic_KA"} = 0x6eb;
|
|
$Keysyms{"Cyrillic_EL"} = 0x6ec;
|
|
$Keysyms{"Cyrillic_EM"} = 0x6ed;
|
|
$Keysyms{"Cyrillic_EN"} = 0x6ee;
|
|
$Keysyms{"Cyrillic_O"} = 0x6ef;
|
|
$Keysyms{"Cyrillic_PE"} = 0x6f0;
|
|
$Keysyms{"Cyrillic_YA"} = 0x6f1;
|
|
$Keysyms{"Cyrillic_ER"} = 0x6f2;
|
|
$Keysyms{"Cyrillic_ES"} = 0x6f3;
|
|
$Keysyms{"Cyrillic_TE"} = 0x6f4;
|
|
$Keysyms{"Cyrillic_U"} = 0x6f5;
|
|
$Keysyms{"Cyrillic_ZHE"} = 0x6f6;
|
|
$Keysyms{"Cyrillic_VE"} = 0x6f7;
|
|
$Keysyms{"Cyrillic_SOFTSIGN"} = 0x6f8;
|
|
$Keysyms{"Cyrillic_YERU"} = 0x6f9;
|
|
$Keysyms{"Cyrillic_ZE"} = 0x6fa;
|
|
$Keysyms{"Cyrillic_SHA"} = 0x6fb;
|
|
$Keysyms{"Cyrillic_E"} = 0x6fc;
|
|
$Keysyms{"Cyrillic_SHCHA"} = 0x6fd;
|
|
$Keysyms{"Cyrillic_CHE"} = 0x6fe;
|
|
$Keysyms{"Cyrillic_HARDSIGN"} = 0x6ff;
|
|
}
|
|
#endif # XK_CYRILLIC
|
|
|
|
#
|
|
# * Greek
|
|
# * Byte 3 = 7
|
|
|
|
|
|
#ifdef XK_GREEK
|
|
if ($KL{'GREEK'}) {
|
|
$Keysyms{"Greek_ALPHAaccent"} = 0x7a1;
|
|
$Keysyms{"Greek_EPSILONaccent"} = 0x7a2;
|
|
$Keysyms{"Greek_ETAaccent"} = 0x7a3;
|
|
$Keysyms{"Greek_IOTAaccent"} = 0x7a4;
|
|
$Keysyms{"Greek_IOTAdiaeresis"} = 0x7a5;
|
|
$Keysyms{"Greek_OMICRONaccent"} = 0x7a7;
|
|
$Keysyms{"Greek_UPSILONaccent"} = 0x7a8;
|
|
$Keysyms{"Greek_UPSILONdieresis"} = 0x7a9;
|
|
$Keysyms{"Greek_OMEGAaccent"} = 0x7ab;
|
|
$Keysyms{"Greek_accentdieresis"} = 0x7ae;
|
|
$Keysyms{"Greek_horizbar"} = 0x7af;
|
|
$Keysyms{"Greek_alphaaccent"} = 0x7b1;
|
|
$Keysyms{"Greek_epsilonaccent"} = 0x7b2;
|
|
$Keysyms{"Greek_etaaccent"} = 0x7b3;
|
|
$Keysyms{"Greek_iotaaccent"} = 0x7b4;
|
|
$Keysyms{"Greek_iotadieresis"} = 0x7b5;
|
|
$Keysyms{"Greek_iotaaccentdieresis"} = 0x7b6;
|
|
$Keysyms{"Greek_omicronaccent"} = 0x7b7;
|
|
$Keysyms{"Greek_upsilonaccent"} = 0x7b8;
|
|
$Keysyms{"Greek_upsilondieresis"} = 0x7b9;
|
|
$Keysyms{"Greek_upsilonaccentdieresis"} = 0x7ba;
|
|
$Keysyms{"Greek_omegaaccent"} = 0x7bb;
|
|
$Keysyms{"Greek_ALPHA"} = 0x7c1;
|
|
$Keysyms{"Greek_BETA"} = 0x7c2;
|
|
$Keysyms{"Greek_GAMMA"} = 0x7c3;
|
|
$Keysyms{"Greek_DELTA"} = 0x7c4;
|
|
$Keysyms{"Greek_EPSILON"} = 0x7c5;
|
|
$Keysyms{"Greek_ZETA"} = 0x7c6;
|
|
$Keysyms{"Greek_ETA"} = 0x7c7;
|
|
$Keysyms{"Greek_THETA"} = 0x7c8;
|
|
$Keysyms{"Greek_IOTA"} = 0x7c9;
|
|
$Keysyms{"Greek_KAPPA"} = 0x7ca;
|
|
$Keysyms{"Greek_LAMDA"} = 0x7cb;
|
|
$Keysyms{"Greek_LAMBDA"} = 0x7cb;
|
|
$Keysyms{"Greek_MU"} = 0x7cc;
|
|
$Keysyms{"Greek_NU"} = 0x7cd;
|
|
$Keysyms{"Greek_XI"} = 0x7ce;
|
|
$Keysyms{"Greek_OMICRON"} = 0x7cf;
|
|
$Keysyms{"Greek_PI"} = 0x7d0;
|
|
$Keysyms{"Greek_RHO"} = 0x7d1;
|
|
$Keysyms{"Greek_SIGMA"} = 0x7d2;
|
|
$Keysyms{"Greek_TAU"} = 0x7d4;
|
|
$Keysyms{"Greek_UPSILON"} = 0x7d5;
|
|
$Keysyms{"Greek_PHI"} = 0x7d6;
|
|
$Keysyms{"Greek_CHI"} = 0x7d7;
|
|
$Keysyms{"Greek_PSI"} = 0x7d8;
|
|
$Keysyms{"Greek_OMEGA"} = 0x7d9;
|
|
$Keysyms{"Greek_alpha"} = 0x7e1;
|
|
$Keysyms{"Greek_beta"} = 0x7e2;
|
|
$Keysyms{"Greek_gamma"} = 0x7e3;
|
|
$Keysyms{"Greek_delta"} = 0x7e4;
|
|
$Keysyms{"Greek_epsilon"} = 0x7e5;
|
|
$Keysyms{"Greek_zeta"} = 0x7e6;
|
|
$Keysyms{"Greek_eta"} = 0x7e7;
|
|
$Keysyms{"Greek_theta"} = 0x7e8;
|
|
$Keysyms{"Greek_iota"} = 0x7e9;
|
|
$Keysyms{"Greek_kappa"} = 0x7ea;
|
|
$Keysyms{"Greek_lamda"} = 0x7eb;
|
|
$Keysyms{"Greek_lambda"} = 0x7eb;
|
|
$Keysyms{"Greek_mu"} = 0x7ec;
|
|
$Keysyms{"Greek_nu"} = 0x7ed;
|
|
$Keysyms{"Greek_xi"} = 0x7ee;
|
|
$Keysyms{"Greek_omicron"} = 0x7ef;
|
|
$Keysyms{"Greek_pi"} = 0x7f0;
|
|
$Keysyms{"Greek_rho"} = 0x7f1;
|
|
$Keysyms{"Greek_sigma"} = 0x7f2;
|
|
$Keysyms{"Greek_finalsmallsigma"} = 0x7f3;
|
|
$Keysyms{"Greek_tau"} = 0x7f4;
|
|
$Keysyms{"Greek_upsilon"} = 0x7f5;
|
|
$Keysyms{"Greek_phi"} = 0x7f6;
|
|
$Keysyms{"Greek_chi"} = 0x7f7;
|
|
$Keysyms{"Greek_psi"} = 0x7f8;
|
|
$Keysyms{"Greek_omega"} = 0x7f9;
|
|
$Keysyms{"Greek_switch"} = 0xFF7E; # Alias for mode_switch
|
|
}
|
|
#endif # XK_GREEK
|
|
|
|
#
|
|
# * Technical
|
|
# * Byte 3 = 8
|
|
|
|
|
|
#ifdef XK_TECHNICAL
|
|
if ($KL{'TECHNICAL'}) {
|
|
$Keysyms{"leftradical"} = 0x8a1;
|
|
$Keysyms{"topleftradical"} = 0x8a2;
|
|
$Keysyms{"horizconnector"} = 0x8a3;
|
|
$Keysyms{"topintegral"} = 0x8a4;
|
|
$Keysyms{"botintegral"} = 0x8a5;
|
|
$Keysyms{"vertconnector"} = 0x8a6;
|
|
$Keysyms{"topleftsqbracket"} = 0x8a7;
|
|
$Keysyms{"botleftsqbracket"} = 0x8a8;
|
|
$Keysyms{"toprightsqbracket"} = 0x8a9;
|
|
$Keysyms{"botrightsqbracket"} = 0x8aa;
|
|
$Keysyms{"topleftparens"} = 0x8ab;
|
|
$Keysyms{"botleftparens"} = 0x8ac;
|
|
$Keysyms{"toprightparens"} = 0x8ad;
|
|
$Keysyms{"botrightparens"} = 0x8ae;
|
|
$Keysyms{"leftmiddlecurlybrace"} = 0x8af;
|
|
$Keysyms{"rightmiddlecurlybrace"} = 0x8b0;
|
|
$Keysyms{"topleftsummation"} = 0x8b1;
|
|
$Keysyms{"botleftsummation"} = 0x8b2;
|
|
$Keysyms{"topvertsummationconnector"} = 0x8b3;
|
|
$Keysyms{"botvertsummationconnector"} = 0x8b4;
|
|
$Keysyms{"toprightsummation"} = 0x8b5;
|
|
$Keysyms{"botrightsummation"} = 0x8b6;
|
|
$Keysyms{"rightmiddlesummation"} = 0x8b7;
|
|
$Keysyms{"lessthanequal"} = 0x8bc;
|
|
$Keysyms{"notequal"} = 0x8bd;
|
|
$Keysyms{"greaterthanequal"} = 0x8be;
|
|
$Keysyms{"integral"} = 0x8bf;
|
|
$Keysyms{"therefore"} = 0x8c0;
|
|
$Keysyms{"variation"} = 0x8c1;
|
|
$Keysyms{"infinity"} = 0x8c2;
|
|
$Keysyms{"nabla"} = 0x8c5;
|
|
$Keysyms{"approximate"} = 0x8c8;
|
|
$Keysyms{"similarequal"} = 0x8c9;
|
|
$Keysyms{"ifonlyif"} = 0x8cd;
|
|
$Keysyms{"implies"} = 0x8ce;
|
|
$Keysyms{"identical"} = 0x8cf;
|
|
$Keysyms{"radical"} = 0x8d6;
|
|
$Keysyms{"includedin"} = 0x8da;
|
|
$Keysyms{"includes"} = 0x8db;
|
|
$Keysyms{"intersection"} = 0x8dc;
|
|
$Keysyms{"union"} = 0x8dd;
|
|
$Keysyms{"logicaland"} = 0x8de;
|
|
$Keysyms{"logicalor"} = 0x8df;
|
|
$Keysyms{"partialderivative"} = 0x8ef;
|
|
$Keysyms{"function"} = 0x8f6;
|
|
$Keysyms{"leftarrow"} = 0x8fb;
|
|
$Keysyms{"uparrow"} = 0x8fc;
|
|
$Keysyms{"rightarrow"} = 0x8fd;
|
|
$Keysyms{"downarrow"} = 0x8fe;
|
|
}
|
|
#endif # XK_TECHNICAL
|
|
|
|
#
|
|
# * Special
|
|
# * Byte 3 = 9
|
|
|
|
|
|
#ifdef XK_SPECIAL
|
|
if ($KL{'SPECIAL'}) {
|
|
$Keysyms{"blank"} = 0x9df;
|
|
$Keysyms{"soliddiamond"} = 0x9e0;
|
|
$Keysyms{"checkerboard"} = 0x9e1;
|
|
$Keysyms{"ht"} = 0x9e2;
|
|
$Keysyms{"ff"} = 0x9e3;
|
|
$Keysyms{"cr"} = 0x9e4;
|
|
$Keysyms{"lf"} = 0x9e5;
|
|
$Keysyms{"nl"} = 0x9e8;
|
|
$Keysyms{"vt"} = 0x9e9;
|
|
$Keysyms{"lowrightcorner"} = 0x9ea;
|
|
$Keysyms{"uprightcorner"} = 0x9eb;
|
|
$Keysyms{"upleftcorner"} = 0x9ec;
|
|
$Keysyms{"lowleftcorner"} = 0x9ed;
|
|
$Keysyms{"crossinglines"} = 0x9ee;
|
|
$Keysyms{"horizlinescan1"} = 0x9ef;
|
|
$Keysyms{"horizlinescan3"} = 0x9f0;
|
|
$Keysyms{"horizlinescan5"} = 0x9f1;
|
|
$Keysyms{"horizlinescan7"} = 0x9f2;
|
|
$Keysyms{"horizlinescan9"} = 0x9f3;
|
|
$Keysyms{"leftt"} = 0x9f4;
|
|
$Keysyms{"rightt"} = 0x9f5;
|
|
$Keysyms{"bott"} = 0x9f6;
|
|
$Keysyms{"topt"} = 0x9f7;
|
|
$Keysyms{"vertbar"} = 0x9f8;
|
|
}
|
|
#endif # XK_SPECIAL
|
|
|
|
#
|
|
# * Publishing
|
|
# * Byte 3 = a
|
|
|
|
|
|
#ifdef XK_PUBLISHING
|
|
if ($KL{'PUBLISHING'}) {
|
|
$Keysyms{"emspace"} = 0xaa1;
|
|
$Keysyms{"enspace"} = 0xaa2;
|
|
$Keysyms{"em3space"} = 0xaa3;
|
|
$Keysyms{"em4space"} = 0xaa4;
|
|
$Keysyms{"digitspace"} = 0xaa5;
|
|
$Keysyms{"punctspace"} = 0xaa6;
|
|
$Keysyms{"thinspace"} = 0xaa7;
|
|
$Keysyms{"hairspace"} = 0xaa8;
|
|
$Keysyms{"emdash"} = 0xaa9;
|
|
$Keysyms{"endash"} = 0xaaa;
|
|
$Keysyms{"signifblank"} = 0xaac;
|
|
$Keysyms{"ellipsis"} = 0xaae;
|
|
$Keysyms{"doubbaselinedot"} = 0xaaf;
|
|
$Keysyms{"onethird"} = 0xab0;
|
|
$Keysyms{"twothirds"} = 0xab1;
|
|
$Keysyms{"onefifth"} = 0xab2;
|
|
$Keysyms{"twofifths"} = 0xab3;
|
|
$Keysyms{"threefifths"} = 0xab4;
|
|
$Keysyms{"fourfifths"} = 0xab5;
|
|
$Keysyms{"onesixth"} = 0xab6;
|
|
$Keysyms{"fivesixths"} = 0xab7;
|
|
$Keysyms{"careof"} = 0xab8;
|
|
$Keysyms{"figdash"} = 0xabb;
|
|
$Keysyms{"leftanglebracket"} = 0xabc;
|
|
$Keysyms{"decimalpoint"} = 0xabd;
|
|
$Keysyms{"rightanglebracket"} = 0xabe;
|
|
$Keysyms{"marker"} = 0xabf;
|
|
$Keysyms{"oneeighth"} = 0xac3;
|
|
$Keysyms{"threeeighths"} = 0xac4;
|
|
$Keysyms{"fiveeighths"} = 0xac5;
|
|
$Keysyms{"seveneighths"} = 0xac6;
|
|
$Keysyms{"trademark"} = 0xac9;
|
|
$Keysyms{"signaturemark"} = 0xaca;
|
|
$Keysyms{"trademarkincircle"} = 0xacb;
|
|
$Keysyms{"leftopentriangle"} = 0xacc;
|
|
$Keysyms{"rightopentriangle"} = 0xacd;
|
|
$Keysyms{"emopencircle"} = 0xace;
|
|
$Keysyms{"emopenrectangle"} = 0xacf;
|
|
$Keysyms{"leftsinglequotemark"} = 0xad0;
|
|
$Keysyms{"rightsinglequotemark"} = 0xad1;
|
|
$Keysyms{"leftdoublequotemark"} = 0xad2;
|
|
$Keysyms{"rightdoublequotemark"} = 0xad3;
|
|
$Keysyms{"prescription"} = 0xad4;
|
|
$Keysyms{"minutes"} = 0xad6;
|
|
$Keysyms{"seconds"} = 0xad7;
|
|
$Keysyms{"latincross"} = 0xad9;
|
|
$Keysyms{"hexagram"} = 0xada;
|
|
$Keysyms{"filledrectbullet"} = 0xadb;
|
|
$Keysyms{"filledlefttribullet"} = 0xadc;
|
|
$Keysyms{"filledrighttribullet"} = 0xadd;
|
|
$Keysyms{"emfilledcircle"} = 0xade;
|
|
$Keysyms{"emfilledrect"} = 0xadf;
|
|
$Keysyms{"enopencircbullet"} = 0xae0;
|
|
$Keysyms{"enopensquarebullet"} = 0xae1;
|
|
$Keysyms{"openrectbullet"} = 0xae2;
|
|
$Keysyms{"opentribulletup"} = 0xae3;
|
|
$Keysyms{"opentribulletdown"} = 0xae4;
|
|
$Keysyms{"openstar"} = 0xae5;
|
|
$Keysyms{"enfilledcircbullet"} = 0xae6;
|
|
$Keysyms{"enfilledsqbullet"} = 0xae7;
|
|
$Keysyms{"filledtribulletup"} = 0xae8;
|
|
$Keysyms{"filledtribulletdown"} = 0xae9;
|
|
$Keysyms{"leftpointer"} = 0xaea;
|
|
$Keysyms{"rightpointer"} = 0xaeb;
|
|
$Keysyms{"club"} = 0xaec;
|
|
$Keysyms{"diamond"} = 0xaed;
|
|
$Keysyms{"heart"} = 0xaee;
|
|
$Keysyms{"maltesecross"} = 0xaf0;
|
|
$Keysyms{"dagger"} = 0xaf1;
|
|
$Keysyms{"doubledagger"} = 0xaf2;
|
|
$Keysyms{"checkmark"} = 0xaf3;
|
|
$Keysyms{"ballotcross"} = 0xaf4;
|
|
$Keysyms{"musicalsharp"} = 0xaf5;
|
|
$Keysyms{"musicalflat"} = 0xaf6;
|
|
$Keysyms{"malesymbol"} = 0xaf7;
|
|
$Keysyms{"femalesymbol"} = 0xaf8;
|
|
$Keysyms{"telephone"} = 0xaf9;
|
|
$Keysyms{"telephonerecorder"} = 0xafa;
|
|
$Keysyms{"phonographcopyright"} = 0xafb;
|
|
$Keysyms{"caret"} = 0xafc;
|
|
$Keysyms{"singlelowquotemark"} = 0xafd;
|
|
$Keysyms{"doublelowquotemark"} = 0xafe;
|
|
$Keysyms{"cursor"} = 0xaff;
|
|
}
|
|
#endif # XK_PUBLISHING
|
|
|
|
#
|
|
# * APL
|
|
# * Byte 3 = b
|
|
|
|
|
|
#ifdef XK_APL
|
|
if ($KL{'APL'}) {
|
|
$Keysyms{"leftcaret"} = 0xba3;
|
|
$Keysyms{"rightcaret"} = 0xba6;
|
|
$Keysyms{"downcaret"} = 0xba8;
|
|
$Keysyms{"upcaret"} = 0xba9;
|
|
$Keysyms{"overbar"} = 0xbc0;
|
|
$Keysyms{"downtack"} = 0xbc2;
|
|
$Keysyms{"upshoe"} = 0xbc3;
|
|
$Keysyms{"downstile"} = 0xbc4;
|
|
$Keysyms{"underbar"} = 0xbc6;
|
|
$Keysyms{"jot"} = 0xbca;
|
|
$Keysyms{"quad"} = 0xbcc;
|
|
$Keysyms{"uptack"} = 0xbce;
|
|
$Keysyms{"circle"} = 0xbcf;
|
|
$Keysyms{"upstile"} = 0xbd3;
|
|
$Keysyms{"downshoe"} = 0xbd6;
|
|
$Keysyms{"rightshoe"} = 0xbd8;
|
|
$Keysyms{"leftshoe"} = 0xbda;
|
|
$Keysyms{"lefttack"} = 0xbdc;
|
|
$Keysyms{"righttack"} = 0xbfc;
|
|
}
|
|
#endif # XK_APL
|
|
|
|
#
|
|
# * Hebrew
|
|
# * Byte 3 = c
|
|
|
|
|
|
#ifdef XK_HEBREW
|
|
if ($KL{'HEBREW'}) {
|
|
$Keysyms{"hebrew_doublelowline"} = 0xcdf;
|
|
$Keysyms{"hebrew_aleph"} = 0xce0;
|
|
$Keysyms{"hebrew_bet"} = 0xce1;
|
|
$Keysyms{"hebrew_beth"} = 0xce1; # deprecated
|
|
$Keysyms{"hebrew_gimel"} = 0xce2;
|
|
$Keysyms{"hebrew_gimmel"} = 0xce2; # deprecated
|
|
$Keysyms{"hebrew_dalet"} = 0xce3;
|
|
$Keysyms{"hebrew_daleth"} = 0xce3; # deprecated
|
|
$Keysyms{"hebrew_he"} = 0xce4;
|
|
$Keysyms{"hebrew_waw"} = 0xce5;
|
|
$Keysyms{"hebrew_zain"} = 0xce6;
|
|
$Keysyms{"hebrew_zayin"} = 0xce6; # deprecated
|
|
$Keysyms{"hebrew_chet"} = 0xce7;
|
|
$Keysyms{"hebrew_het"} = 0xce7; # deprecated
|
|
$Keysyms{"hebrew_tet"} = 0xce8;
|
|
$Keysyms{"hebrew_teth"} = 0xce8; # deprecated
|
|
$Keysyms{"hebrew_yod"} = 0xce9;
|
|
$Keysyms{"hebrew_finalkaph"} = 0xcea;
|
|
$Keysyms{"hebrew_kaph"} = 0xceb;
|
|
$Keysyms{"hebrew_lamed"} = 0xcec;
|
|
$Keysyms{"hebrew_finalmem"} = 0xced;
|
|
$Keysyms{"hebrew_mem"} = 0xcee;
|
|
$Keysyms{"hebrew_finalnun"} = 0xcef;
|
|
$Keysyms{"hebrew_nun"} = 0xcf0;
|
|
$Keysyms{"hebrew_samech"} = 0xcf1;
|
|
$Keysyms{"hebrew_samekh"} = 0xcf1; # deprecated
|
|
$Keysyms{"hebrew_ayin"} = 0xcf2;
|
|
$Keysyms{"hebrew_finalpe"} = 0xcf3;
|
|
$Keysyms{"hebrew_pe"} = 0xcf4;
|
|
$Keysyms{"hebrew_finalzade"} = 0xcf5;
|
|
$Keysyms{"hebrew_finalzadi"} = 0xcf5; # deprecated
|
|
$Keysyms{"hebrew_zade"} = 0xcf6;
|
|
$Keysyms{"hebrew_zadi"} = 0xcf6; # deprecated
|
|
$Keysyms{"hebrew_qoph"} = 0xcf7;
|
|
$Keysyms{"hebrew_kuf"} = 0xcf7; # deprecated
|
|
$Keysyms{"hebrew_resh"} = 0xcf8;
|
|
$Keysyms{"hebrew_shin"} = 0xcf9;
|
|
$Keysyms{"hebrew_taw"} = 0xcfa;
|
|
$Keysyms{"hebrew_taf"} = 0xcfa; # deprecated
|
|
$Keysyms{"Hebrew_switch"} = 0xFF7E; # Alias for mode_switch
|
|
}
|
|
#endif # XK_HEBREW
|
|
|
|
#
|
|
# * Thai
|
|
# * Byte 3 = d
|
|
|
|
|
|
#ifdef XK_THAI
|
|
if ($KL{'THAI'}) {
|
|
$Keysyms{"Thai_kokai"} = 0xda1;
|
|
$Keysyms{"Thai_khokhai"} = 0xda2;
|
|
$Keysyms{"Thai_khokhuat"} = 0xda3;
|
|
$Keysyms{"Thai_khokhwai"} = 0xda4;
|
|
$Keysyms{"Thai_khokhon"} = 0xda5;
|
|
$Keysyms{"Thai_khorakhang"} = 0xda6;
|
|
$Keysyms{"Thai_ngongu"} = 0xda7;
|
|
$Keysyms{"Thai_chochan"} = 0xda8;
|
|
$Keysyms{"Thai_choching"} = 0xda9;
|
|
$Keysyms{"Thai_chochang"} = 0xdaa;
|
|
$Keysyms{"Thai_soso"} = 0xdab;
|
|
$Keysyms{"Thai_chochoe"} = 0xdac;
|
|
$Keysyms{"Thai_yoying"} = 0xdad;
|
|
$Keysyms{"Thai_dochada"} = 0xdae;
|
|
$Keysyms{"Thai_topatak"} = 0xdaf;
|
|
$Keysyms{"Thai_thothan"} = 0xdb0;
|
|
$Keysyms{"Thai_thonangmontho"} = 0xdb1;
|
|
$Keysyms{"Thai_thophuthao"} = 0xdb2;
|
|
$Keysyms{"Thai_nonen"} = 0xdb3;
|
|
$Keysyms{"Thai_dodek"} = 0xdb4;
|
|
$Keysyms{"Thai_totao"} = 0xdb5;
|
|
$Keysyms{"Thai_thothung"} = 0xdb6;
|
|
$Keysyms{"Thai_thothahan"} = 0xdb7;
|
|
$Keysyms{"Thai_thothong"} = 0xdb8;
|
|
$Keysyms{"Thai_nonu"} = 0xdb9;
|
|
$Keysyms{"Thai_bobaimai"} = 0xdba;
|
|
$Keysyms{"Thai_popla"} = 0xdbb;
|
|
$Keysyms{"Thai_phophung"} = 0xdbc;
|
|
$Keysyms{"Thai_fofa"} = 0xdbd;
|
|
$Keysyms{"Thai_phophan"} = 0xdbe;
|
|
$Keysyms{"Thai_fofan"} = 0xdbf;
|
|
$Keysyms{"Thai_phosamphao"} = 0xdc0;
|
|
$Keysyms{"Thai_moma"} = 0xdc1;
|
|
$Keysyms{"Thai_yoyak"} = 0xdc2;
|
|
$Keysyms{"Thai_rorua"} = 0xdc3;
|
|
$Keysyms{"Thai_ru"} = 0xdc4;
|
|
$Keysyms{"Thai_loling"} = 0xdc5;
|
|
$Keysyms{"Thai_lu"} = 0xdc6;
|
|
$Keysyms{"Thai_wowaen"} = 0xdc7;
|
|
$Keysyms{"Thai_sosala"} = 0xdc8;
|
|
$Keysyms{"Thai_sorusi"} = 0xdc9;
|
|
$Keysyms{"Thai_sosua"} = 0xdca;
|
|
$Keysyms{"Thai_hohip"} = 0xdcb;
|
|
$Keysyms{"Thai_lochula"} = 0xdcc;
|
|
$Keysyms{"Thai_oang"} = 0xdcd;
|
|
$Keysyms{"Thai_honokhuk"} = 0xdce;
|
|
$Keysyms{"Thai_paiyannoi"} = 0xdcf;
|
|
$Keysyms{"Thai_saraa"} = 0xdd0;
|
|
$Keysyms{"Thai_maihanakat"} = 0xdd1;
|
|
$Keysyms{"Thai_saraaa"} = 0xdd2;
|
|
$Keysyms{"Thai_saraam"} = 0xdd3;
|
|
$Keysyms{"Thai_sarai"} = 0xdd4;
|
|
$Keysyms{"Thai_saraii"} = 0xdd5;
|
|
$Keysyms{"Thai_saraue"} = 0xdd6;
|
|
$Keysyms{"Thai_sarauee"} = 0xdd7;
|
|
$Keysyms{"Thai_sarau"} = 0xdd8;
|
|
$Keysyms{"Thai_sarauu"} = 0xdd9;
|
|
$Keysyms{"Thai_phinthu"} = 0xdda;
|
|
$Keysyms{"Thai_maihanakat_maitho"} = 0xdde;
|
|
$Keysyms{"Thai_baht"} = 0xddf;
|
|
$Keysyms{"Thai_sarae"} = 0xde0;
|
|
$Keysyms{"Thai_saraae"} = 0xde1;
|
|
$Keysyms{"Thai_sarao"} = 0xde2;
|
|
$Keysyms{"Thai_saraaimaimuan"} = 0xde3;
|
|
$Keysyms{"Thai_saraaimaimalai"} = 0xde4;
|
|
$Keysyms{"Thai_lakkhangyao"} = 0xde5;
|
|
$Keysyms{"Thai_maiyamok"} = 0xde6;
|
|
$Keysyms{"Thai_maitaikhu"} = 0xde7;
|
|
$Keysyms{"Thai_maiek"} = 0xde8;
|
|
$Keysyms{"Thai_maitho"} = 0xde9;
|
|
$Keysyms{"Thai_maitri"} = 0xdea;
|
|
$Keysyms{"Thai_maichattawa"} = 0xdeb;
|
|
$Keysyms{"Thai_thanthakhat"} = 0xdec;
|
|
$Keysyms{"Thai_nikhahit"} = 0xded;
|
|
$Keysyms{"Thai_leksun"} = 0xdf0;
|
|
$Keysyms{"Thai_leknung"} = 0xdf1;
|
|
$Keysyms{"Thai_leksong"} = 0xdf2;
|
|
$Keysyms{"Thai_leksam"} = 0xdf3;
|
|
$Keysyms{"Thai_leksi"} = 0xdf4;
|
|
$Keysyms{"Thai_lekha"} = 0xdf5;
|
|
$Keysyms{"Thai_lekhok"} = 0xdf6;
|
|
$Keysyms{"Thai_lekchet"} = 0xdf7;
|
|
$Keysyms{"Thai_lekpaet"} = 0xdf8;
|
|
$Keysyms{"Thai_lekkao"} = 0xdf9;
|
|
}
|
|
#endif # XK_THAI
|
|
|
|
#
|
|
# * Korean
|
|
# * Byte 3 = e
|
|
|
|
|
|
#ifdef XK_KOREAN
|
|
if ($KL{'KOREAN'}) {
|
|
$Keysyms{"Hangul"} = 0xff31; # Hangul start/stop(toggle)
|
|
$Keysyms{"Hangul_Start"} = 0xff32; # Hangul start
|
|
$Keysyms{"Hangul_End"} = 0xff33; # Hangul end, English start
|
|
$Keysyms{"Hangul_Hanja"} = 0xff34; # Start Hangul->Hanja Conversion
|
|
$Keysyms{"Hangul_Jamo"} = 0xff35; # Hangul Jamo mode
|
|
$Keysyms{"Hangul_Romaja"} = 0xff36; # Hangul Romaja mode
|
|
$Keysyms{"Hangul_Codeinput"} = 0xff37; # Hangul code input mode
|
|
$Keysyms{"Hangul_Jeonja"} = 0xff38; # Jeonja mode
|
|
$Keysyms{"Hangul_Banja"} = 0xff39; # Banja mode
|
|
$Keysyms{"Hangul_PreHanja"} = 0xff3a; # Pre Hanja conversion
|
|
$Keysyms{"Hangul_PostHanja"} = 0xff3b; # Post Hanja conversion
|
|
$Keysyms{"Hangul_SingleCandidate"} = 0xff3c; # Single candidate
|
|
$Keysyms{"Hangul_MultipleCandidate"} = 0xff3d; # Multiple candidate
|
|
$Keysyms{"Hangul_PreviousCandidate"} = 0xff3e; # Previous candidate
|
|
$Keysyms{"Hangul_Special"} = 0xff3f; # Special symbols
|
|
$Keysyms{"Hangul_switch"} = 0xFF7E; # Alias for mode_switch
|
|
|
|
# Hangul Consonant Characters
|
|
$Keysyms{"Hangul_Kiyeog"} = 0xea1;
|
|
$Keysyms{"Hangul_SsangKiyeog"} = 0xea2;
|
|
$Keysyms{"Hangul_KiyeogSios"} = 0xea3;
|
|
$Keysyms{"Hangul_Nieun"} = 0xea4;
|
|
$Keysyms{"Hangul_NieunJieuj"} = 0xea5;
|
|
$Keysyms{"Hangul_NieunHieuh"} = 0xea6;
|
|
$Keysyms{"Hangul_Dikeud"} = 0xea7;
|
|
$Keysyms{"Hangul_SsangDikeud"} = 0xea8;
|
|
$Keysyms{"Hangul_Rieul"} = 0xea9;
|
|
$Keysyms{"Hangul_RieulKiyeog"} = 0xeaa;
|
|
$Keysyms{"Hangul_RieulMieum"} = 0xeab;
|
|
$Keysyms{"Hangul_RieulPieub"} = 0xeac;
|
|
$Keysyms{"Hangul_RieulSios"} = 0xead;
|
|
$Keysyms{"Hangul_RieulTieut"} = 0xeae;
|
|
$Keysyms{"Hangul_RieulPhieuf"} = 0xeaf;
|
|
$Keysyms{"Hangul_RieulHieuh"} = 0xeb0;
|
|
$Keysyms{"Hangul_Mieum"} = 0xeb1;
|
|
$Keysyms{"Hangul_Pieub"} = 0xeb2;
|
|
$Keysyms{"Hangul_SsangPieub"} = 0xeb3;
|
|
$Keysyms{"Hangul_PieubSios"} = 0xeb4;
|
|
$Keysyms{"Hangul_Sios"} = 0xeb5;
|
|
$Keysyms{"Hangul_SsangSios"} = 0xeb6;
|
|
$Keysyms{"Hangul_Ieung"} = 0xeb7;
|
|
$Keysyms{"Hangul_Jieuj"} = 0xeb8;
|
|
$Keysyms{"Hangul_SsangJieuj"} = 0xeb9;
|
|
$Keysyms{"Hangul_Cieuc"} = 0xeba;
|
|
$Keysyms{"Hangul_Khieuq"} = 0xebb;
|
|
$Keysyms{"Hangul_Tieut"} = 0xebc;
|
|
$Keysyms{"Hangul_Phieuf"} = 0xebd;
|
|
$Keysyms{"Hangul_Hieuh"} = 0xebe;
|
|
|
|
# Hangul Vowel Characters
|
|
$Keysyms{"Hangul_A"} = 0xebf;
|
|
$Keysyms{"Hangul_AE"} = 0xec0;
|
|
$Keysyms{"Hangul_YA"} = 0xec1;
|
|
$Keysyms{"Hangul_YAE"} = 0xec2;
|
|
$Keysyms{"Hangul_EO"} = 0xec3;
|
|
$Keysyms{"Hangul_E"} = 0xec4;
|
|
$Keysyms{"Hangul_YEO"} = 0xec5;
|
|
$Keysyms{"Hangul_YE"} = 0xec6;
|
|
$Keysyms{"Hangul_O"} = 0xec7;
|
|
$Keysyms{"Hangul_WA"} = 0xec8;
|
|
$Keysyms{"Hangul_WAE"} = 0xec9;
|
|
$Keysyms{"Hangul_OE"} = 0xeca;
|
|
$Keysyms{"Hangul_YO"} = 0xecb;
|
|
$Keysyms{"Hangul_U"} = 0xecc;
|
|
$Keysyms{"Hangul_WEO"} = 0xecd;
|
|
$Keysyms{"Hangul_WE"} = 0xece;
|
|
$Keysyms{"Hangul_WI"} = 0xecf;
|
|
$Keysyms{"Hangul_YU"} = 0xed0;
|
|
$Keysyms{"Hangul_EU"} = 0xed1;
|
|
$Keysyms{"Hangul_YI"} = 0xed2;
|
|
$Keysyms{"Hangul_I"} = 0xed3;
|
|
|
|
# Hangul syllable-final (JongSeong) Characters
|
|
$Keysyms{"Hangul_J_Kiyeog"} = 0xed4;
|
|
$Keysyms{"Hangul_J_SsangKiyeog"} = 0xed5;
|
|
$Keysyms{"Hangul_J_KiyeogSios"} = 0xed6;
|
|
$Keysyms{"Hangul_J_Nieun"} = 0xed7;
|
|
$Keysyms{"Hangul_J_NieunJieuj"} = 0xed8;
|
|
$Keysyms{"Hangul_J_NieunHieuh"} = 0xed9;
|
|
$Keysyms{"Hangul_J_Dikeud"} = 0xeda;
|
|
$Keysyms{"Hangul_J_Rieul"} = 0xedb;
|
|
$Keysyms{"Hangul_J_RieulKiyeog"} = 0xedc;
|
|
$Keysyms{"Hangul_J_RieulMieum"} = 0xedd;
|
|
$Keysyms{"Hangul_J_RieulPieub"} = 0xede;
|
|
$Keysyms{"Hangul_J_RieulSios"} = 0xedf;
|
|
$Keysyms{"Hangul_J_RieulTieut"} = 0xee0;
|
|
$Keysyms{"Hangul_J_RieulPhieuf"} = 0xee1;
|
|
$Keysyms{"Hangul_J_RieulHieuh"} = 0xee2;
|
|
$Keysyms{"Hangul_J_Mieum"} = 0xee3;
|
|
$Keysyms{"Hangul_J_Pieub"} = 0xee4;
|
|
$Keysyms{"Hangul_J_PieubSios"} = 0xee5;
|
|
$Keysyms{"Hangul_J_Sios"} = 0xee6;
|
|
$Keysyms{"Hangul_J_SsangSios"} = 0xee7;
|
|
$Keysyms{"Hangul_J_Ieung"} = 0xee8;
|
|
$Keysyms{"Hangul_J_Jieuj"} = 0xee9;
|
|
$Keysyms{"Hangul_J_Cieuc"} = 0xeea;
|
|
$Keysyms{"Hangul_J_Khieuq"} = 0xeeb;
|
|
$Keysyms{"Hangul_J_Tieut"} = 0xeec;
|
|
$Keysyms{"Hangul_J_Phieuf"} = 0xeed;
|
|
$Keysyms{"Hangul_J_Hieuh"} = 0xeee;
|
|
|
|
# Ancient Hangul Consonant Characters
|
|
$Keysyms{"Hangul_RieulYeorinHieuh"} = 0xeef;
|
|
$Keysyms{"Hangul_SunkyeongeumMieum"} = 0xef0;
|
|
$Keysyms{"Hangul_SunkyeongeumPieub"} = 0xef1;
|
|
$Keysyms{"Hangul_PanSios"} = 0xef2;
|
|
$Keysyms{"Hangul_KkogjiDalrinIeung"} = 0xef3;
|
|
$Keysyms{"Hangul_SunkyeongeumPhieuf"} = 0xef4;
|
|
$Keysyms{"Hangul_YeorinHieuh"} = 0xef5;
|
|
|
|
# Ancient Hangul Vowel Characters
|
|
$Keysyms{"Hangul_AraeA"} = 0xef6;
|
|
$Keysyms{"Hangul_AraeAE"} = 0xef7;
|
|
|
|
# Ancient Hangul syllable-final (JongSeong) Characters
|
|
$Keysyms{"Hangul_J_PanSios"} = 0xef8;
|
|
$Keysyms{"Hangul_J_KkogjiDalrinIeung"} = 0xef9;
|
|
$Keysyms{"Hangul_J_YeorinHieuh"} = 0xefa;
|
|
|
|
# Korean currency symbol
|
|
$Keysyms{"Korean_Won"} = 0xeff;
|
|
}
|
|
#endif # XK_KOREAN
|
|
|
|
}
|
|
|
|
1;
|
|
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
X11::Keysyms - Perl module for names of X11 keysyms
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
use X11::Keysyms '%Keysyms', qw(MISCELLANY XKB_KEYS LATIN1);
|
|
%Keysyms_name = reverse %Keysyms;
|
|
$ks = $Keysyms{'BackSpace'};
|
|
$name = $Keysysms_name{$ks};
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This module exports a hash mapping the names of X11 keysyms, such
|
|
as 'A' or 'Linefeed' or 'Hangul_J_YeorinHieuh', onto the numbers that
|
|
represent them. The first argument to 'use' is the name of the variable
|
|
the hash should be exported into, and the rest are names of subsets of
|
|
the keysysms to export: one or more of
|
|
|
|
'MISCELLANY', 'XKB_KEYS', '3270', 'LATIN1', 'LATIN2',
|
|
'LATIN3', 'LATIN4', 'KATAKANA', 'ARABIC', 'CYRILLIC',
|
|
'GREEK', 'TECHNICAL', 'SPECIAL', 'PUBLISHING', 'APL',
|
|
'HEBREW', 'THAI', 'KOREAN'.
|
|
|
|
If this list is omitted, the list
|
|
|
|
'MISCELLANY', 'XKB_KEYS', 'LATIN1', 'LATIN2', 'LATIN3',
|
|
'LATIN4', 'GREEK'
|
|
|
|
is used.
|
|
|
|
=head1 AUTHOR
|
|
|
|
This module was generated semi-automatically by Stephen McCamant
|
|
(<SMCCAM@cpan.org>) from the header file 'X11/keysymdef.h', distributed by the
|
|
X Consortium.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<perl(1)>,
|
|
L<X11::Protocol>,
|
|
I<X Window System Protocol (X Version 11)>.
|
|
|
|
=cut
|