This commit is contained in:
2025-09-27 22:09:23 +03:00
commit 914c0295ac
2468 changed files with 204262 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
/*
* (c) Copyright 1990 1991 Tektronix Inc.
* 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 Tektronix not be used
* in advertising or publicity pertaining to distribution of the software
* without specific, written prior permission.
*
* Tektronix disclaims all warranties with regard to this software, including
* all implied warranties of merchantability and fitness, in no event shall
* Tektronix 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.
*
*
* NAME
* Xcms.txt
*
* DESCRIPTION
* Sample Color Name Database
*
*/
This device-independent color name database is provided just as an example.
There are no claims that these color specifications are or should be bound
to the corresponding color name.
As you can see, the start of the database is indicated by "XCMS_COLORDB_START".
Anything before this is assumed to be comments. The "0.1" indicates the
version number of the format/syntax used in this file. The color name is
delimited from the color specification by one or more tabs.
XCMS_COLORDB_START 0.1
cms red CIEXYZ:0.3811/0.2073/0.0213
cms green CIEXYZ:0.3203/0.6805/0.1430
cms blue CIEXYZ:0.2483/0.1122/1.2417
XCMS_COLORDB_END

View File

@@ -0,0 +1,47 @@

View File

@@ -0,0 +1,8 @@
# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME
#
# XI18N objects table for euro locales
#
XLC common/xlibi18n _XlcGenericLoader # XLC_open
XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister
XOM common/xomGeneric _XomGenericOpenOM # XOM_open

View File

@@ -0,0 +1,106 @@
# XLocale Database Sample for C.
#
#
# XLC_FONTSET category
#
XLC_FONTSET
# fs0 class (7 bit ASCII)
fs0 {
charset {
name ISO8859-1:GL
}
font {
primary ISO8859-1:GL
vertical_rotate all
}
}
END XLC_FONTSET
#
# XLC_XLOCALE category
#
XLC_XLOCALE
encoding_name STRING
mb_cur_max 1
state_depend_encoding False
wc_encoding_mask \x30000000
wc_shift_bits 7
use_stdc_env True
force_convert_to_mb True
# cs0 class
cs0 {
side GL:Default
length 1
wc_encoding \x00000000
ct_encoding ISO8859-1:GL
}
# cs1 class
cs1 {
side GR:Default
length 1
wc_encoding \x30000000
ct_encoding ISO8859-1:GR
}
END XLC_XLOCALE

View File

@@ -0,0 +1 @@
C/XLC_LOCALE: C

View File

@@ -0,0 +1,33 @@
The core protocol interpretation of keyboard modifiers does not include direct
support for multiple keyboard groups, so XKB reports the effective keyboard
group to XKB-aware clients using some of the reserved bits in the state field
of some core protocol events. This modified state field would not be interpreted
correctly by XKB-unaware clients, so XKB provides a group compatibility mapping
which remaps the keyboard group into a core modifier mask that has similar
effects, when possible.
XKB maintains three compatibility state components that are used to make
XKB-unaware clients(*) work as well as possible:
- The compatibility state which corresponds to the effective modifier and
effective group state.
- The compatibility lookup state which is the core-protocol equivalent of the
lookup state.
- The compatibility grab state which is the nearest core-protocol equivalent
of the grab state.
Compatibility states are essentially the corresponding XKB states, but with
the keyboard group possibly encoded as one or more modifiers.
Modifiers that correspond to each keyboard group are described in this
group compatibility map.
----
(*) The implementation of XKB invisibly extends the X library to use the
keyboard extension if it is present. That means, clients that use library or
toolkit routines to interpret keyboard events automatically use all of XKB's
features; clients that directly interpret the state field of core-protocol
events or the keymap directly may be affected by some of the XKB differences.
Thus most clients can take all advantages without modification but it also
means that XKB state can be reported to clients that have not explicitly
requested the keyboard extension.

View File

@@ -0,0 +1,52 @@
default partial xkb_compatibility "basic" {
interpret AccessX_Enable {
action= LockControls(controls=AccessXKeys);
};
};
partial xkb_compatibility "full" {
interpret AccessX_Enable {
action= LockControls(controls=AccessXKeys);
};
interpret AccessX_Feedback_Enable {
action= LockControls(controls=AccessXFeedback);
};
interpret RepeatKeys_Enable {
action= LockControls(controls=RepeatKeys);
};
interpret SlowKeys_Enable {
action= LockControls(controls=SlowKeys);
};
interpret BounceKeys_Enable {
action= LockControls(controls=BounceKeys);
};
interpret StickyKeys_Enable {
action= LockControls(controls=StickyKeys);
};
interpret MouseKeys_Enable {
action= LockControls(controls=MouseKeys);
};
interpret MouseKeys_Accel_Enable {
action= LockControls(controls=MouseKeysAccel);
};
interpret Overlay1_Enable {
action= LockControls(controls=Overlay1);
};
interpret Overlay2_Enable {
action= LockControls(controls=Overlay2);
};
interpret AudibleBell_Enable {
action= LockControls(controls=AudibleBell);
};
};

View File

@@ -0,0 +1,49 @@
// Minimal set of symbol interpretations to provide
// reasonable default behavior (Num lock, Shift lock,
// Caps lock, and Mode switch) and set up the
// automatic updating of common keyboard LEDs.
default xkb_compatibility "basic" {
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= LockMods(modifiers=Shift);
};
interpret Any+Lock {
action= LockMods(modifiers=Lock);
};
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=+1);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
include "ledcaps"
include "lednum"
indicator "Shift Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= Shift;
};
};

View File

@@ -0,0 +1,11 @@
partial xkb_compatibility "caps_lock" {
// Keysym Caps_Lock locks the Lock modifier.
// With this definition, the keysym Caps_Lock can be used without binding
// the whole key to a real modifier. This is essential when you don't
// want to use Caps_Lock on the first level.
// This should not have any compatibility issues when used together with
// other layouts which don't utilize this capability.
interpret Caps_Lock {
action = LockMods(modifiers = Lock);
};
};

View File

@@ -0,0 +1,10 @@
default xkb_compatibility "complete" {
include "basic"
augment "iso9995"
augment "mousekeys"
augment "accessx(full)"
augment "misc"
augment "xfree86"
augment "level5"
augment "caps(caps_lock)"
};

View File

@@ -0,0 +1,77 @@
// Fairly complete set of symbol interpretations
// to provide reasonable default behavior.
default partial xkb_compatibility "default" {
virtual_modifiers LevelThree,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret ISO_Level2_Latch+Shift {
useModMapMods= level1;
action= LatchMods(modifiers=Shift);
};
interpret ISO_Level3_Shift+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= SetMods(modifiers=LevelThree);
};
interpret ISO_Level3_Shift {
action= SetMods(modifiers=LevelThree);
};
interpret ISO_Level3_Latch+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= LatchMods(modifiers=LevelThree);
};
interpret ISO_Level3_Latch {
action= LatchMods(modifiers=LevelThree);
};
interpret ISO_Level3_Lock+Any {
useModMapMods= level1;
virtualModifier= LevelThree;
action= LockMods(modifiers=LevelThree);
};
interpret ISO_Level3_Lock {
action= LockMods(modifiers=LevelThree);
};
interpret ISO_Group_Latch {
useModMapMods= level1;
virtualModifier= AltGr;
action= LatchGroup(group=2);
};
interpret ISO_Next_Group {
useModMapMods= level1;
virtualModifier= AltGr;
action= LockGroup(group=+1);
};
interpret ISO_Prev_Group {
useModMapMods= level1;
virtualModifier= AltGr;
action= LockGroup(group=-1);
};
interpret ISO_First_Group {
action= LockGroup(group=1);
};
interpret ISO_Last_Group {
action= LockGroup(group=2);
};
indicator "Group 2" {
!allowExplicit;
groups= All-Group1;
};
};

View File

@@ -0,0 +1,45 @@
// Japanese keyboards need the Eisu and Kana Shift
// and Lock keys, which are typically bound to the
// second shift level of some other modifier key.
// These interpretations disable the default
// interpretation (which would have these keys set
// to the same modifier as the level one symbol).
default partial xkb_compatibility "japan" {
interpret.repeat= False;
interpret Eisu_Shift+Lock {
action= NoAction();
};
interpret Eisu_toggle+Lock {
action= NoAction();
};
interpret Kana_Shift+Lock {
action= NoAction();
};
interpret Kana_Lock+Lock {
action= NoAction();
};
};
// Some Japanese keyboards have an explict
// Kana Lock key and matching LED.
partial xkb_compatibility "kana_lock" {
virtual_modifiers Kana_Lock;
interpret Kana_Lock+AnyOfOrNone(all) {
virtualModifier= Kana_Lock;
useModMapMods=level1;
action= LockGroup(group=+1);
};
indicator "Kana" {
!allowExplicit;
groups= All-Group1;
};
};

View File

@@ -0,0 +1,24 @@
// Use the Caps Lock LED to show either
// Caps Lock, Group, or Shift Lock state.
default partial xkb_compatibility "caps_lock" {
indicator "Caps Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= Lock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Caps Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Caps Lock" {
whichModState= Locked;
modifiers= Shift;
};
};

View File

@@ -0,0 +1,24 @@
// Use the Num Lock LED to show either
// Num Lock, Group, or Shift Lock state.
default partial xkb_compatibility "num_lock" {
indicator "Num Lock" {
!allowExplicit;
whichModState= Locked;
modifiers= NumLock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Num Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Num Lock" {
whichModState= Locked;
modifiers= Shift;
};
};

View File

@@ -0,0 +1,24 @@
// Use the Scroll Lock LED to show either
// Scroll Lock, Group, or Shift Lock state.
default partial xkb_compatibility "scroll_lock" {
indicator "Scroll Lock" {
allowExplicit;
whichModState= Locked;
modifiers= ScrollLock;
};
};
partial xkb_compatibility "group_lock" {
indicator "Scroll Lock" {
modifiers= None;
groups=All-group1;
};
};
partial xkb_compatibility "shift_lock" {
indicator "Scroll Lock" {
whichModState= Locked;
modifiers= Shift;
};
};

View File

@@ -0,0 +1,56 @@
// Fairly complete set of symbol interpretations
// to provide reasonable default behavior.
default partial xkb_compatibility "default" {
virtual_modifiers LevelFive;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret ISO_Level5_Shift+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= SetMods(modifiers=LevelFive);
};
interpret ISO_Level5_Shift {
action= SetMods(modifiers=LevelFive);
};
interpret ISO_Level5_Latch+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= LatchMods(modifiers=LevelFive);
};
interpret ISO_Level5_Latch {
action= LatchMods(modifiers=LevelFive);
};
interpret ISO_Level5_Lock+Any {
useModMapMods= level1;
virtualModifier= LevelFive;
action= LockMods(modifiers=LevelFive);
};
interpret ISO_Level5_Lock {
action= LockMods(modifiers=LevelFive);
};
};
partial xkb_compatibility "level5_lock" {
// This defines a Level5-Lock using the NumLock real modifier
// in order to create arbitrary level-behaviour, which would
// not be possible with the virtual modifier.
// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
// See also: symbols/level5(lock)
virtual_modifiers NumLock;
interpret ISO_Level5_Lock {
action = LockMods(modifiers = NumLock);
};
};

View File

@@ -0,0 +1,122 @@
default partial xkb_compatibility "misc" {
virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock;
// Interpretations for some other useful keys.
interpret Terminate_Server {
action = Terminate();
};
setMods.clearLocks= True;
// Sets the "Alt" virtual modifier.
interpret Alt_L+Any {
//useModMapMods= level1;
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_L {
action = SetMods(modifiers=Alt);
};
interpret Alt_R+Any {
//useModMapMods= level1;
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_R {
action = SetMods(modifiers=Alt);
};
// Sets the "Meta" virtual modifier.
interpret Meta_L+Any {
//useModMapMods= level1;
virtualModifier= Meta;
action = SetMods(modifiers=modMapMods);
};
interpret Meta_L {
action = SetMods(modifiers=Meta);
};
interpret Meta_R+Any {
//useModMapMods= level1;
virtualModifier= Meta;
action = SetMods(modifiers=modMapMods);
};
interpret Meta_R {
action = SetMods(modifiers=Meta);
};
// Sets the "Super" virtual modifier.
interpret Super_L+Any {
//useModMapMods= level1;
virtualModifier= Super;
action = SetMods(modifiers=modMapMods);
};
interpret Super_L {
action = SetMods(modifiers=Super);
};
interpret Super_R+Any {
//useModMapMods= level1;
virtualModifier= Super;
action = SetMods(modifiers=modMapMods);
};
interpret Super_R {
action = SetMods(modifiers=Super);
};
// Sets the "Hyper" virtual modifier.
interpret Hyper_L+Any {
//useModMapMods= level1;
virtualModifier= Hyper;
action = SetMods(modifiers=modMapMods);
};
interpret Hyper_L {
action = SetMods(modifiers=Hyper);
};
interpret Hyper_R+Any {
//useModMapMods= level1;
virtualModifier= Hyper;
action = SetMods(modifiers=modMapMods);
};
interpret Hyper_R {
action = SetMods(modifiers=Hyper);
};
// Sets the "ScrollLock" virtual modifier and
// makes it actually lock when pressed. Sets
// up a map for the scroll lock indicator.
interpret Scroll_Lock+Any {
virtualModifier= ScrollLock;
action = LockMods(modifiers=modMapMods);
};
include "ledscroll"
include "misc(assign_shift_left_action)"
};
partial xkb_compatibility "assign_shift_left_action" {
// Because of the irrevertable modifier mapping in symbols/pc,
// <LFSH> is getting bound to the Lock modifier when using
// symbols/shift(both_capslock), creating unwanted behaviour.
// This is a quirk, to circumvent the problem.
interpret Shift_L {
action = SetMods(modifiers = Shift);
};
};

View File

@@ -0,0 +1,201 @@
// Interpretations for arrow keys and a bunch of
// other common keysyms which make it possible to
// bind "mouse" keys using xmodmap and activate or
// deactivate them from the keyboard.
default partial xkb_compatibility "mousekeys" {
// Keypad actions.
interpret.repeat= True;
interpret KP_1 {
action = MovePtr(x=-1,y= +1);
};
interpret KP_End {
action = MovePtr(x=-1,y= +1);
};
interpret KP_2 {
action = MovePtr(x=+0,y= +1);
};
interpret KP_Down {
action = MovePtr(x=+0,y= +1);
};
interpret KP_3 {
action = MovePtr(x=+1,y=+1);
};
interpret KP_Next {
action = MovePtr(x=+1,y=+1);
};
interpret KP_4 {
action = MovePtr(x=-1,y=+0);
};
interpret KP_Left {
action = MovePtr(x=-1,y=+0);
};
interpret KP_6 {
action = MovePtr(x=+1,y=+0);
};
interpret KP_Right {
action = MovePtr(x=+1,y=+0);
};
interpret KP_7 {
action = MovePtr(x=-1,y=-1);
};
interpret KP_Home {
action = MovePtr(x=-1,y=-1);
};
interpret KP_8 {
action = MovePtr(x=+0,y=-1);
};
interpret KP_Up {
action = MovePtr(x=+0,y=-1);
};
interpret KP_9 {
action = MovePtr(x=+1,y=-1);
};
interpret KP_Prior {
action = MovePtr(x=+1,y=-1);
};
interpret KP_5 {
action = PointerButton(button=default);
};
interpret KP_Begin {
action = PointerButton(button=default);
};
interpret KP_F2 {
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret KP_Divide {
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret KP_F3 {
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret KP_Multiply {
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret KP_F4 {
action = SetPtrDflt(affect=defaultButton,button=3);
};
interpret KP_Subtract {
action = SetPtrDflt(affect=defaultButton,button=3);
};
interpret KP_Separator {
action = PointerButton(button=default,count=2);
};
interpret KP_Add {
action = PointerButton(button=default,count=2);
};
interpret KP_0 {
action = LockPointerButton(button=default,affect=lock);
};
interpret KP_Insert {
action = LockPointerButton(button=default,affect=lock);
};
interpret KP_Decimal {
action = LockPointerButton(button=default,affect=unlock);
};
interpret KP_Delete {
action = LockPointerButton(button=default,affect=unlock);
};
// Additional mappings for Solaris keypad compatibility.
interpret F25 { // aka KP_Divide
action = SetPtrDflt(affect=defaultButton,button=1);
};
interpret F26 { // aka KP_Multiply
action = SetPtrDflt(affect=defaultButton,button=2);
};
interpret F27 { // aka KP_Home
action = MovePtr(x=-1,y=-1);
};
interpret F29 { // aka KP_Prior
action = MovePtr(x=+1,y=-1);
};
interpret F31 { // aka KP_Begin
action = PointerButton(button=default);
};
interpret F33 { // aka KP_End
action = MovePtr(x=-1,y= +1);
};
interpret F35 { // aka KP_Next
action = MovePtr(x=+1,y=+1);
};
interpret.repeat= False;
// New keysym actions.
interpret Pointer_Button_Dflt {
action= PointerButton(button=default);
};
interpret Pointer_Button1 {
action= PointerButton(button=1);
};
interpret Pointer_Button2 {
action= PointerButton(button=2);
};
interpret Pointer_Button3 {
action= PointerButton(button=3);
};
interpret Pointer_DblClick_Dflt {
action= PointerButton(button=default,count=2);
};
interpret Pointer_DblClick1 {
action= PointerButton(button=1,count=2);
};
interpret Pointer_DblClick2 {
action= PointerButton(button=2,count=2);
};
interpret Pointer_DblClick3 {
action= PointerButton(button=3,count=2);
};
interpret Pointer_Drag_Dflt {
action= LockPointerButton(button=default);
};
interpret Pointer_Drag1 {
action= LockPointerButton(button=1);
};
interpret Pointer_Drag2 {
action= LockPointerButton(button=2);
};
interpret Pointer_Drag3 {
action= LockPointerButton(button=3);
};
interpret Pointer_EnableKeys {
action= LockControls(controls=MouseKeys);
};
interpret Pointer_Accelerate {
action= LockControls(controls=MouseKeysAccel);
};
interpret Pointer_DfltBtnNext {
action= SetPtrDflt(affect=defaultButton,button= +1);
};
interpret Pointer_DfltBtnPrev {
action= SetPtrDflt(affect=defaultButton,button= -1);
};
// Allow an indicator for MouseKeys.
indicator "Mouse Keys" {
//!allowExplicit;
indicatorDrivesKeyboard;
controls= MouseKeys;
};
};

View File

@@ -0,0 +1,51 @@
//
// Map the OLPC game keys to virtual modifiers.
//
// Created by Bernardo Innocenti <bernie@codewiz.org>
//
default xkb_compatibility "olpc" {
include "complete"
virtual_modifiers Square,Cross,Triangle,Circle;
interpret KP_Home+Any {
//useModMapMods= level1;
virtualModifier= Square;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Home {
action = SetMods(modifiers=Square);
};
interpret KP_Next+Any {
//useModMapMods= level1;
virtualModifier= Cross;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Next {
action = SetMods(modifiers=Cross);
};
interpret KP_End+Any {
//useModMapMods= level1;
virtualModifier= Circle;
action = SetMods(modifiers=modMapMods);
};
interpret KP_End {
action = SetMods(modifiers=Circle);
};
interpret KP_Prior+Any {
//useModMapMods= level1;
virtualModifier= Triangle;
action = SetMods(modifiers=modMapMods);
};
interpret KP_Prior {
action = SetMods(modifiers=Triangle);
};
};

View File

@@ -0,0 +1,17 @@
default partial xkb_compatibility "pc" {
// Sets the "Alt" virtual modifier.
virtual_modifiers Alt;
setMods.clearLocks= True;
interpret Alt_L+Any {
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
interpret Alt_R+Any {
virtualModifier= Alt;
action = SetMods(modifiers=modMapMods);
};
};

View File

@@ -0,0 +1,56 @@
// Minimal set of symbol interpretations to provide
// reasonable default behavior (Num lock, Shift lock,
// and Mode switch) and set up the automatic updating
// of common keyboard LEDs.
default xkb_compatibility "basic" {
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= LockMods(modifiers=Shift);
};
// interpret Any+Lock {
// action= LockMods(modifiers=Lock);
// };
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=2,clearLocks);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
indicator.allowExplicit= False;
indicator "Caps Lock" {
whichModState= Locked;
modifiers= Lock;
};
indicator "Num Lock" {
whichModState= Locked;
modifiers= NumLock;
};
indicator "Shift Lock" {
whichModState= Locked;
modifiers= Shift;
};
indicator.allowExplicit= True;
};

View File

@@ -0,0 +1,66 @@
// XFree86 special keysyms.
default partial xkb_compatibility "basic" {
interpret.repeat= True;
interpret XF86_Switch_VT_1 {
action = SwitchScreen(Screen=1, !SameServer);
};
interpret XF86_Switch_VT_2 {
action = SwitchScreen(Screen=2, !SameServer);
};
interpret XF86_Switch_VT_3 {
action = SwitchScreen(Screen=3, !SameServer);
};
interpret XF86_Switch_VT_4 {
action = SwitchScreen(Screen=4, !SameServer);
};
interpret XF86_Switch_VT_5 {
action = SwitchScreen(Screen=5, !SameServer);
};
interpret XF86_Switch_VT_6 {
action = SwitchScreen(Screen=6, !SameServer);
};
interpret XF86_Switch_VT_7 {
action = SwitchScreen(Screen=7, !SameServer);
};
interpret XF86_Switch_VT_8 {
action = SwitchScreen(Screen=8, !SameServer);
};
interpret XF86_Switch_VT_9 {
action = SwitchScreen(Screen=9, !SameServer);
};
interpret XF86_Switch_VT_10 {
action = SwitchScreen(Screen=10, !SameServer);
};
interpret XF86_Switch_VT_11 {
action = SwitchScreen(Screen=11, !SameServer);
};
interpret XF86_Switch_VT_12 {
action = SwitchScreen(Screen=12, !SameServer);
};
interpret XF86LogGrabInfo {
action = Private(type=0x86, data="PrGrbs");
};
interpret XF86LogWindowTree {
action = Private(type=0x86, data="PrWins");
};
interpret XF86_Next_VMode {
action = Private(type=0x86, data="+VMode");
};
interpret XF86_Prev_VMode {
action = Private(type=0x86, data="-VMode");
};
};
partial xkb_compatibility "grab_break" {
interpret XF86_Ungrab {
action = Private(type=0x86, data="Ungrab");
};
interpret XF86_ClearGrab {
action = Private(type=0x86, data="ClsGrb");
};
};

View File

@@ -0,0 +1,56 @@
default xkb_compatibility "xtest" {
// Minimal set of symbol interpretations to provide
// reasonable behavior for testing.
// The X Test Suite assumes that it can set any modifier
// by simulating a KeyPress and clear it by simulating a
// KeyRelease. Because of the way that XKB implements
// locking/latching modifiers, this approach fails in
// some cases (typically the Lock or NumLock modifiers).
// These symbol interpretations make all modifier keys
// just set the corresponding modifier so that xtest
// will see the behavior it expects.
virtual_modifiers NumLock,AltGr;
interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= False;
interpret Shift_Lock+AnyOf(Shift+Lock) {
action= SetMods(modifiers=Shift);
};
interpret Num_Lock+Any {
virtualModifier= NumLock;
action= SetMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=2);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
indicator.allowExplicit= False;
indicator "Caps Lock" {
modifiers= Lock;
};
indicator "Num Lock" {
modifiers= NumLock;
};
indicator "Shift Lock" {
whichModState= Locked;
modifiers= Shift;
};
indicator.allowExplicit= True;
};

View File

@@ -0,0 +1,13 @@
The X server uses this directory to store the compiled version of the
current keymap and/or any scratch keymaps used by clients. The X server
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time. The default keymap for any server is usually stored in:
X<num>-default.xkm
where <num> is the display number of the server in question, which makes
it possible for several servers *on the same host* to share the same
directory.
Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.

View File

@@ -0,0 +1,6 @@
The geometry component of a keyboard mapping specifies primarily the geometry of
the keyboard. It contains the geometry symbolic name and the keyboard geometry
description. The geometry component might also contain aliases for some keys or
symbolic names for some indicators and might affect the set of indicators that
are physically present. Key aliases defined in the geometry component of a
keyboard mapping override those defined in the keycodes component.

View File

@@ -0,0 +1,264 @@
default xkb_geometry "usa1" {
description= "Amiga (usa1)";
width= 490;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "TLDE" { { [ 28,18] }, { [2,1], [ 21,17] } };
shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "RTRN" {
approx = { [ 16, 0], [42,37] },
{ [16, 0], [42, 0], [42,37],
[ 0,37], [ 0,19], [16,19] },
{ [18, 1], [40, 1], [40,36],
[ 2,36], [ 2,20], [18,20] } };
shape "LFSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 22;
row.left= 1;
key.shape= "FCTS";
key.gap= 1;
section "Function" {
top= 28;
row {
top= 1;
keys { { <ESC>, shape="NORM" },
{ <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
}; // End of "Function" section
key.shape= "NORM";
section "Alpha" {
top= 56;
row {
top= 1;
keys { { <TLDE>, shape="TLDE" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -15 }
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <LALT>, 10 }, <LAMI>,
{ <SPCE>, "SPCE" },
<RAMI>, <RALT>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 56;
left= 326;
row {
top= 1;
key.shape = "DELE";
keys { <DELE>, <HELP> };
};
row {
top= 39;
left = 20;
keys { <UP> };
};
row {
top= 58;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 56;
left= 392;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
xkb_geometry "de" {
description= "Amiga (de)";
width= 490;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "TLDE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "RTRN" {
{ [ 0, 0], [28,0], [28,37], [5,37], [5,18], [ 0,18] },
{ [ 2, 1], [26,1], [26,36], [7,36], [7,17], [ 2,17] } };
shape "LFSH" { { [ 32,18] }, { [2,1], [ 29,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 22;
row.left= 1;
key.shape= "FCTS";
key.gap= 1;
section "Function" {
top= 28;
row {
top= 1;
keys { { <ESC>, shape="NORM" },
{ <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
}; // End of "Function" section
key.shape= "NORM";
section "Alpha" {
top= 56;
row {
top= 1;
keys { { <TLDE>, shape="TLDE" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <LALT>, 14 }, <LAMI>,
{ <SPCE>, "SPCE" },
<RAMI>, <RALT>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 56;
left= 326;
row {
top= 1;
key.shape = "DELE";
keys { <DELE>, <HELP> };
};
row {
top= 39;
left = 20;
keys { <UP> };
};
row {
top= 58;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 56;
left= 392;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};

View File

@@ -0,0 +1,251 @@
default xkb_geometry "us" {
description= "Atari TT (us)";
width= 480;
height= 173;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTRN" { approx = { [0,19], [32,37] },
{ [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
{ [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
shape "FCTS" { { [ 28,10] }, { [2,1], [ 26,9] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 21;
row.left= 1;
key.shape = "NORM";
key.gap= 1;
section "Function" {
top= 36;
key.shape= "FCTS";
row {
top= 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>
};
};
}; // End of "Function" section
section "Alpha" {
top= 63;
row {
top= 1;
keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <TLDE>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <BKSL>, 34 }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <ALT>, 24 },
{ <SPCE>, "SPCE" },
<CAPS>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 63;
left= 319;
row {
top= 1;
key.shape = "BKSP";
keys { <HELP>, <UNDO> };
};
row {
top= 20;
keys { <INS>, <UP>, <HOME> };
};
row {
top= 39;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 63;
left= 381;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};
xkb_geometry "de" {
description= "Atari TT (de)";
width= 480;
height= 173;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" { approx = { [0,19], [32,37] },
{ [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
{ [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
shape "FCTS" { { [ 28,11] }, { [2,1], [ 26,10] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 21;
row.left= 1;
key.shape = "NORM";
key.gap= 1;
section "Function" {
top= 36;
key.shape= "FCTS";
row {
top= 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>
};
};
}; // End of "Function" section
section "Alpha" {
top= 63;
row {
top= 1;
keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <TLDE>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
};
};
row {
top= 39;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <BKSL>, 34 }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>,
<AB05>, <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
key.shape= "MODK";
keys { { <ALT>, 24 }, { <SPCE>, "SPCE" }, <CAPS>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 63;
left= 319;
row {
top= 1;
key.shape = "BKSP";
keys { <HELP>, <UNDO> };
};
row {
top= 20;
keys { <INS>, <UP>, <HOME> };
};
row {
top= 39;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 63;
left= 381;
row {
top= 1;
keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDC> };
};
}; // End of "Keypad" section
};

View File

@@ -0,0 +1,189 @@
// -*- indent-tabs-mode: nil -*-
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for Chicony KB-9820 keyboard.
// 86 keys
default xkb_geometry "us" {
description = "Chicony KB-9820 infra-red keyboard";
width = 350;
height = 180;
//baseColor = "grey60";
labelColor = "white";
shape "EDGE" { cornerRadius = 25,
{ [0, 8], [142.5, 0], [202.5, 0], [347, 8],
[347, 60], [327, 100], [322, 160],
[202.5, 165], [142.5, 165],
[25, 160], [20, 100], [0, 60] } };
shape "KEYS" { cornerRadius = 2, { [271, 109] } };
shape "MOUS" { cornerRadius = 12, { [24, 24] } };
shape "MOUS2" { cornerRadius = 9, { [18, 18] } };
shape "BTNS" { cornerRadius = 5, { [10, 10] } };
solid "Edges" {
top = 0;
left = 0;
shape = "EDGE";
color = "grey60";
};
solid "KeyPanel" {
shape = "KEYS";
left = 38;
top = 22;
color = "black";
};
solid "Mouse" {
shape = "MOUS";
left = 315;
top = 30;
color = "grey30";
};
outline "Mouse2" {
shape = "MOUS2";
left = 318;
top = 33;
color = "black";
};
solid "Button1" {
shape = "BTNS";
left = 10;
top = 32;
color = "grey30";
};
solid "Button2" {
shape = "BTNS";
left = 20;
top = 42;
color = "grey30";
};
outline "Buttons" {
shape = "MOUS";
left = 8;
top = 30;
color = "black";
};
shape.cornerRadius = 1;
shape "ESC" { { [17, 12] }, { [1.5, 0], [15.5, 10] } };
shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } };
shape "THIN" { { [14, 18] }, { [2, 0], [12, 15] } };
shape "NARR" { { [16, 18] }, { [2, 0], [14, 15] } };
shape "NORM" { { [17, 18] }, { [2, 0], [15, 15] } };
shape "WIDER" { { [18, 18] }, { [2, 0], [16, 15] } };
shape "CAPS" { { [22, 18] }, { [2, 0], [20, 15] } };
shape "RTSH" { { [23, 18] }, { [2, 0], [21, 15] } };
shape "WIDEST" { { [30, 18] }, { [2, 0], [28, 15] } };
shape "SPCE" { { [68, 18] }, { [2, 0], [66, 15] } };
section "Function" {
key.shape = "SMALL";
key.gap = 0.79;
key.color = "grey60";
left = 38;
top = 22;
row {
top = 1;
keys { { <ESC>, shape="ESC", 1 },
{ <FK01>, 1.5 }, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>, <FK11>, <FK12>,
<NMLK>, <PRSC>, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Control" {
key.shape = "NORM";
key.gap = 1;
key.color = "grey60";
left = 38;
top = 111;
row {
top = 1;
keys { <EASY>, <LCTL>, <LWIN>, <LALT>,
{ <SPCE>, shape="SPCE" },
<RALT>,
{ <RWIN>, shape="THIN" },
{ <MENU>, shape="THIN" },
{ <INS>, shape="THIN" },
{ <DELE>, shape="THIN" } };
};
}; // End of "Control" section
section "Editing" {
key.shape = "NORM";
key.gap = 1;
key.color = "grey60";
left = 291;
top = 34;
row.vertical = True;
row {
top = 1;
keys { <HOME>, <PGUP>, <PGDN>, <END> };
};
}; // End of "Editing" section
section "Navigation" {
key.gap = 1;
key.shape = "NARR";
key.color = "grey60";
left = 257;
top = 92;
row {
left = 16;
top = 1;
keys { <UP> };
};
row {
top = 20;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
section "Alpha" {
key.gap = 1;
key.shape = "NORM";
key.color = "grey60";
left = 38;
top = 35;
row {
top = 1;
keys { { <TLDE>, shape="NARR" },
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, shape="WIDER" }
};
};
row {
top = 20;
keys { <TAB>,
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, <AD13>
};
};
row {
top = 39;
keys { { <CAPS>, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, shape="WIDEST" }
};
};
row {
top = 58;
keys { { <LFSH>, shape="WIDEST" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, shape="RTSH" }
};
};
}; // End of "Alpha" section
};

View File

@@ -0,0 +1,644 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "dell101" {
description= "Dell 101";
width= 470;
height= 210;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 52;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 67;
indicator.shape= "LED";
indicator "Num Lock" { left= 382; };
indicator "Caps Lock" { left= 407; };
indicator "Scroll Lock" { left= 433; };
text.top= 55;
text.color= "black";
text "NumLockLabel" { left= 378; text="Num\nLock"; };
text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 21 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 21 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
xkb_geometry "dell65" {
};
xkb_geometry "dell65x" {
description= "Dell 101";
width= 470;
height= 210;
color="grey10";
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 52;
left= 377;
color= "grey10";
};
shape "BACKGROUND" { cornerRadius=5, { [ 470, 210 ] } };
solid "Background" {
shape= "BACKGROUND";
top= 0;
left= 0;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 67;
indicator.shape= "LED";
indicator "Num Lock" { left= 382; };
indicator "Caps Lock" { left= 407; };
indicator "Scroll Lock" { left= 433; };
text.top= 55;
text.color= "black";
text "NumLockLabel" { left= 378; text="Num\nLock"; };
text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 21 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 21 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
//
// Dell Precision M65 laptop
//
xkb_geometry "dellm65" {
description= "Dell Precision M65 laptop";
width= 308;
height= 152;
baseColor = "grey20";
labelColor = "white";
shape "BACKGROUND" { cornerRadius = 3, { [ 308, 152 ] } };
shape "BACKGROUND2" { cornerRadius = 2, { [ 7, 22 ],
[ 171, 22 ],
[ 171, 10 ],
[ 301, 10 ],
[ 301, 148 ],
[ 244, 148 ],
[ 244, 132 ],
[ 7, 132] } };
solid "Background" {
shape = "BACKGROUND";
top = 0;
left = 0;
color = "grey20";
};
solid "Background2" {
shape = "BACKGROUND2";
top = 0;
left = 0;
color = "black";
};
shape "LEDS" { cornerRadius = 4, { [ 26, 8 ] } };
shape "LED" { cornerRadius = 0, { [ 4, 4 ] } };
solid "LedPanel" {
shape = "LEDS";
top = 8;
left = 69;
color = "grey20";
};
indicator.onColor= "green";
indicator.offColor= "gray20";
indicator.top= 10;
indicator.shape= "LED";
indicator "Num Lock" { left= 72; };
indicator "Caps Lock" { left= 80; };
indicator "Scroll Lock" { left= 88; };
shape "MEDIA" { cornerRadius = 5, { [ 2, 2], [ 12, 12 ] } };
shape "POWER" { cornerRadius = 7, { [ 14, 14 ] } };
section "Media" {
top = 5;
left = 102;
width = 60;
height = 14;
key.color="grey30";
key.shape = "MEDIA";
row {
top = 0;
keys {
<I2E>, <I30>, <I20>, { <I04>, shape = "POWER", gap = 3 }
};
};
};
shape "FKEY" { cornerRadius = 1, { [ 18, 12 ] }, { [ 1, 1 ], [ 17, 10 ] } };
section "Function" {
top = 12;
left = 8;
width = 290;
height = 24;
key.color = "grey80";
key.shape = "FKEY";
key.gap = 0;
row {
top = 0;
keys { { <MENU>, 165 }, <PRSC>, <NMLK>, <PAUS>,
{ <INS>, 1 }, <HOME>, <PGUP> };
};
row {
top = 12;
keys { <ESC>, { <FK01>, 1 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 1 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 1 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 1 }, <END>, <PGDN> };
};
};
shape "AKEY" { cornerRadius = 1, { [ 19, 19 ] }, { [ 2, 1 ], [ 17, 15 ] } };
shape "BKSP" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } };
shape "TABK" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "BKSL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "CAPS" { cornerRadius = 1, { [ 34, 19 ] }, { [ 2, 1 ], [ 32, 15 ] } };
shape "RTRN" { cornerRadius = 1, { [ 47, 19 ] }, { [ 2, 1 ], [ 45, 15 ] } };
shape "LFSH" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } };
shape "RTSH" { cornerRadius = 1, { [ 56, 19 ] }, { [ 2, 1 ], [ 54, 15 ] } };
shape "LCTL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } };
shape "LALT" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } };
shape "RCTL" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } };
shape "SPCE" { cornerRadius = 1, { [ 96, 19 ] }, { [ 2, 1 ], [ 94, 15 ] } };
section "Alpha" {
top = 36;
left = 8;
width = 290;
height = 21;
key.color = "grey80";
key.shape = "AKEY";
key.gap = 0;
row {
top = 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, 1, "BKSP" } };
};
row {
top = 20;
keys { { <TAB>, "TABK" },
{ <AD01>, 1 }, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, 1, "BKSL" } };
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
{ <AC01>, 1 }, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, 1, "RTRN" } };
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
{ <AB01>, 1 }, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, 1, "RTSH" } };
};
row {
top = 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, 20 }, { <LALT>, "LALT" },
{ <SPCE>, "SPCE" }, <RALT>, { <RCTL>, "RCTL" } };
};
};
shape "SKEY" { cornerRadius = 1, { [ 18, 17 ] }, { [ 2, 1 ], [ 16, 13 ] } };
section "Arrows" {
top = 113;
left = 243;
width = 54;
height = 36;
key.color = "grey80";
key.shape = "SKEY";
row {
top = 0;
left = 20;
keys { <UP> };
};
row {
top = 17;
left = 2;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
shape "STIK" { cornerRadius = 4, { [ 7, 7 ] } };
solid "STIK" {
priority = 255;
color = "blue";
shape = "STIK";
top = 90;
left = 135;
};
};
xkb_geometry "latitude" {
description="Dell Latitude";
width=304.2; height=219.1;
baseColor="grey"; labelColor="white";
alias <AC00> =<CAPS>;
alias <AA00> =<LCTL>;
shape "EXTERNAL" {corner=3,
{[0,0], [302,0], [302,154], [174,154], [174,198], [166,216], [107,216], [100,198], [100,154], [0,154]}};
solid "external" {shape="EXTERNAL"; top=1.1; left=1.1; color="grey10"; priority=10;};
shape "INTERNAL" {corner=3,
{[0,13], [162.2,13], [162.2,0], [286,0], [286,138], [230,138], [230,124], [163,124], [163,138], [96,138], [96,124], [0,124]}};
solid "internal" {shape="INTERNAL"; top=7; left=8.5; color="black"; priority=20;};
shape "TOUCHPAD" {corner=2, {[68,40]}};
solid "touchpad" {shape="TOUCHPAD"; top=153; left=104; color="grey20"; priority=20;};
shape "TOUCHPADBUTTONS" {corner=1,
{[0,0], [33.5,0], [33.5,16], [6,16]},
{[34.5,0], [68,0], [61, 16], [34.5,16]}};
solid "touchleft" {shape="TOUCHPADBUTTONS"; top=198; left=104; color="grey20"; priority=20;};
shape "NIPPLE" {corner=3, {[7.5,7.5]}};
solid "nipple" {shape="NIPPLE"; top=87; left=134; color="blue"; priority=200;};
shape "NIPPLEBUTTONS" {corner=2, {[32.5,13]}, {[33.5,0],[66,13]}};
solid "nipplebuttons" {shape="NIPPLEBUTTONS"; top=131; left=105; color="grey20"; priority=20;};
shape "FILLINGS" {corner=1.5, {[19,15]}, {[38,0],[55,15]}};
solid "fillings" {shape="FILLINGS"; top=112; left=238; color="grey"; priority=200;};
shape "FUNC" {corner=1.5, {[16.3,12]}, {[2,0.5], [14,10]}};
shape "ESC" {corner=1.5, {[18,12]}, {[2,0.5], [16,10]}};
shape "BKSP" {corner=1.5, {[36.5,18]}, {[3,0.5], [33.5,14]}};
section "Function" {key.color="grey"; priority=100; top=9; left=10; width=290; height=28;
row {top=0; left=161.1; keys {{<MENU>,"FUNC",1.1}, {<PRSC>,"FUNC",1.1}, {<NMLK>,"FUNC",1.1},
{<PAUS>,"FUNC",1.1}, {<INS>,"FUNC",2.5}, {<HOME>,"FUNC",1.1}, {<PGUP>,"FUNC",1.1}};};
row {top=12.5; left=0; keys {{<ESC>,"ESC",0},
{<FK01>,"FUNC",2.7}, {<FK02>,"FUNC",1.1}, {<FK03>,"FUNC",1.1}, {<FK04>,"FUNC",1.1},
{<FK05>,"FUNC",2.5}, {<FK06>,"FUNC",1.1}, {<FK07>,"FUNC",1.1}, {<FK08>,"FUNC",1.1},
{<FK09>,"FUNC",2.5}, {<FK10>,"FUNC",1.1}, {<FK11>,"FUNC",1.1}, {<FK12>,"FUNC",1.1},
{<DELE>,"FUNC",2.5}, {<END>, "FUNC",1.1}, {<PGDN>,"FUNC",1.1}};};
}; // End of "Function" section
shape "NORM" {corner=1.5, {[18,18]}, {[3,0.5], [14.8,14]}};
shape "TABK" {corner=1.5, {[28,18]}, {[3,0.5], [25,14]}};
shape "CAPS" {corner=1.5, {[32,18]}, {[3,0.5], [22,14]}};
shape "LFSH" {corner=1.5, {[23,18]}, {[3,0.5], [20,14]}};
shape "RTSH" {corner=1.5, {[50,18]}, {[3,1], [47,14]}};
shape "RTRN" {corner=1.5, {[0,0],[26.5,0],[26.5,37],[4,37],[4,18],[0,18]},
{[3,0.5], [23.5,0.5], [23.5,33], [7,33], [7,14], [3,14]}};
shape "SPCE" {corner=1.5,{[95,18]}, {[3,0.5],[92,14]}};
shape "LCTL" {corner=1.5, {[27,18]}, {[3,0.5],[24,14]}};
shape "LALT" {corner=1.5, {[22,18]}, {[3,0.5],[19,14]}};
shape "WIN" {corner=1.5, {[18,18]}, {[3,0.5],[15,14]}};
section "Alpha" {key.color="grey"; priority=100; top=36; left=10; width=290; height=18;
row {top=0; left=0; keys {{<TLDE>, "NORM", 0}, {<AE01>, "NORM", 1}, {<AE02>, "NORM", 1}, {<AE03>, "NORM", 1},
{<AE04>, "NORM", 1}, {<AE05>, "NORM", 1}, {<AE06>, "NORM", 1}, {<AE07>, "NORM", 1}, {<AE08>, "NORM", 1},
{<AE09>, "NORM", 1}, {<AE10>, "NORM", 1}, {<AE11>, "NORM", 1}, {<AE12>, "NORM", 1}, {<BKSP>, "BKSP", 1}};};
row {top=19; left=0; keys {{<TAB>, "TABK", 0}, {<AD01>, "NORM", 1}, {<AD02>, "NORM", 1}, {<AD03>, "NORM", 1},
{<AD04>, "NORM", 1}, {<AD05>, "NORM", 1}, {<AD06>, "NORM", 1}, {<AD07>, "NORM", 1}, {<AD08>, "NORM", 1},
{<AD09>, "NORM", 1}, {<AD10>, "NORM", 1}, {<AD11>, "NORM", 1}, {<AD12>, "NORM", 1}, {<RTRN>, "RTRN", 1}};};
row {top=38; left=0; keys {{<CAPS>, "CAPS", 0}, {<AC01>, "NORM", 1}, {<AC02>, "NORM", 1}, {<AC03>, "NORM", 1},
{<AC04>, "NORM", 1}, {<AC05>, "NORM", 1}, {<AC06>, "NORM", 1}, {<AC07>, "NORM", 1}, {<AC08>, "NORM", 1},
{<AC09>, "NORM", 1}, {<AC10>, "NORM", 1}, {<AC11>, "NORM", 1}, {<AC12>, "NORM", 1}};};
// TODO There's a weird <> key here, check it out:
row {top=57; left=0; keys {{<LFSH>, "LFSH", 0}, {<AB01>, "NORM", 1}, {<AB02>, "NORM", 1}, {<AB03>, "NORM", 1},
{<AB04>, "NORM", 1}, {<AB05>, "NORM", 1}, {<AB06>, "NORM", 1}, {<AB07>, "NORM", 1}, {<AB08>, "NORM", 1},
{<AB09>, "NORM", 1}, {<AB10>, "NORM", 1}, {<AB11>, "NORM", 1}, {<RTSH>, "RTSH", 1}};};
row {top=76; left=0; keys {{<LCTL>, "LCTL", 0}, {<FN>, "WIN", 1},{<LWIN>, "WIN", 1}, {<LALT>, "LALT", 1},
{<SPCE>, "SPCE", 1}, {<RALT>, "WIN", 1},{<RCTL>, "LALT", 1}};};
}; // End of "Alpha" section
shape "ARROW" {corner=1.5, {[17,15]}, {[2,0.5],[15,13]}};
section "Arrows" {key.color="grey"; priority=110; top=112; left=240; width=43; height=31;
row {top=0; left=18; keys {{<UP>, "ARROW", 0}};};
row {top=16; left=0; keys {{<LEFT>, "ARROW", 0}, {<DOWN>, "ARROW", 1}, {<RGHT>, "ARROW", 1}};};
}; // End of "Arrows" section
shape "LEDS" {corner=3, {[25,7]}};
solid "leds" {shape="LEDS"; top=5.7; left=69; color="grey"; priority=10;};
shape "LED" {corner=0, {[0,1.5], [3,4.5]}, {[0.5,1.5], [1,0] , [2,0], [2.5,1.5]}};
indicator.onColor="green";
indicator.offColor="grey";
indicator.top=7;
indicator.shape="LED";
indicator.priority=200;
indicator "Num Lock" {left=72;};
indicator "Caps Lock" {left=80;};
indicator "Scroll Lock" {left=88;};
text "LATITUDE" {left=10; top=7; text="L A T I T U D E | D620";};
shape "ROUND" {corner=5, {[10,10]}};
shape "POWER" {corner=7, {[15,15]}};
section "Topbuttons" {key.color="grey"; priority=110; top=2; left=100;
row {top=2; left=0; keys {{<VLUP>, "ROUND", 0}, {<VLDN>, "ROUND", 3}, {<MUTE>, "ROUND", 3}};};
row {top=0; left=45; keys {{<POWR>, "POWER", 0}};};
}; // End of "TopButtons" section
};

View File

@@ -0,0 +1,728 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: lk,v
// Revision 1.2 1996/06/18 09:12:47 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/18 21:15:16 William_Walker
// Upgrade XKB to Protocol Rev. 0.64
// [1995/08/18 20:41:46 William_Walker]
//
// Revision 1.1.2.5 1995/08/11 19:35:47 William_Walker
// Sync up with Erik's pool.
// [1995/08/11 18:35:58 William_Walker]
//
// Revision 1.1.2.4 1995/06/27 12:17:28 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:07 William_Walker]
//
// Revision 1.1.2.3 1995/06/09 20:54:36 William_Walker
// Add VT105 layout support and ISO group support
// [1995/06/09 20:40:38 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:16 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:43 William_Walker]
//
// EndLog
//
// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:00
//
xkb_geometry "lk201" {
width = 530;
height = 170;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [171,19] },{ [3,2], [168,16]} };
shape "LEDS" { [ 30,15] };
shape "LED" { [ 5, 2] };
section.left= 27;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 19 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 19 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 98 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 350;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left = 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 426;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 26;
keys { { <LCMP>, "LONG" },
{ <SPCE>, "SPCE" }
};
};
};
section.left = 341;
section.top = 3;
section "Indicators" {
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 10;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 9; };
indicator "Caps Lock" { left = 27; };
indicator "Compose" { left = 45; };
indicator "Wait" { left = 63; };
text.top = 4;
text.color = "black";
text "HoldScreenLabel" {left = 5; text="Hold\n"; };
text "CapsLockLabel" {left = 23; text="Lock\n"; };
text "ComposeLabel" {left = 37; text="Compose\n"; };
text "WaitLabel" {left = 60; text="Wait\n"; };
};
};
xkb_geometry "lk401" {
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 36,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left= 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row {
top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.shape = "LED";
indicator.top = 1;
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
};
section "IndicatorLabels" {
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
xkb_geometry "lk450" {
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 36,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left= 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
};
row {
top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.shape = "LED";
indicator.top = 1;
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
};
section "IndicatorLabels" {
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};
xkb_geometry "lk401bj"
{
width = 480;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[23,19] },
{ [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
{ [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
shape "LEDS" { [ 30,15] };
shape "LED" { [ 5, 2] };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 20;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 75 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 20; left = 320;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 41;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 61;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 81; left = 20;
keys { <UP> };
};
row { top = 101;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 60; left = 385;
row { top = 1;
keys { <PF1>, <PF2>, <PF3>, <PF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 60;
row { top = 1; left = 15;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "MED" }
};
};
row { top = 21; left = 15;
keys { { <TAB>, "MED" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { <LCTL>,
{ <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { { <LFSH>, "LONG" },
<AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "LONG" }
};
};
row { top = 81; left = 29;
keys { { <LCMP>, "MED" },
{ <LALT>, "MED" },
{ <SPCE>, "SPCE" },
{ <RALT>, "MED" },
{ <RCMP>, "MED" }
};
};
};
section.left = 69;
section.top = 3;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 1;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 3; };
indicator "Caps Lock" { left = 22; };
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 19; text="Caps\nLock"; };
};
};
xkb_geometry "lk401jj" {
width = 460;
height = 180;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[28,23] },
{ [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
{ [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [28,19] }, { [3,2], [25,16] } };
shape "MED1" { { [23,19] }, { [3,2], [20,16] } };
shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
shape "LEDS" { [ 56,15] };
shape "LED" { [ 5, 2] };
section.left = 5;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 7; top = 10; text="digital\n"; };
section "Function" { top = 40;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 18 }, <FK12>, <FK13>, <FK14>,
{ <FK17>, 73 }, <FK18>, <FK19>, <FK20>
};
};
};
section "Editing" { top = 40; left = 313;
row { top = 1;
keys { <HELP>, { <DO>, "LONG" } };
};
row { top = 31;
keys { <FIND>, <INS>, <DELE> };
};
row { top = 51;
keys { <SELE>, <PGUP>, <PGDN> };
};
row { top = 71; left= 20;
keys { <UP> };
};
row { top = 91;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 70; left = 377;
row { top = 1;
keys { <PF1>, <PF2>, <PF3>, <PF4> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, <KPSU> };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6>, <KPCO> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
};
row { top = 81;
keys { { <KP0>, "LONG" }, <KPDL> };
};
};
section "Alpha" { top = 70;
row { top = 1; left = 7;
keys { { <AE00>, "MED1" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AB00>, { <BKSP>, "MED1" }
};
};
row { top = 21; left = 7;
keys { { <TAB>, "LONG1" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { <CAPS>, { <LFSH>, "LONG1" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "MED" }
};
};
row { top = 81; left = 7;
keys { { <LCMP>, "LONG" },
{ <LALT>, "LONG" },
{ <MUHE>, "LONG" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "LONG" },
{ <HIRA>, "LONG" },
<RALT>, <RCMP>
};
};
};
section.left = 315;
section.top = 20;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 11;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 6; };
indicator "Caps Lock" { left = 26; };
text.top = 4;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};

View File

@@ -0,0 +1,349 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: pc,v
// Revision 1.2 1996/06/18 09:12:50 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/18 21:15:18 William_Walker
// Upgrade XKB to Protocol Rev. 0.64
// [1995/08/18 20:41:49 William_Walker]
//
// Revision 1.1.2.4 1995/08/11 19:35:48 William_Walker
// Sync up with Erik's pool.
// [1995/08/11 18:36:03 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:29 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:10 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:19 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:51 William_Walker]
//
// EndLog
//
// @(#)RCSfile: pc,v Revision: 1.2 (DEC) Date: 1996/02/02 14:40:25
//
partial xkb_geometry "common" {
width = 480;
height = 200;
shape.cornerRadius = 1;
shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
shape "KP0" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "KPAD" { primary = { [18,39] }, { [3,2], [15,36] } };
shape "LEDS" { [78,22] };
shape "LED" { [5,2] };
text.color = "black";
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Function" { top = 40;
row { top = 1;
keys { <ESC>,
{ <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10 }, <FK10>, <FK11>, <FK12>
};
};
};
section "Editing" { top = 40; left = 308;
row { top = 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row { top = 41;
keys { <INS>, <HOME>, <PGUP> };
};
row { top = 61;
keys { <DELE>, <END>, <PGDN> };
};
row { top = 101; left = 20;
keys { <UP> };
};
row { top = 121;
keys { <LEFT>, <DOWN>, <RGHT> };
};
};
section "Keypad" { top = 80; left = 374;
row { top = 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row { top = 21;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row { top = 41;
keys { <KP4>, <KP5>, <KP6> };
};
row { top = 61;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row { top = 81;
keys { { <KP0>, "KP0" }, <KPDL> };
};
};
};
partial xkb_geometry "leds_on_keys" {
section.top = 40;
section.left = 17;
section "LedPanel" {
indicator.onColor = "#00ff00";
indicator.offColor = "#001000";
indicator.shape = "LED";
indicator "Scroll Lock" { left = 317; top = 5; };
indicator "Num Lock" { left = 364; top = 45; };
indicator "Caps Lock" { left = 10; top = 85; };
};
section.left = 375;
section.top = 40;
section "LogoPanel" {
solid "logo_panel" { top = 0; left = 0;
shape = "LEDS";
color = "grey";
};
text "Logo" {left = 28; top = 10; text="digital\n"; };
};
};
partial xkb_geometry "leds_alone" {
section.left = 375;
section.top = 40;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
shape = "LEDS";
color = "grey";
};
indicator.top = 16;
indicator.onColor = "#00ff00";
indicator.offColor = "#001000";
indicator.shape = "LED";
indicator "Num Lock" { left = 3; };
indicator "Caps Lock" { left = 26; };
indicator "Scroll Lock" { left = 50; };
text "Logo" {left = 2; top = 3; text="digital\n"; };
};
section "IndicatorLabels" {
text.top = 11;
text "NumLockLabel" {left = 10; text="Num\nLock"; };
text "CapsLockLabel" {left = 33; text="Caps\nLock"; };
text "ScrollLockLabel" {left = 58; text="Scroll\nLock"; };
};
};
xkb_geometry "pc101" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>,
{ <LALT>, 20 },
{ <SPCE>, "SPCE" },
<RALT>,
{ <RCTL>, 21 }
};
};
};
};
xkb_geometry "pc102" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" {
approx = { [0,0],[28,19] },
{ [0,0], [27,0], [27,39], [5,39], [5,19], [0,19] },
{ [3,2], [24,2], [24,36], [8,36], [8,16], [3,16] }
};
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [22,19] }, { [3,2], [19,16] } };
shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<BKSL>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>,
{ <LALT>, 20 },
{ <SPCE>, "SPCE" },
<RALT>,
{ <RCTL>, 21 }
};
};
};
};
xkb_geometry "pcxaj" {
include "digital_vndr/pc(common)"
shape.cornerRadius = 1;
shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "RTRN" { primary = { [22,19] }, { [3,2], [19,16] } };
shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
shape "RTSH" { primary = { [32,19] }, { [3,2], [29,16] } };
shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
shape "SPCE" { primary = { [114,19]}, { [3,2], [111,16]} };
section.left = 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alpha" { top = 80;
row { top = 1;
keys { <AE00>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row { top = 41;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "RTSH" }
};
};
row { top = 81;
key.shape = "MODK";
keys { <LCTL>, <LALT>,
{ <MUHE>, "NORM" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "NORM" },
{ <HIRA>, "NORM" },
<RALT>, <RCTL>
};
};
};
};

View File

@@ -0,0 +1,227 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log: unix,v
// Revision 1.2 1996/06/18 09:12:53 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.2.3 1995/06/27 12:17:30 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:23:12 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:23 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:05:56 William_Walker]
//
// EndLog
//
// @(#)RCSfile: unix,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:
//
xkb_geometry "unix" {
width = 340;
height = 160;
shape.cornerRadius = 1;
shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
shape "AE00" { primary = { [28,19] }, { [3,2], [25,16] } };
shape "BKSP" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "TABK" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "CTRL" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "RTRN" { primary = { [46,19] }, { [3,2], [43,16] } };
shape "SHFT" { primary = { [56,19] }, { [3,2], [53,16] } };
shape "MODK" { primary = { [37,19] }, { [3,2], [34,16] } };
shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
section.left= 17;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text.color = "black";
text "Logo" {left = 20; top = 10; text="digital\n"; };
section "Function" { top = 30;
row { top = 1;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 20 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <LEFT>, 20 }, <DOWN>, <UP>, <RGHT>
};
};
};
section "Alpha" { top = 50;
row { top = 1;
keys { { <AE00>, "AE00" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row { top = 21;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
<BKSL>, <AB00>
};
};
row { top = 41; left = -4;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row { top = 61; left = -4;
keys { { <LFSH>, "SHFT" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "SHFT" }
};
};
solid "ExtendKey" { top = 81; left= 1;
shape= "NORM";
color= "grey20";
};
text.top = 89;
text.color = "black";
text "ExtendLabel" {left = 6; text="Ext\nend"; };
row { top = 81; left = 19;
key.shape = "MODK";
keys { { <LCMP>, "NORM" }, <LALT>,
{ <SPCE>, "SPCE" },
<RALT>, <RCMP>
};
};
};
};
xkb_geometry "lk421jj" {
width = 315;
height = 170;
shape.cornerRadius = 1;
shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
shape "RTRN" {
approx = { [0,0],[28,23] },
{ [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
{ [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
};
shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
shape "MED" { { [23,19] }, { [3,2], [20,16] } };
shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
shape "LEDS" { [ 56,15] };
shape "LED" { [ 5, 2] };
section.left = 5;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
text "Logo" {left = 7; top = 10; text="digital\n"; };
section "Function" { top = 45;
row { top = 1; left = 7;
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>
};
};
};
section "Editing" { top = 45; left= 230;
row { top = 1;
keys { <LEFT>, <DOWN>, <UP>, <RGHT> };
};
};
section "Alpha" { top = 65;
row { top = 1; left = 7;
keys { { <AE00>, "MED" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AB00>, { <BKSP>, "MED" }
};
};
row { top = 21; left = 7;
keys { { <TAB>, "LONG1" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row { top = 41;
keys { { <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
};
};
row { top = 61;
keys { <CAPS>, { <LFSH>, "LONG1" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "LONG1" }
};
};
row { top = 81; left = 7;
keys { <AA00>, <LCMP>,
{ <LALT>, "LONG" },
{ <MUHE>, "LONG" },
{ <SPCE>, "SPCE" },
{ <KANJ>, "LONG" },
{ <HIRA>, "LONG" },
<RALT>, <RCMP>
};
};
};
section.left = 233;
section.top = 20;
section "Indicators" {
solid "led_panel" { top = 0; left = 0;
cornerRadius = 1;
shape = "LEDS";
color = "grey";
};
indicator.onColor = "#00ff00";
indicator.offColor= "#001000";
indicator.top = 11;
indicator.shape= "LED";
indicator "Scroll Lock" { left = 6; };
indicator "Caps Lock" { left = 26; };
text.top = 3;
text.color = "black";
text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
};
};

View File

@@ -0,0 +1,170 @@
default xkb_geometry "STEPnote" {
description= "Everex STEPnote";
width= 281;
height= 150;
shape.cornerRadius= 1;
shape "NORM" {
{ [17,17] },
{ [ 2, 1], [ 15, 15 ] }
};
shape "NARR" {
{ [ 15, 17 ] },
{ [ 2, 1 ], [ 13, 15 ] }
};
shape "FKEY" {
{ [ 15.1, 15.5 ] },
{ [ 1, 1 ], [ 14.1, 14.5 ] }
};
shape "ESC" {
{ [ 16.4, 15.5 ] },
{ [ 1, 1 ], [ 14.1, 14.5 ] }
};
shape "WIDE" { // backspace, tab and Fn
{ [ 25, 17 ] },
{ [ 2, 1 ], [ 23, 15 ] }
};
shape "RTRN" {
{ [ 27.5, 17 ] },
{ [ 2, 1 ], [ 25.5, 15 ] }
};
shape "CAPS" {
{ [ 30, 17 ] },
{ [ 2, 1 ], [ 28, 15 ] }
};
shape "LFSH" {
{ [ 38.5, 17 ] },
{ [ 2, 1 ], [ 36.5, 15 ] }
};
shape "RTSH" {
{ [ 21, 17 ] },
{ [ 2, 1 ], [ 19, 15 ] }
};
shape "SPCE" {
{ [ 88.8, 17 ] },
{ [ 2, 1 ], [ 86.8, 15 ] }
};
shape "WELL" {
{ [ 269, 105 ] }
};
shape "LED" {
cornerRadius= 1.5,
{ [ 3, 10 ] }
};
section.left= 6;
row.left= 1;
key.shape= "NORM";
key.gap= 0.5;
key.color= "grey20";
labelColor= "white";
baseColor= "grey20";
indicator.top= 20;
indicator.shape= "LED";
indicator.onColor= "green";
indicator.offColor= "green30";
indicator "Power" { left= 40; };
indicator "Battery" { left=101; };
indicator "Suspend" { left=112; };
indicator "HardDrive" { left=123; };
indicator "Floppy" { left=134; };
indicator "KeyPad" { left=145; };
indicator "Num Lock" { left=156; };
indicator "Caps Lock" { left=167; };
indicator "Scroll Lock" { left=178; };
solid "KeyWell" {
top= 35;
left= 6;
shape= "WELL";
color= "grey10";
};
section "Whole" {
top= 35;
row {
top= 0.5;
key.color= "grey30";
key.shape= "FKEY";
keys {
{ <ESC>, "ESC" },
<FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
<NMLK>, <PRSC>, <SCLK>, <PAUS>
};
};
row {
top= 16.5;
keys {
{ <TLDE>, "NARR" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, shape="WIDE", color="grey30" },
{ <HOME>, shape="NARR", color="grey30" }
};
};
row {
top= 34;
keys {
{ <TAB>, shape="WIDE", color="grey30" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "NARR" },
{ <PGUP>, shape="NARR", color="grey30" }
};
};
row {
top= 51.5;
keys {
{ <CAPS>, shape="CAPS", color="grey30" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, shape="RTRN", color="grey30" },
{ <PGDN>, shape="NARR", color="grey30" }
};
};
row {
top= 69;
keys {
{ <LFSH>, shape="LFSH", color="grey30" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, shape="RTSH", color="grey30" },
{ <UP>, shape="NARR", color="grey30" },
{ <END>, shape="NARR", color="grey30" }
};
};
row {
top= 86.5;
key.color= "grey30";
keys {
{ <FUNC>, "WIDE" },
<LCTL>, <LALT>,
{ <SPCE>, shape="SPCE", 18, color="grey20" },
<RALT>, <INS>, <DELE>,
{ <LEFT>, "NARR" }, { <DOWN>, "NARR" },
{ <RGHT>, "NARR" }
};
};
solid "FakeKey" {
top= 86.5;
left= 62.1;
shape= "NORM";
color= "grey20";
};
overlay "KPAD" {
<AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
<AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
<AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
<AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
};
}; // End of "Whole" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};

View File

@@ -0,0 +1,314 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "138" {
// This is an approximate layout for a (US/ASCII) Fujitsu keyboard.
description= "Fujitsu English keyboard";
width= 480;
height= 215;
shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,19], [ 0,19] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,18], [ 1,18] }
};
shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "SPCE" { { [151,18] }, { [2,1], [149,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 15;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 28;
row {
top= 1;
keys {
<BREA>, { <PRSC>, 6 },
{ <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
{ <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
{ <FK29>, 68 }, <FK30>, <FK31>, <FK32>
};
};
row {
top= 20;
keys {
<KNJI>, { <PAUS>, 6 },
{ <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
{ <UNK0>, 6 }, <UNK1>, <UNK2>,
{ <FK25>, 6 }, <FK26>, <FK27>, <FK28>
};
};
row {
top= 39;
left= 316;
keys {
<PGUP>, <HOME>, <PGDN>
};
};
row {
top= 54;
keys {
<UNDO>, { <ESC>, 6 },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>, <TLDE>, <BKSP>,
{ <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
};
};
row {
top= 58;
left= 316;
keys {
<UNK3>, <DEL>, <INS>
};
};
row {
top= 73;
keys { <COPY>,
{ <TAB>, 6, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" },
{ <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
};
};
row {
top= 92;
keys { <PAST>,
{ <LCTL>, 6, "LCTL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>,
{ <UP>, 49 },
{ <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
};
};
row {
top= 102;
left= 316;
keys { <LEFT>, { <RGHT>, 19 }
};
};
row {
top= 111;
keys { <CUT>,
{ <LFSH>, 6 , "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH" },
{ <DOWN>, 25 },
{ <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
};
};
row {
top= 130;
keys { <HELP>, { <CAPS>, 6 },
<LALT>, <LMTA>,
{ <SPCE>, "SPCE" },
<RMTA>, <RALT>, <COMP>, <LNFD>,
{ <KP0>, 68, "KP0" }, <KP00>
};
};
row {
top= 149;
left= 316;
keys {
{ <EXEC>, "EXEC" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "140" {
// This is an approximate layout for a Fujitsu Japanese keyboard.
description= "Fujitsu Japanese keyboard";
width= 480;
height= 215;
shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,19], [ 0,19] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,18], [ 1,18] }
};
shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "SPCE" { { [113,18] }, { [2,1], [111,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "HNKN" { { [ 23,18] }, { [2,1], [ 21,17] } };
shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 15;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Alpha" {
top= 28;
row {
top= 1;
keys {
<BREA>, { <PRSC>, 6 },
{ <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
{ <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
{ <FK29>, 68 }, <FK30>, <FK31>, <FK32>
};
};
row {
top= 20;
keys {
<KNJI>, { <PAUS>, 6 },
{ <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
{ <UNK0>, 6 }, <UNK1>, <UNK2>,
{ <FK25>, 6 }, <FK26>, <FK27>, <FK28>
};
};
row {
top= 39;
left= 316;
keys {
<PGUP>, <HOME>, <PGDN>
};
};
row {
top= 54;
keys {
<UNDO>, { <ESC>, 6 },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>, <BKSL>, <BKSP>,
{ <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
};
};
row {
top= 58;
left= 316;
keys {
<UNK3>, <DEL>, <INS>
};
};
row {
top= 73;
keys { <COPY>,
{ <TAB>, 6, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" },
{ <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
};
};
row {
top= 92;
keys { <PAST>,
{ <LCTL>, 6, "LCTL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <TLDE>,
{ <UP>, 49 },
{ <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
};
};
row {
top= 102;
left= 316;
keys { <LEFT>, { <RGHT>, 19 }
};
};
row {
top= 111;
keys { <CUT>,
{ <LFSH>, 6 , "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH" },
{ <DOWN>, 25 },
{ <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
};
};
row {
top= 130;
keys { <HELP>, { <CAPS>, 6 },
<LALT>, <LMTA>, <UNK4>,
{ <SPCE>, "SPCE" },
<UNK5>, <RMTA>, <COMP>, <LNFD>, <UNK6>,
{ <KP0>, 68, "KP0" }, <KP00>
};
};
row {
top= 149;
left= 134;
keys {
{ <UNK7>, "HNKN" }, { <UNK8>, "HNKN" },
{ <EXEC>, 132, "EXEC" }
};
};
}; // End of "Alpha" section
};

View File

@@ -0,0 +1,266 @@
//
// XKB geometry for the Happy Hacking (Lite).
// Different variants correspond to different switch
// settings on the HHK.
//
// Copyright (c) Doug Palmer <doug@charvolant.org>, 2002
//
//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
//AUTHORS OR COPYRIGHT HOLDERS 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.
// SW = 100 Default layout with windows keys
default xkb_geometry "win1" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <LWIN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RWIN>, "DIAM" },
<RALT>
};
};
};
};
// SW = 101 Layout with windows and alt keys swapped
xkb_geometry "win2" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LWIN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<RWIN>
};
};
};
};
// SW = 110 Default layout with windows keys, and left diamond = Fn key
xkb_geometry "win3" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <FN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RWIN>, "DIAM" },
<RALT>
};
};
};
};
// SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key
xkb_geometry "win4" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<FN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<RWIN>
};
};
};
};
// SW = 000 Layout with Muhenkan and Henkan keys
xkb_geometry "jp1" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <NFER>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <XFER>, "DIAM" },
<RALT>
};
};
};
};
// SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt
xkb_geometry "jp2" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<NFER>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<XFER>
};
};
};
};
// SW = 010 Layout with Henkan key and left-diamond as Fn
xkb_geometry "jp3" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<LALT>,
{ <FN>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <XFER>, "DIAM" },
<RALT>
};
};
};
};
// SW = 001 Layout with Henkan key swapped with Alt and left-Alt as Fn
xkb_geometry "jp4" {
include "hhk(basic)"
key.gap = 1;
section "Space" {
top = 86;
left = 30;
row {
top = 1;
keys {
<FN>,
{ <LALT>, "DIAM" },
{ <SPCE>, "SPCE" },
{ <RALT>, "DIAM" },
<XFER>
};
};
};
};
// Basic layout for non-switchable keys
partial hidden xkb_geometry "basic" {
description = "Happy Hacking";
width = 290;
height = 106;
shape.cornerRadius = 1;
shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } };
shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } };
shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } };
shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } };
shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } };
shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } };
shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } };
text.color = "black";
text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; };
text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; };
section.left = 1;
row.left = 1;
key.shape = "NORM";
key.gap = 1;
section "Alphanumeric" {
top = 10;
row {
top = 1;
keys {
<ESC>,
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
<AE11>, <AE12>,
<BKSL>, <TLDE>
};
};
row {
top = 20;
keys {
{ <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSP>, "BKSP" }
};
};
row {
top = 39;
keys {
{ <LCTL>, "CTRL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top = 58;
keys {
{ <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" },
{ <FN>, color = "grey20" }
};
};
};
alias <AC00> = <LCTL>;
};

View File

@@ -0,0 +1,696 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "pc101" {
description= "HP PC101";
width= 470;
height= 210;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [132,18] }, { [2,1], [130,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 52;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 91;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE", color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 91;
left= 310;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 91;
left= 375;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry
xkb_geometry "hil" {
description= "HP hil";
width= 455;
height= 170;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "TABK" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "BKSL" { { [ 24,18] }, { [2,1], [ 22,17] } };
shape "RTRN" { { [ 38,18] }, { [2,1], [ 36,17] } };
shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [151,18] }, { [2,1], [150,17] } };
shape "KP0" { { [ 38,18] }, { [2,1], [ 36,17] } };
shape "KPTB" { { [ 18,38] }, { [2,1], [ 16,37] } };
shape "TLDE" { { [ 24,18] }, { [2,1], [ 22,17] } };
shape "FKT1" { { [ 17,14] }, { [2,1], [ 15,13] } };
shape "FKT2" { { [ 23,14] }, { [2,1], [ 21,13] } };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 14;
row {
top= 1;
keys { { <BRK>, "FKT1" }, { <STOP>, "FKT1" } ,
{ <FK01>, "FKT2", 10 }, { <FK02>, "FKT2" },
{ <FK03>, "FKT2" }, { <FK04>, "FKT2" },
{ <MENU>, "FKT1" }, { <SYST>, "FKT1" },
{ <FK05>, "FKT2" }, { <FK06>, "FKT2" },
{ <FK07>, "FKT2" }, { <FK08>, "FKT2" },
{ <CLRL>, "FKT1", 10 }, { <CLR>, "FKT1" },
{ <FK09>, "FKT1", 19 }, { <FK10>, "FKT1" },
{ <FK11>, "FKT1" }, { <FK12>, "FKT1" }
};
};
}; // End of "Function" section
section "Alpha" {
top= 52;
row {
top= 1;
keys { { <TLDE>, "TLDE" }, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }, <INSL>, <DELL>
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" },
<INSC>, <DELC>
};
};
row {
top= 39;
keys { <CAPS>, <LCTL>,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" },
<HOME>, <PGUP>
};
};
row {
top= 58;
keys { <ESC>, { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }, <SELE>,
<UP>, <PGDN>
};
};
row {
top= 77;
keys { <PRSC>, { <LALT>, 30 },
{ <SPCE>, "SPCE" },
<RALT>, { <LEFT>, 30 }, <DOWN>, <RGHT>
};
};
}; // End of "Alpha" section
section "Keypad" {
top= 52;
left= 360;
row {
top= 1;
keys { <KPMU>, <KPDV>, <KPAD>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPEN> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPSP> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPTB>, "KPTB" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
};
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for HP Omnibook keyboards.
// Compatible Models: 6100, 6000.
xkb_geometry "omnibook" {
width = 282;
height = 128;
baseColor = "grey80";
labelColor = "white";
shape "FN0" { cornerRadius = 1, { [15.5, 12] }, { [1, 0], [14.5, 11] } };
shape "NORM" { cornerRadius = 1, { [18, 16] }, { [2, 0], [16, 14] } };
shape "BKSP" { cornerRadius = 1, { [31, 16] }, { [2, 0], [29, 14] } };
shape "TABK" { cornerRadius = 1, { [27, 16] }, { [2, 0], [25, 14] } };
shape "CAPS" { cornerRadius = 1, { [32, 16] }, { [2, 0], [30, 14] } };
shape "RTSH" { cornerRadius = 1, { [45, 16] }, { [2, 0], [43, 14] } };
shape "MODK" { cornerRadius = 1, { [28, 16] }, { [2, 0], [26, 14] } };
shape "SPCE" { cornerRadius = 1, { [90, 16] }, { [2, 0], [88, 14] } };
shape "ARRS" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 11] } };
shape "LED" { cornerRadius = 1, { [2, 4] } };
shape "KEYS" { cornerRadius = 1,
{ [0, 13],
[197, 13], [197, 0],
[280, 0], [280, 125],
[224, 125], [224, 112],
[0, 112] }
};
solid "KeyPanel" {
shape = "KEYS";
left = 1;
top = 1;
color = "black";
};
shape "NULL1" { cornerRadius = 1, { [54, 16] } };
solid "NullPanel1" {
shape = "NULL1";
left = 226;
top = 96;
color = "grey80";
};
shape "NULL2" { cornerRadius = 1, { [19, 14] } };
solid "NullPanel2" {
shape = "NULL2";
left = 243;
top = 97;
color = "black";
};
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.top = 4;
indicator.shape = "LED";
indicator "Caps Lock" { left = 45; };
indicator "Num Lock" { left = 60; };
indicator "Scroll Lock" { left = 75; };
indicator "HDDActivity" { onColor = "red"; left = 90; };
key.color = "grey60";
section "Function" {
key.gap = 0.99;
left = 1;
top = 1;
key.shape = "FN0";
row {
left = 197;
top = 1;
keys { <PRSC>, <PAUS>, <INS>, <HOME>, <PGUP> };
};
row {
top = 14;
keys { <ESC>,
<FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>,
<FK09>, <FK10>, <FK11>, <FK12>,
<SCLK>, <DELE>, <END>, <PGDN>
};
};
}; // End of "Function" section
section "Control" {
left = 1;
top = 34;
key.gap = 1;
row {
top = 62;
key.shape = "NORM";
keys { <LCTL>, <FN>, <LWIN>, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
}; // End of "Control" section
section "Navigation" {
key.shape = "ARRS";
left = 225;
top = 97;
key.gap = 1.4;
row {
left= 18;
top = 1;
keys { <UP> };
};
row {
top = 16;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 4, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 73;
left = 126;
};
};
// 86 keys
xkb_geometry "omnibook_intl" {
include "hp(omnibook)"
description = "HP Omnibook 6000/6100, Intl";
shape "RTRN" { cornerRadius = 1,
{ [22, 0], [22, 33], [5, 33], [5, 16], [0, 16], [0, 0] },
{ [20, 0], [20, 31], [7, 31], [7, 14], [2, 14], [2, 0] } };
shape "LFSH" { cornerRadius = 1, { [23, 16] }, { [2, 0], [21, 14] } };
section "Alpha" {
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
left = 1;
top = 27;
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 18;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top = 35;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top = 52;
keys { { <LFSH>, "LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "mini110" {
description= "HP Mini 110";
width= 262;
height= 106;
shape.cornerRadius = 0;
shape "FN0" { { [ 14, 10 ] } , { [ 14, 10 ] } };
shape "NORM" { { [ 16.7, 16 ] } , { [ 16.7, 16 ] } };
shape "TLDE" { { [ 12, 16 ] } , { [ 12, 16 ] } };
shape "ONE" { { [ 14, 16 ] } , { [ 14, 16 ] } };
shape "BKSP" { { [ 31.3, 16 ] } , { [ 31.3, 16 ] } };
shape "BKSL" { { [ 23.9, 16 ] } , { [ 23.9, 16 ] } };
shape "CAPS" { { [ 22, 16 ] } , { [ 22, 16 ] } };
shape "RTRN" { { [ 36.3, 16 ] } , { [ 36.3, 16 ] } };
shape "LFSH" { { [ 31, 16 ] } , { [ 31, 16 ] } };
shape "RTSH" { { [ 45, 16 ] } , { [ 45, 16 ] } };
shape "CTLS" { { [ 16.5, 19 ] } , { [ 16.5, 19 ] } };
shape "SPCE" { { [ 78.4, 19 ] } , { [ 78.4, 19 ] } };
shape "ARRW" { { [ 16.7, 9 ] } , { [ 16.7, 9 ] } };
key.gap=1;
section "Function" {
top=4;
left=3;
key.shape="FN0";
row {
keys {
<ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
<FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
<FK12>, <PAUS>, <SCLK>, <INS>, <DELE>
};
};
};
section "Alphanum" {
top=15;
left=3;
key.shape="NORM";
row {
top= 0;
keys { { <TLDE>, "TLDE" } , { <AE01>, "ONE" }, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 17;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top= 34;
keys { { <CAPS>, "CAPS" } ,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top= 51;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
};
section "Control" {
top=83;
left=3;
key.shape="CTLS";
row {
keys {
<LCTL>, <FN>, <LWIN>, <LALT>, { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
};
section "Arrows" {
top=83;
left=204.9;
key.shape="ARRW";
row {
left= 17.7;
keys {
<UP>
};
};
row {
top = 10;
keys {
<LEFT>, <DOWN>, <RGHT>
};
};
};
};
xkb_geometry "dv5" {
height=118.4;
width=310.6;
description = "HP Pavilion dv5";
shape.cornerRadius = 1;
shape "ESC" { { [20.0, 12.5] }, { [2.2, 1], [17.8, 10.5] } };
shape "FN0" { { [15.9, 12.5] }, { [2.2, 1], [13.7, 10.5] } };
shape "DELE" { { [19.4, 12.5] }, { [2.2, 1], [17.2, 10.5] } };
shape "NORM" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "BKSP" { { [36.1, 18.3] }, { [2.4, 1], [33.7, 16.3] } };
shape "TABK" { { [26.8, 18.3] }, { [2.4, 1], [24.4, 16.3] } };
shape "BKSL" { { [27.1, 18.3] }, { [2.4, 1], [24.7, 16.3] } };
shape "CAPS" { { [31.6, 18.3] }, { [2.4, 1], [29.2, 16.3] } };
shape "RTRN" { { [41.2, 18.3] }, { [2.4, 1], [39.3, 16.3] } };
shape "LFSH" { { [41.5, 18.3] }, { [2.4, 1], [38.8, 16.3] } };
shape "RTSH" { { [31.5, 18.3] }, { [2.4, 1], [29.1, 16.3] } };
shape "LCTL" { { [22.4, 18.3] }, { [2.2, 1], [20.2, 16.3] } };
shape "RCTL" { { [22.6, 18.3] }, { [2.2, 1], [20.4, 16.3] } };
shape "CTLS" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "SPCE" { { [94.3, 18.3] }, { [2.5, 1], [91.8, 16.3] } };
shape "ARRW" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } };
shape "EDIT" { { [16.6, 18.3] }, { [2.2, 1], [14.4, 16.3] } };
key.gap = 1.2;
section "Function" {
top=4.2;
left=3;
row {
key.shape = "FN0";
keys {
{<ESC>, "ESC"},
{2.9, <FK01>}, <FK02>, <FK03>, <FK04>,
{2.9, <FK05>}, <FK06>, <FK07>, <FK08>,
{2.9, <FK09>}, <FK10>, <FK11>, <FK12>,
{2.9, <NMLK>}, <PAUS>, <INS>, {<DELE>, "DELE"}
};
};
};
section "Alpha" {
top = 17.9;
key.shape = "NORM";
left = 3;
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 19.5;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top = 58.5;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
section "Controls" {
top = 95.9;
key.shape = "CTLS";
left = 3;
row {
top = 0;
keys { {<LCTL>, "LCTL"}, <FN>, <LWIN>, <LALT>, {<SPCE>, "SPCE"},
<RALT>, <MENU>, {<RCTL>, "RCTL"}
};
};
};
section "Editing" {
top = 16.5;
left = 289.9;
key.shape = "EDIT";
key.gap = 1.4;
row {
top = 0;
vertical = true;
keys {
<HOME>, <PGUP>, <PGDN>, <END>
};
};
};
section "Arrows" {
top = 76.4;
key.shape = "ARRW";
left = 249.3;
row {
top = 0;
left = 19.1;
keys {
<UP>
};
};
row {
top = 19.5;
left = 0;
keys {
<LEFT>, <DOWN>, <RGHT>
};
};
};
};

View File

@@ -0,0 +1,252 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "FlexPro" {
// This is an approximate layout for a Key Tronic FlexPro
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Key Tronic FlexPro keyboard";
width= 515;
height= 200;
shape "EDGE" { cornerRadius= 2, { [ 515, 200 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 32,18] }, { [2,1], [30,17] } };
shape "TABK" { { [ 32,18] }, { [2,1], [30,17] } };
shape "BKSL" { { [ 23,18] }, { [2,1], [21,17] } };
shape "RTRN" {
approx = { [16, 0], [38,37] },
{ [16, 0], [38, 0], [38,37],
[ 0,37], [ 0,19], [16,19] },
{ [18, 1], [36, 1], [36,36],
[ 2,36], [ 2,20], [18,20] } };
shape "CAPS" { { [36,18] }, { [2,1], [34,17] } };
shape "SHFT" { { [46,18] }, { [2,1], [44,17] } };
shape "LCTL" { { [32,18] }, { [2,1], [30,17] } };
shape "RCTL" { { [38,18] }, { [2,1], [36,17] } };
shape "LALT" { { [28,18] }, { [2,1], [26,17] } };
shape "RALT" { { [33,18] }, { [2,1], [31,17] } };
shape "LSPC" { { [66,22] }, { [0,0], [66,22] } };
shape "RSPC" { { [76,22] }, { [0,0], [76,22] } };
shape "KP0" { { [37,18] }, { [2,1], [35,17] } };
shape "KPEN" { { [18,37] }, { [2,1], [16,36] } };
shape "LOGO" { cornerRadius= 3, { [80,35] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 9;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 56;
row {
top = 1;
key.color= "grey20";
keys { <FK01>, <FK02> };
};
row {
top = 20;
key.color= "grey20";
keys { <FK03>, <FK04> };
};
row {
top = 39;
keys { <FK05>, <FK06> };
};
row {
top = 58;
key.color= "grey20";
keys { <FK07>, <FK08> };
};
row {
top = 77;
key.color= "grey20";
keys { <FK09>, <FK10> };
};
row {
top = 96;
keys { <FK11>, <FK12> };
};
}; // End of "Function" section
section "Alpha" {
top= 56;
left= 53;
row {
top= 1;
keys {
{ <ESC>, color="grey20" }, { <BKSL>, "BKSL", color="grey20" },
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys {
{ <TLDE>, color="grey20" }, { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys {
{ <LCTL>, color="grey20" }, { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>
};
};
row {
top= 58;
keys {
{ <LFSH>, color="grey20" },
{ <LFSH>, "SHFT", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "SHFT", color="grey20" }
};
};
row {
top= 77;
key.color= "grey20";
keys {
<LALT>,
{ <LCTL>, shape="LCTL" },
{ <LALT>, shape="LALT" },
{ <SPCE>, shape="LSPC", 4, color="white" },
{ <SPCE>, shape="RSPC",color="white" },
{ <RALT>, shape="RALT", 4 },
{ <RCTL>, shape="RCTL" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 12;
left= 365;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 45;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 64;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 102;
left= 20;
keys { <UP> };
};
row {
top= 121;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 3, { [ 76, 20 ] } };
shape "LED" { cornerRadius= 0, { [ 7, 4 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 11;
left= 430;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 13;
indicator.shape= "LED";
indicator "Num Lock" { left= 440; };
indicator "Caps Lock" { left= 467; };
indicator "Scroll Lock" { left= 489; };
text.top= 22;
text.color= "black";
text "NumLockLabel" { left= 438; text="Num\nLock"; };
text "CapsLockLabel" { left= 465; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 487; text="Scroll\nLock"; };
logo "FlexProLogoImage" {
top= 12;
left= 45;
name= "KeyTronic";
shape= "LOGO";
};
text "KeyTronicLogoText" {
top= 15;
left= 50;
width= 55;
text= "FlexPro";
font= "times";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 36;
};
section "Keypad" {
top= 56;
left= 430;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <LEFT> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, { <KPAD>, color= "grey20" } };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
};

View File

@@ -0,0 +1,189 @@
default xkb_geometry "model100" {
// This is an approximate layout for a Kinesis Ergonomic keyboard
// Generated completely by eye. I didn't actually *measure* a real
// keyboard.
description= "Kinesis Ergonomic";
width= 421;
height= 185;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "WIDE" { { [ 21,18] }, { [2,1], [19,17] } };
shape "TALL" { { [ 18,37] }, { [2,1], [16,36] } };
shape "FKEY" { cornerRadius=0, { [ 10,13] } };
shape "LED" { cornerRadius= 1.5, { [ 3, 3] } };
shape "LOGO" { { [ 40, 10 ] } };
shape "EDGE" { cornerRadius=5, { [ 421, 185 ] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section "LeftFunction" {
left= 15;
top= 11;
key.shape= "FKEY";
key.gap= 3;
row {
left= 1;
top= 1;
keys {
<ESC>, <FK01>, <FK02>, <FK03>, <FK04>,
<FK05>, <FK06>, <FK07>, <FK08>
};
};
}; // End of "LeftFunction" section
section "RightFunction" {
left= 290;
top= 11;
key.shape= "FKEY";
key.gap= 3;
row {
left= 1;
top= 0.2;
keys {
<FK09>, <FK10>, <FK11>, <FK12>, <PRSC>,
<SCLK>, <PAUS>, <FK16>, <FK17>
};
};
}; // End of "RightFunction" section
row.vertical= True;
row.top= 1;
key.gap= 0.5;
logo "KinesisLogoImage" {
top= 25;
left= 240;
name= "Kinesis";
shape= "LOGO";
};
indicator.shape= "LED";
indicator.top= 30;
indicator.onColor= "green";
indicator.offColor= "green30";
indicator "Caps Lock" { left= 23; };
section "LeftAlpha" {
top= 34;
left= 15;
row {
left= 2;
key.shape= "WIDE";
keys { <AE12>, <TAB>, <CAPS>, <LFSH> };
};
row {
top= 4;
left= 24;
keys { <AE01>, <AD01>, { <AC01>, color="grey20" }, <AB01>, <TLDE> };
};
row {
left= 43;
keys { <AE02>, <AD02>, { <AC02>, color="grey20" }, <AB02>, <INS> };
};
row {
left= 62;
keys { <AE03>, <AD03>, { <AC03>, color="grey20" }, <AB03>, <LEFT> };
};
row {
left= 81;
keys { <AE04>, <AD04>, { <AC04>, color="grey20" }, <AB04>, <RGHT> };
};
row {
left= 100;
keys { <AE05>, <AD05>, <AC05>, <AB05> };
};
}; // End of "LeftAlpha" section
indicator "NumLock" { left= 318; };
indicator "Overlay" { left= 387; };
section "RightAlpha" {
top= 34;
left= 290;
row {
left= 2;
keys { <AE06>, <AD06>, <AC06>, <AB06> };
};
row {
left= 21;
keys { <AE07>, <AD07>, { <AC07>, color="grey20" }, <AB07>, <UP> };
};
row {
left= 40;
keys { <AE08>, <AD08>, { <AC08>, color="grey20" }, <AB08>, <DOWN> };
};
row {
left= 59;
keys { <AE09>, <AD09>, { <AC09>, color="grey20" }, <AB09>, <AD11> };
};
row {
top= 4;
left= 78;
keys { <AE10>, <AD10>, { <AC10>, color="grey20" }, <AB10>, <AD12> };
};
row {
left= 97;
key.shape= "WIDE";
keys { <AE11>, <BKSL>, <AC11>, <RTSH> };
};
overlay "KPAD" {
<AE07>=<NMLK>, <AE08>=<KPEQ>, <AE09>=<KPSL>, <AE10>=<KPMU>,
<AD07>=<KP7>, <AD08>=<KP8>, <AD09>=<KP9>, <AD10>=<KPSU>,
<AC07>=<KP4>, <AC08>=<KP5>, <AC09>=<KP6>, <AC10>=<KPAD>,
<AB07>=<KP1>, <AB08>=<KP2>, <AB09>=<KP3>, <AB10>=<KPEN>,
<AE10>=<KPDL>, <AE11>=<KPEN>
};
}; // End of "RightAlpha" section
section "LeftEdit" {
top= 109;
left= 123;
angle= 20;
row.top= -18;
row {
top= 1;
left= 1;
keys { { <BKSP>, "TALL" } };
};
row {
left= 20;
keys { <LCTL>, { <DELE>, "TALL" } };
};
row {
left= 39;
keys { <LALT>, <HOME>, <END> };
};
}; // End of "LeftEdit" section
section "RightEdit" {
top= 109;
left= 302;
angle= -20;
row.top= -18;
row {
left= -57;
keys { <RALT>, <PGUP>, <PGDN> };
};
row {
left= -38;
keys { <RCTL>, { <RTRN>, "TALL" } };
};
row {
top= 1;
left= -19;
keys { { <SPCE>, "TALL" } };
};
overlay "KPAD" {
<SPCE>= <KP0>
};
}; // End of "RightEdit" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,532 @@
default xkb_geometry "natural" {
// Approximate layout for a Microsoft Natural
description= "Microsoft Natural";
width= 550;
height= 190;
shape.cornerRadius= 1;
shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } };
shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } };
shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } };
shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } };
shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } };
shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } };
shape "LCTL" {
approx= { [ 32, 22 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] }
};
shape "LWIN" {
approx= { [ 32, 23 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] }
};
shape "LALT" {
approx= { [ 32, 24 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] }
};
shape "RDEF" { { [ 18,18] }, { [3,1], [15,15] } };
shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } };
shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } };
shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } };
shape "BKSP" { { [ 41, 18 ] }, { [ 3, 1], [39, 15] } };
shape "BKSL" { { [ 24, 18 ] }, { [ 3, 1], [22, 15] } };
shape "RTRN" { { [ 37, 18 ] }, { [ 3, 1], [35, 15] } };
shape "RTSH" { { [ 43, 18 ] }, { [ 3, 1], [41, 15] } };
shape "RALT" {
approx= { [ 27, 24 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] }
};
shape "RWIN" {
approx= { [ 27, 23 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] }
};
shape "MENU" {
approx= { [ 27, 21 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] }
};
shape "RCTL" {
approx= { [ 27, 19 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] }
};
shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } };
shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } };
shape "SPCE" {
{ [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3],
[134,26], [99,30], [67,33], [33,30], [ 0,26] },
{ [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5],
[131,23], [99,28], [67,32], [33,28], [ 3,23] }
};
shape "EDGE" {
cornerRadius= 2,
{ [ 25, 0 ], [ 177, 17 ], [ 329, 0 ], [ 542, 0 ],
[ 542, 150 ], [ 354, 150 ], [ 177, 185 ], [ 0, 150 ] }
};
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
row.left= 1;
key.shape= "LDEF";
key.gap= 1;
section "LeftFunction" {
top= 10;
left= 40;
angle= 10;
row {
top= 1;
keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> };
};
}; // End of "LeftFunction" section
section "LeftAlpha" {
top= 47;
left= 30;
angle= 10;
row {
top= 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, { <AE06>, "KEY6" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
row {
top= 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } };
};
}; // End of "LeftAlpha" section
key.shape= "RDEF";
section "RightFunction" {
top= 32;
left= 195;
angle= -10;
row {
top= 1;
left= 1;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> };
};
}; // End of "RightFunction" section
section "RightAlpha" {
top= 71;
left= 190;
angle= -10;
row.left= 1;
row {
top= 1;
keys { { <AE07>, "KEY7" },
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <AC06>, "KEYH" },
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { { <AB06>, "KEYN" },
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
left= 40;
keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" },
{ <MENU>, "MENU" }, { <RCTL>, "RCTL" }
};
};
}; // End of "RightAlpha" section
section "SpaceBar" {
top= 139;
left= 111;
key.shape= "SPCE";
row { keys { <SPCE> }; };
};
section "Editing" {
top= 15;
left= 385;
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 109;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LED" {
cornerRadius= 0,
{ [ 3, 1 ] }
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.left= 177;
indicator.shape= "LED";
indicator "Num Lock" { top= 90; };
indicator "Caps Lock" { top= 107; };
indicator "Scroll Lock" { top= 127; };
section "Keypad" {
top= 47;
left= 456;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
// Approximate layout for a Microsoft Natural(R) Keyboard Elite
//
// Modified by Pavel Kurashov <pavell@mail.ru> Mon Oct 8 22:08:20 NOVST 2007
//
// * Function, editing and navigation keys are reduced in height
// * Navigation keys are repositioned in two columns
// * Leds are enlarged for better look
// * "BKSP" is aligned with "BKSL" and "RTRN"
// * Outline edges are slightly modified
//
xkb_geometry "elite" {
// Approximate layout for a Microsoft Natural(R) Keyboard Elite
description= "Microsoft Natural(r) Keyboard Elite";
width= 495;
height= 190;
shape.cornerRadius= 1;
shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } };
shape "FKEY" { { [ 18,13] }, { [2,1], [15,10] } };
shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } };
shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } };
shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } };
shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } };
shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } };
shape "LCTL" {
approx= { [ 32, 22 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] }
};
shape "LWIN" {
approx= { [ 32, 23 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] }
};
shape "LALT" {
approx= { [ 32, 24 ] },
{ [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] },
{ [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] }
};
shape "RDEF" { { [ 18,18 ] }, { [ 2, 1], [15, 15] } };
shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } };
shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } };
shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } };
shape "BKSP" { { [ 32, 18 ] }, { [ 2, 1], [30, 15] } };
shape "BKSL" { { [ 24, 18 ] }, { [ 2, 1], [22, 15] } };
shape "RTRN" { { [ 37, 18 ] }, { [ 2, 1], [35, 15] } };
shape "RTSH" { { [ 43, 18 ] }, { [ 2, 1], [41, 15] } };
shape "RALT" {
approx= { [ 27, 24 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] }
};
shape "RWIN" {
approx= { [ 27, 23 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] }
};
shape "MENU" {
approx= { [ 27, 21 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] }
};
shape "RCTL" {
approx= { [ 27, 19 ] },
{ [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] },
{ [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] }
};
shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } };
shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } };
shape "SPCE" {
{ [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3],
[134,26], [99,30], [67,33], [33,30], [ 0,26] },
{ [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5],
[131,23], [99,28], [67,32], [33,28], [ 3,23] }
};
shape "EDGE" {
cornerRadius= 3,
{ [ 32, 15 ], [140, 33],[ 220, 33 ], [ 329, 15 ], [ 493, 15 ],
[ 493, 150 ], [ 354, 150 ], [200, 180], [ 153, 180 ], [ 7, 150 ] }
};
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
row.left= 1;
key.shape= "FKEY";
key.gap= 1;
section "LeftFunction" {
top= 26;
left= 40;
angle= 10;
row {
top= 1;
keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> };
};
}; // End of "LeftFunction" section
key.shape= "LDEF";
section "LeftAlpha" {
top= 47;
left= 30;
angle= 10;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, { <AE06>, "KEY6" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
row {
top= 77;
keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } };
};
}; // End of "LeftAlpha" section
key.shape= "FKEY";
section "RightFunction" {
top= 48;
left= 195;
angle= -10;
row {
top= 1;
left= 1;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> };
};
}; // End of "RightFunction" section
key.shape= "RDEF";
section "RightAlpha" {
top= 71;
left= 190;
angle= -10;
row.left= 1;
row {
top= 1;
keys { { <AE07>, "KEY7" },
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <AC06>, "KEYH" },
<AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { { <AB06>, "KEYN" },
<AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
left= 40;
keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" },
{ <MENU>, "MENU" }, { <RCTL>, "RCTL" }
};
};
}; // End of "RightAlpha" section
section "SpaceBar" {
top= 139;
left= 111;
key.shape= "SPCE";
row { keys { <SPCE> }; };
};
section "Editing" {
key.shape="FKEY";
top= 23;
left= 348;
row {
top= 0;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 22;
left=20;
keys { <HOME>, <PGUP> };
};
row {
top= 36;
left=20;
keys { <END>, <PGDN> };
};
row {
top= 50;
left=20;
keys { <DELE>, <INS> };
};
row {
top= 75;
left= 29;
keys { <UP> };
};
row {
top= 89;
left=20;
keys { <LEFT>, <RGHT> };
};
row {
top= 103;
left=29;
keys { <DOWN> };
};
}; // End of "Editing" section
shape "LED" {
cornerRadius= 1,
{ [ 7, 2 ] }
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.left= 177;
indicator.shape= "LED";
indicator "Num Lock" { top= 90; };
indicator "Caps Lock" { top= 107; };
indicator "Scroll Lock" { top= 127; };
section "Keypad" {
top= 44;
left= 412;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};

View File

@@ -0,0 +1,157 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "pc98" {
description= "Generic PC98";
width= 405;
height= 172;
shape.cornerRadius= 1;
shape "NORM" { { [ 17,18] }, { [2,1], [ 15,17] } };
shape "RTRN" { { [ 20,37] }, { [2,1], [ 18,35] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [115,18] }, { [2,1], [113,17] } };
shape "FUNC" { { [ 21,18] }, { [2,1], [ 19,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "TABK" { { [ 30,18] }, { [2,1], [ 28,17] } };
shape "ARRW" { { [ 35,18] }, { [2,1], [ 33,17] } };
section.left= 8;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 29;
row {
top= 1;
key.shape="FUNC";
keys { { <BRK>, "NORM" }, { <PRSC>, "NORM", 5 },
{ <FK01>, 6 }, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 6 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 6 }, <FK12>, <FK13>, <FK14>, <FK15>
};
};
}; // End of "Function" section
section "Alpha" {
top= 54;
row {
top= 1;
keys { { <ESC>, shape="BKSP"},
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, <BKSL>,
{ <BKSP>, "BKSP" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN", 6 }
};
};
row {
top= 39;
keys { <LCTL>, <CAPS>,
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "RTSH" }
};
};
row {
top= 77;
keys { { <ALGR>, 35 } , <LALT>, { <NFER>, "FUNC" },
{ <SPCE>, "SPCE" }, { <XFER>, "FUNC" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 54;
left= 281;
row {
top= 1;
keys { <INS>, <DELE> };
};
row {
top= 20;
keys { <PGDN>, <PGUP> };
};
row {
top= 39;
keys { { <UP>, "ARRW" } };
};
row {
top= 58;
keys { <LEFT>, <RGHT> };
};
row {
top= 77;
keys { { <DOWN>, "ARRW" } };
};
}; // End of "Editing" section
section "Keypad" {
top= 54;
left= 320;
row {
top= 1;
keys { <HOME>, <HELP>, <KPSU>, <KPDV> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, <KPMU> };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, <KPAD> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, <KPEQ> };
};
row {
top= 77;
keys { <KP0>, <KPSP>, <KPDC>, <KPEN> };
};
}; // End of "Keypad" section
}; // End of "pc98" geometry

View File

@@ -0,0 +1,53 @@
// Zoomed 3x because of text size
default xkb_geometry "nokiarx51" {
description= "Nokia RX-51";
width= 273; // 13x6mm + 2x1.5mm border + 2x5mm border
height= 54; // 3x5mm + 2x1.5mm border
shape.cornerRadius= 1.5;
shape "NORM" { { [18,15] } };
shape "SPCE" { { [36,15] } };
shape "FRAME" { cornerRadius= 2.5, { [243,54] } };
solid "FRAME" {
shape= "FRAME";
color= "white";
top= 0;
left= 15;
};
section.left= 15;
row.left= 4.5;
key.shape= "NORM";
key.gap= 0;
section "Keys" {
top= 0;
row {
top= 4.5;
keys { { <LCTL>, "NORM", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AB08>,
{ <BKSP>, "NORM", color="grey20" }
};
};
row {
top= 19.5;
keys { { <RALT>, "NORM", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AB09>, <UP>,
{ <RTRN>, "NORM", color="grey20" }
};
};
row {
top= 34.5;
keys { { <LFSH>, "NORM", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>, <AB07>,
{ <SPCE>, "SPCE", color="white" },
<LEFT>, <DOWN>, <RGHT>
};
};
}; // End of "Keys" section
}; // End of "rx51" geometry

View File

@@ -0,0 +1,168 @@
default xkb_geometry "omnikey101" {
description= "North Gate Omnikey 101";
width= 470;
height= 175;
shape.cornerRadius= 1;
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [34,18] }, { [2,1], [32,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [15, 0], [40,37] },
{ [15, 0], [40, 0], [40,37],
[ 0,37], [ 0,19], [15,19] },
{ [17, 1], [38, 1], [38,36],
[ 2,36], [ 2,20], [17,20] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } };
shape "RTSH" { { [ 30,18] }, { [2,1], [28,17] } };
shape "MODK" { { [ 26,18] }, { [2,1], [24,17] } };
shape "SPCE" { { [129,18] }, { [2,1], [127,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 32;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 46.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 34;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 32;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 9 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 9 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 65;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }, <BKSL>
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LALT>,
{ <LCTL>, 23 },
{ <SPCE>, "SPCE", color="white" },
<RCTL>,
{ <RALT>, 23 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 32;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 65;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,150 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "sanwaskbkg3" {
description= "Sanwa Supply SKB-KG3";
// SKB-KG3BK (black)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3BK
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3BK/
// SKB-KG3W (white)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3W
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SW/
// SKB-KG3SV (silver)
// http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3SV
// http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SV/
width= 304;
height= 127;
shape.cornerRadius= 1;
shape "TOP" { { [15.25,13] }, { [2,2], [13.25,11] } };
shape "NORM" { { [17,16] }, { [2,2], [15,14] } };
shape "TBBK" { { [24.5,16] }, { [2,2], [22.5,14] } };
shape "RTRN" { { [0,0], [36,0], [36,34], [8.5,34], [8.5,16], [0,16] },
{ [2,2], [34,2], [34,32], [10.5,32], [10.5,14], [2,14] } };
shape "CAPS" { { [33,16] }, { [28,16] }, { [2,2], [26,14] } };
shape "LFSH" { { [41,16] }, { [2,2], [39,14] } };
shape "CTSH" { { [19.5,16] }, { [2,2], [17.5,14] } };
shape "SPCE" { { [57.5,16] }, { [2,2], [55.5,14] } };
shape "LED" { cornerRadius= 0, { [5,1] } };
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 3;
indicator.shape= "LED";
indicator "Num Lock" { left= 247; };
indicator "Caps Lock" { left= 266; };
indicator "Scroll Lock" { left= 285; };
text.color= "black";
text.top= 1;
text "Vendor1" { left= 10; text="SANWA"; };
text.top= 4.5;
text "Vendor2" { left= 10; text="SUPPLY"; };
text "NumLockLabel" { left= 241; text="Num Lock"; };
text "CapsLockLabel" { left= 260; text="Caps Lock"; };
text "ScrollLockLabel" { left= 279; text="Scroll Lock"; };
section.left= 3;
row.left= 1;
key.shape= "NORM";
key.gap= 2;
section "Function" {
key.shape= "TOP";
top= 10;
row {
top= 1;
keys { <ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>, <PRSC>,
{<NMLK>, color="grey20"}, <PAUS>, {<DELE>, color="grey20"}
};
};
overlay "SCLK" {
<NMLK>=<SCLK>
};
overlay "FN" {
<DELE>=<INS>
};
}; // End of "Function" section
section "Alpha" {
top= 24;
row {
top= 2;
keys { <HZTG>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
{<AE07>, color="grey20"}, {<AE08>, color="grey20"},
{<AE09>, color="grey20"}, {<AE10>, color="grey20"},
<AE11>, <AE12>, <AE13>, { <BKSP>, "TBBK" }
};
};
row {
top= 20;
keys { { <TAB>, "TBBK" }, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, {<AD07>, color="grey20"}, {<AD08>, color="grey20"},
{<AD09>, color="grey20"}, {<AD10>, color="grey20"}, <AD11>,
<AD12>, { <RTRN>, "RTRN" }
};
};
row {
top= 38;
keys { { <CAPS>, "CAPS" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, {<AC07>, color="grey20"}, {<AC08>, color="grey20"},
{<AC09>, color="grey20"}, {<AC10>, color="grey20"}, <AC11>,
<AC12>
};
};
row {
top= 56;
keys { { <LFSH>, "LFSH" }, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, {<AB07>, color="grey20"}, <AB08>,
{<AB09>, color="grey20"}, {<AB10>, color="grey20"}, <AB11>,
{<UP>, color="grey20"}, {<RTSH>, key.shape= "CTSH" }
};
};
row {
top= 74;
keys { { <LCTL>, key.shape= "CTSH" }, {<FN>, color="grey20"},
<LWIN>, <LALT>, <NFER>, {<SPCE>, "SPCE" }, <XFER>, <HKTG>,
<RALT>, <MENU>, {<LEFT>, color="grey20"},
{<DOWN>, color="grey20"},
{<RGHT>, key.shape= "CTSH", color="grey20"}
};
};
overlay "SCLK" {
<AE07>=<KO7>, <AE08>=<KO8>, <AE09>=<KO9>, <AE10>=<KOMU>,
<AD07>=<KO4>, <AD08>=<KO5>, <AD09>=<KO6>, <AD10>=<KOSU>,
<AC07>=<KO1>, <AC08>=<KO2>, <AC09>=<KO3>, <AC10>=<KOAD>,
<AB07>=<KO0>, <AB09>=<KODL>, <AB10>=<KODV>
};
overlay "FN" {
<UP>=<PGUP>, <LEFT>=<HOME>, <DOWN>=<PGDN>, <RGHT>=<END>
};
}; // End of "Alpha" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "default" geometry

View File

@@ -0,0 +1,614 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// 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 Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS 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.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "101-key keyboard for Silicon Graphics O2";
width= 448;
height= 162;
shape "EDGE" {
cornerRadius= 2,
{ [ 15, 0 ], [ 433, 0 ], [ 433, 10 ], [ 448, 10 ],
[ 448, 162 ], [ 0, 162 ], [ 0, 10 ], [ 15, 10 ] }
};
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 12,12] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 6;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 58;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 25;
left= 299;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 3, 1.5] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 364;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 372; };
indicator "Caps Lock" { left= 397; };
indicator "Scro llLock" { left= 422; };
text.font= "helvetica";
text.weight= "bold";
text.slant= "r";
text.fontWidth= "normal";
text.fontSize= 12;
text.top= 39.5;
text.color= "black";
text "NumLockLabel" { left= 376.5; text="1"; };
text "CapsLockLabel" { left= 401.5; text="A"; };
text "ScrollLockLabel" { left= 426.5; text="S"; };
logo "SGILogoImage" {
top= 26.5;
left= 396;
name= "SGI";
shape= "LOGO";
};
text.font= "helvetica";
text.weight= "bold";
text.slant= "o";
text.fontWidth= "narrow";
text.fontSize= 18;
text "SiliconLogoText" {
top= 27;
left= 375;
width= 20;
text= "Silicon";
};
text "GraphicsLogoText" {
top= 27;
left= 409;
width= 20;
text= "Graphics";
};
section "Keypad" {
top= 58;
left= 363;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "jp106" {
description= "Silicon Graphics 106-key Japanese keyboard";
width= 442;
height= 167;
shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
{ [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
{ [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
logo "SGILogoImage" {
top= 5;
left= 6;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 9;
left= 25;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 362;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40;
indicator.shape= "LED";
indicator "Num Lock" { left= 366; };
indicator "Caps Lock" { left= 391; };
indicator "Scroll Lock" { left= 416; };
text.top= 28;
text.color= "black";
text "NumLockLabel" { left= 366; text="Num\nLock"; };
text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
section.left= 5;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
{ <FK07>, color="grey20"}, {<FK08>,color="grey20"},
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
<AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AE13>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },<NFER>,
{ <SPCE>, "SPCE", color="white" },
<XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 296;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 361;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "jp106" geometry

View File

@@ -0,0 +1,410 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// 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 Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS 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.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 101-key keyboard";
width= 472;
height= 193;
shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 386; };
indicator "Caps Lock" { left= 411; };
indicator "Scroll Lock" { left= 436; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};

View File

@@ -0,0 +1,598 @@
//
// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
//
// 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 Silicon Graphics not be
// used in advertising or publicity pertaining to distribution
// of the software without specific prior written permission.
// Silicon Graphics makes no representation about the suitability
// of this software for any purpose. It is provided "as is"
// without any express or implied warranty.
//
// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
// GRAPHICS 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.
//
default xkb_geometry "pc101" {
// This is an approximate layout for a 101-key (US/ASCII) SGI
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 101-key keyboard";
width= 472;
height= 193;
shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 19}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },
{ <SPCE>, "SPCE",color="white" },
<RALT>, { <RCTL>, 20 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 377;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 386; };
indicator "Caps Lock" { left= 411; };
indicator "Scroll Lock" { left= 436; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 376;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "pc102" {
// This is an approximate layout for 102-key SGI international
// keyboards. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes of a few keys by eye. I didn't actually
// *measure* a real keyboard.
description= "Silicon Graphics 102-key Keyboard";
width= 470;
height= 193;
shape.cornerRadius= 1;
shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [26,37] },
{ [ 0, 0], [26, 0], [26,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [24, 1], [24,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 19;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 50;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18}, <FK02>, <FK03>, <FK04>,
{ <FK05>, 10}, <FK06>, <FK07>, <FK08>,
{ <FK09>, 10}, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 83;
row {
top= 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color= "grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color= "grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN", color= "grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color= "grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color= "grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>,
{ <LALT>, 19 },
{ <SPCE>, "SPCE", color="white" },
<RALT>,
{ <RCTL>, 19 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 50;
left= 308;
key.color= "grey20";
row {
top= 1;
keys { <PRSC>, <SCLK>, <PAUS> };
};
row {
top= 33;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 53;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 91;
left= 20;
keys { <UP> };
};
row {
top= 110;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 50;
left= 375;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 64.5;
indicator.shape= "LED";
indicator "Num Lock" { left= 384; };
indicator "Caps Lock" { left= 409; };
indicator "Scroll Lock" { left= 434; };
text.top= 52;
text.color= "black";
text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
logo "SGILogoImage" {
top= 17;
left= 22;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 21;
left= 40;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
setWidth= "narrow";
fontSize= 24;
};
section "Keypad" {
top= 83;
left= 374;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};
xkb_geometry "jp106" {
description= "Silicon Graphics 106-key Japanese keyboard";
width= 442;
height= 167;
shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
shape "RTRN" {
{ [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
{ [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
logo "SGILogoImage" {
top= 5;
left= 6;
name= "SGI";
shape= "LOGO";
};
text "SGILogoText" {
top= 9;
left= 25;
width= 50;
text= "SiliconGraphics";
font= "helvetica";
slant= "o";
weight= "bold";
fontWidth= "narrow";
fontSize= 24;
};
shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 25;
left= 362;
color= "grey10";
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 40;
indicator.shape= "LED";
indicator "Num Lock" { left= 366; };
indicator "Caps Lock" { left= 391; };
indicator "Scroll Lock" { left= 416; };
text.top= 28;
text.color= "black";
text "NumLockLabel" { left= 366; text="Num\nLock"; };
text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
section.left= 5;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 25;
row {
top= 1;
keys { { <ESC>, color="grey20" },
{ <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
{ <FK07>, color="grey20"}, {<FK08>,color="grey20"},
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 8 }, <SCLK>, <PAUS>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
<AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
<AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
<AE13>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
};
};
row {
top= 39;
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top= 58;
keys { { <LFSH>, "LFSH", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<AB11>, { <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LCTL>, { <LALT>, 20 },<NFER>,
{ <SPCE>, "SPCE", color="white" },
<XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 296;
key.color= "grey20";
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 361;
row {
top= 1;
key.color= "grey20";
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // End of "jp106" geometry

View File

@@ -0,0 +1,179 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_geometry "nwp5461" {
description= "Sony NEWS NWS-5000 Keyboard";
width= 425;
height= 190;
shape.cornerRadius= 1;
shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [28,18] }, { [2,1], [26,17] } };
shape "TABK" { { [28,18] }, { [2,1], [26,17] } };
shape "BKSL" { { [28,18] }, { [2,1], [26,17] } };
shape "RTRN" {
approx = { [15, 0], [33,37] },
{ [15, 0], [33, 0], [33,37],
[ 0,37], [ 0,19], [15,19] },
{ [17, 1], [31, 1], [31,36],
[ 2,36], [ 2,20], [17,20] }
};
shape "SHFT" { { [42,18] }, { [2,1], [40,17] } };
shape "MODK" { { [33,18] }, { [2,1], [31,17] } };
shape "SPCE" { { [85,18] }, { [2,1], [83,17] } };
shape "KPEN" { { [18,38] }, { [2,1], [16,37] } };
shape "STOP" { { [28,18] }, { [2,1], [26,17] } };
shape "CUT" { { [55,18] }, { [2,1], [53,17] } };
shape "EXEC" { { [32,18] }, { [2,1], [30,17] } };
shape "UNK" { { [18,18] }, { [2,1], [16,17] } };
shape "CAPS" { { [18,18] }, { [2,1], [16,17] } };
shape "FKEY" { { [23,18] }, { [2,1], [21,17] } };
section.left= 13;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 55;
row {
top= 1;
left= 37;
key.shape="FKEY";
keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
{ <FK06>, 5 }, <FK07>, <FK08>, <FK09>, <FK10>,
{ <FK11>, 5 }, <FK12>
};
};
}; // End of "Function" section
section "Alpha" {
top= 80;
row {
top= 1;
keys { { <ESC>, color="grey20" } ,
<AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>,
<AE09>, <AE10>, <AE11>, <AE12>,
<BKSL>, { <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <DELE>, color="grey20" },
{ <RTRN>, "RTRN", -14, color="grey20" }
};
};
row {
top= 39;
keys { { <LCTL>, "MODK", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <TLDE>
};
};
row {
top= 58;
keys { { <LFSH>, "SHFT", color="grey20" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
{ <RTSH>, "SHFT", color="grey20" }
};
};
row {
top= 77;
key.shape= "MODK";
key.color= "grey20";
keys { <LALT>, { <CAPS>, "CAPS" },
{ <STOP>, "STOP", color="white" },
{ <SPCE>, "SPCE", color="white" },
{ <CUT>, "CUT", color="white" },
{ <UNK0>, "UNK" }, { <UNK1>, "UNK" },
{ <EXEC>, "EXEC" }
};
};
}; // End of "Alpha" section
section "Editing" {
top= 80;
left= 312;
key.color= "grey20";
row {
top= 1;
keys { <HELP> };
};
row {
top= 20;
keys { <INS> };
};
row {
top= 39;
keys { <CLR> };
};
row {
top= 58;
keys { <PGUP> };
};
row {
top= 77;
keys { <PGDN> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 334;
row {
top= 1;
key.color= "grey20";
keys { { <KPMU>, 19 }, <KPDV>, <KPAD> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color="grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6>, { <KPSP>, color="grey20" } };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color="grey20" } };
};
row {
top= 77;
keys { <KP0>, { <KPDC>, color="grey20" }, <UP> };
};
row {
top= 96;
key.color= "grey20";
keys { <KPTB>, <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Keypad" section
}; // End of "default" geometry

View File

@@ -0,0 +1,223 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
// modified from /usr/share/X11/xkb/geometry/pc(pc104)
//
// The Apex 300 (Apex RAW) has 21 additional keys and
// <RWIN> is replaced by a hardware <FN> key. These
// additions to the basic PC104 layout are shown in red.
//
// Currently the kernel doesn't initialize these keys; a userspace
// tool is needed (apexctl: https://github.com/tuxmark5/ApexCtl).
// With this tool or a proper driver, the extra keys (except FN)
// can be assigned keycodes via udev-hwdb.
//
// FIXME: Keycodes shown here should be changed to match
// kernel defaults when a driver is developed.
//
// The additional keys are in 4 groups:
// 1) L1-L2 left of Escape (column) <I156>,<I157>
// 2) M1-M12 above F1-F12 (row) <FK13>-<FK24>
// 3) MX1-MX5 left of alpha keys (column) <I171>-<I175>
// 4) LeftUp, RightUp with regular arrows <I160>,<I159>
//
// Known <FN> key functions:
// <FN>+<F5> = kbd backlight step dimmer (NoSymbol)
// <FN>+<F6> = kbd backlight step brighter (NoSymbol)
// <FN>+<F7> = <I173> (AudioPrev)
// <FN>+<F8> = <I172> (AudioPlay, AudioPause)
// <FN>+<F9> = <I171> (AudioNext)
// <FN>+<F10> = <MUTE> (AudioMute)
// <FN>+<F10> = <VOL+> (VolumeUp)
// <FN>+<F11> = <VOL-> (VolumeDown)
//
// And yes, the spacebar really is that ridiculous.
//
// 2017.April
//
default xkb_geometry "apex300" {
description= "SteelSeries Apex 300 (Apex RAW)";
width= 450;
height= 150;
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
shape "SPCE" { { [113,37] }, { [2,1], [111,35] } };
shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
shape "MKEY" { { [ 18,8] }, { [2,1], [ 16,7] } };
shape "ESCA" { { [ 18,28] }, { [2,1], [ 16,27] } };
shape "LKEY" { { [ 18,14] }, { [2,1], [ 16,13] } };
shape "LEDS" { cornerRadius= 0, { [ 54, 6 ] } };
shape "LED" { cornerRadius= 0, { [ 4, 1 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 2;
left= 315;
color= "grey10";
};
indicator.onColor= "red";
indicator.offColor= "red";
indicator.top= 7;
indicator.shape= "LED";
indicator "Num Lock" { left= 321; };
indicator "Caps Lock" { left= 340; };
indicator "Scroll Lock" { left= 359; };
text.top= 2;
text.color= "black";
text "NumLockLabel" { left= 322; text="N"; };
text "CapsLockLabel" { left= 341; text="C"; };
text "ScrollLockLabel" { left= 360; text="S"; };
text "SteelSeriesLogo" { top= 10; left= 400; text="SteelSeries"; };
text "FNLogoKeyLabel" { top= 130; left= 248; text="FN"; };
key.shape= "NORM";
key.gap= 1;
key.color= "grey10";
section "Lkeys" {
key.shape= "LKEY";
key.color= "red";
row { top= 1; keys { <I156> }; };
row { top= 15; keys { <I157> }; };
}; // end of "Lkeys" section
section "MXkeys" {
key.shape= "NORM";
key.color= "red";
row { top= 35; keys { <I171> }; }; // 40 59 78 97 116
row { top= 54; keys { <I172> }; }; // 35 54 73 92 111
row { top= 73; keys { <I173> }; };
row { top= 92; keys { <I174> }; };
row { top=111; keys { <I175> }; };
}; // end of "MXkeys" section
section "Escape" {
left= 23;
key.shape= "ESCA";
key.color= "grey30";
row { top= 1; keys { <ESC> }; };
}; // end of "Escape" section
section "Mkeys" {
left= 61;
key.color= "red";
key.shape= "MKEY";
row { top= 1;
keys { <FK13>, <FK14>, <FK15>, <FK16>,
{ <FK17>, 11 }, <FK18>, <FK19>, <FK20>,
{ <FK21>, 11 }, <FK22>, <FK23>, <FK24> }; };
}; // end of "Mkeys" section
section "Function" {
left= 61;
key.color= "grey30";
row { top= 10;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 5 }, <SCLK>, <PAUS> }; };
}; // end of "Function" section
section "Alpha" {
top= 35;
left= 23;
key.color= "grey10";
row { keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey30" } }; };
row { top= 19;
keys { { <TAB>, "TABK", color="grey30" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" } }; };
row { top= 38;
keys { { <CAPS>, "CAPS", color="grey30" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color="grey30" } }; };
row { top= 57;
keys { { <LFSH>, "LFSH", color="grey30" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey30" } }; };
row { top= 76;
key.shape= "SMOD";
key.color= "grey30";
keys { { <LCTL>, "MODK" }, <LWIN>, <LALT>, { <SPCE>, "SPCE" },
<RALT>, { <I248>, color="red" }, <MENU>, <RCTL> }; };
}; // end of "Alpha" section
section "Editing" {
top= 35;
left= 313;
key.color= "grey30";
row { keys { <INS>, <HOME>, <PGUP> }; };
row { top= 19; keys { <DELE>, <END>, <PGDN> }; };
row { top= 57; keys { { <I160>, color="red" }, <UP>, { <I159>, color="red" } }; };
row { top= 76; keys { <LEFT>, <DOWN>, <RGHT> }; };
}; // end of "Editing" section
section "Keypad" {
top= 35;
left= 373;
key.color= "grey10";
row { keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> }; };
row { top= 19; keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } }; };
row { top= 38; keys { <KP4>, <KP5>, <KP6> }; };
row { top= 57; keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } }; };
row { top= 76; keys { { <KP0>, "KP0" }, <KPDL> }; };
}; // end of "Keypad" section
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
}; // end of "apex300" geometry

View File

@@ -0,0 +1,756 @@
// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
xkb_geometry "t6" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [136,18] }, { [2,1], [134,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSL>, "BKSL" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, { <LMTA>, "LMTA" },
{ <SPCE>, "SPCE" },
{ <RMTA>, "RMTA" }, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6tuv" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 24,18] }, { [2,1], [22,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [137,18] }, { [2,1], [135,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" }, <LSGT>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, { <LMTA>, "LMTA" },
{ <SPCE>, "SPCE" },
{ <RMTA>, "RMTA" }, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6jp" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "KANJ" { { [ 27,18] }, { [2,1], [25,17] } };
shape "EXEC" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" {
approx = { [ 0, 0], [28,37] },
{ [ 0, 0], [28, 0], [28,37],
[ 5,37], [ 5,18], [ 0,18] },
{ [ 1, 1], [26, 1], [26,36],
[ 7,36], [ 7,17], [ 1,17] }
};
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [ 96,18] }, { [2,1], [94,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <ESC>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <BKSL>
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <UNDR>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9 },
<LALT>, <LMTA>, { <EXEC>, "EXEC" },
{ <SPCE>, "SPCE" }, { <KANJ>, "KANJ" }, <HENK>,
<RMTA>, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
xkb_geometry "t6unix" {
// This is an approximate layout for a (US/ASCII) Sun Type6
// keyboard. I just took a similar layout (101 key PC keyboard)
// and adjusted the sizes.
width= 515;
height= 170;
shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
shape.cornerRadius= 1;
shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
shape "BKSP" { { [ 28,18] }, { [2,1], [26,17] } };
shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
shape "SPCE" { { [136,18] }, { [2,1], [134,17] } };
shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } };
shape "LOGO" { { [ 16,16] } };
outline "Edges" {
top= 0;
left= 0;
shape= "EDGE";
};
section.left= 14;
row.left= 1;
key.shape= "NORM";
key.gap= 1;
section "Function" {
top= 24;
row {
top= 1;
keys { { <HELP>, "HELP" }, { <NONE>, 9 },
{ <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
{ <PRSC>, 9 }, <SCLK>, <PAUS>,
{ <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
};
};
}; // End of "Function" section
section "Alpha" {
top= 61;
row {
top= 1;
keys { <STOP>, <AGAI>,
{ <ESC>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>,
<BKSL>, <TLDE>
};
};
row {
top= 20;
keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>,
{ <BKSP>, "BKSP", color="grey20" }
};
};
row {
top= 39;
keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, "RTRN" }
};
};
row {
top= 58;
keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH", color="grey20" }
};
};
row {
top= 77;
keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
<LALT>, {<LMTA>, "LMTA"},
{ <SPCE>, "SPCE" },
{<RMTA>, "RMTA"}, <COMP>, <ALGR>
};
};
}; // End of "Alpha" section
section "Editing" {
top= 61;
left= 352;
row {
top= 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top= 20;
keys { <DELE>, <END>, <PGDN> };
};
row {
top= 58;
left= 20;
keys { <UP> };
};
row {
top= 77;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Editing" section
section "Keypad" {
top= 61;
left= 420;
row {
top= 1;
keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
};
row {
top= 20;
keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
};
row {
top= 39;
keys { <KP4>, <KP5>, <KP6> };
};
row {
top= 58;
keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
};
row {
top= 77;
keys { { <KP0>, "KP0" }, <KPDL> };
};
}; // End of "Keypad" section
shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
shape "LED" { cornerRadius= 2, { [ 3, 6 ] } };
solid "LedPanel" {
shape= "LEDS";
top= 1;
left= 218;
};
indicator.onColor= "green";
indicator.offColor= "green30";
indicator.top= 10;
indicator.shape= "LED";
indicator "CapsLock" { left= 243; };
indicator "Compose" { left= 281; };
indicator "ScrollLock" { left= 262; };
indicator "NumLock" { left= 224; };
text.top= 1;
text.color= "black";
text "CapsLockLabel" { left= 243; text="Caps\nLock"; };
text "ComposeLabel" { left= 281; text="Compose"; };
text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; };
text "NumLockLabel" { left= 224; text="Num\nLock"; };
};
default xkb_geometry "type6" {
include "sun(t6)"
description= "Sun Type6 keyboard (US, Korea, Taiwan)";
};
xkb_geometry "type6jp" {
include "sun(t6jp)"
description= "Sun Type6 Japanese keyboard";
};
xkb_geometry "type6tuv" {
include "sun(t6tuv)"
description= "Sun Type6 TUV keyboard";
};
xkb_geometry "type6unix" {
include "sun(t6unix)"
description= "Sun Type6 Unix keyboard";
};
xkb_geometry "type7" {
include "sun(t6)"
description= "Sun Type7 keyboard (US, Korea, Taiwan)";
};
xkb_geometry "type7jp" {
include "sun(t6jp)"
description= "Sun Type7 Japanese keyboard";
};
xkb_geometry "type7tuv" {
include "sun(t6tuv)"
description= "Sun Type7 TUV keyboard";
};
xkb_geometry "type7unix" {
include "sun(t6unix)"
description= "Sun Type7 Unix keyboard";
};

View File

@@ -0,0 +1,627 @@
default xkb_geometry "teck227" {
description="Truly Ergonomic Computer Keyboard Model 227 with wide Alt. (Standard US layout)";
width=296;
height=155;
shape.cornerRadius=1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } };
shape "RSUP" {
{ [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] },
{ [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] }
};
shape "DEL" {
{ [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] },
{ [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] }
};
shape "AE11" {
{ [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] },
{ [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] }
};
shape "BKSP" {
{ [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] },
{ [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] }
};
shape "RTRN" {
{ [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] },
{ [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] }
};
section "Function" {
left=17;
top=3;
row {
keys { <ESC>,
{ <FK01>, 3 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 3 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 3 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 3 }
};
};
overlay "FN" {
<ESC>=<HIRA>,
<FK01>=<I180>,
<FK02>=<I163>,
<FK03>=<I225>,
<FK04>=<I152>,
<FK05>=<I148>,
<FK06>=<I179>,
<FK07>=<I173>,
<FK08>=<I172>,
<FK09>=<I171>,
<FK10>=<I121>,
<FK11>=<I122>,
<FK12>=<I123>,
<DELE>=<I169>
};
};
section "Special Keys" {
top=22;
left=122;
row {
keys {
<CAPS>, <FN>, <NMLK>
};
};
overlay "MISC" {
<CAPS>=<INS>,
<NMLK>=<PRSC>
};
};
section "LeftNumbers" {
top=32;
left=12;
angle=6;
row {
keys {
<TAB>, <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
};
};
};
section "CenterNumbers" {
top=45;
left=136;
row {
keys {
{ <RSUP>, "RSUP" }
};
};
};
section "RightNumbers" {
top=45;
left=159;
angle=-6;
row {
keys {
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE12>, <RBSP>
};
};
overlay "KPAD" {
<AE07>=<KP7>,
<AE08>=<KP8>,
<AE09>=<KP9>
};
};
section "LeftAlphaQWER" {
top=51;
left=10;
angle=6;
row {
keys {
<AD11>, <AD12>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
};
};
};
section "CenterAlphaQWER" {
top=64;
left=134;
row {
keys {
{ <DELE>, "DEL" }
};
};
};
section "RightAlphaQWER" {
top=64;
left=161;
angle=-6;
row {
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AC11>, <BKSL>
};
};
overlay "KPAD" {
<AD07>=<KP4>,
<AD08>=<KP5>,
<AD09>=<KP6>,
<AD10>=<KPSU>,
<AC11>=<KPAD>
};
};
section "LeftAlphaASDF" {
top=52;
left=10;
angle=6;
row {
top=18;
keys {
{ <LCTL>, "DBL" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>
};
};
};
section "CenterAlphaASDF" {
top=83;
left=132;
row {
keys {
{ <AE11>, "AE11" }
};
};
};
section "RightAlphaASDF" {
top=65;
left=161;
angle=-6;
row {
top=18;
keys {
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, { <RCTL>, "DBL" }
};
};
overlay "KPAD" {
<AC07>=<KP1>,
<AC08>=<KP2>,
<AC09>=<KP3>,
<AC10>=<KPMU>
};
};
section "LeftAlphaZXCV" {
top=89;
left=6;
angle=6;
row {
keys {
{ <LFSH>, "DBL" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
};
section "CenterAlphaZXCV" {
top=102;
left=130;
row {
keys {
{ <BKSP>, "BKSP" }
};
};
};
section "RightAlphaZXCV" {
top=102;
left=165;
angle=-6;
row {
keys {
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "DBL" }
};
};
overlay "KPAD" {
<AB07>=<KP0>,
<AB09>=<KPDL>,
<AB10>=<KPDV>
};
};
section "LeftSpecial" {
top=108;
left=4;
angle=6;
row {
keys {
{ <LALT>, "DBL" },
{ <SPCE>, "DBL", 54 }
};
};
};
section "CenterSpecial" {
top=121;
left=128;
row {
keys {
{ <RTRN>, "RTRN" }
};
};
};
section "RightSpecial" {
top=121;
left=167;
angle=-6;
row {
keys {
{ <SPCE>, "DBL" },
{ <RALT>, "DBL", 54 }
};
};
};
section "pgup, pgdown, home and end" {
top=112;
left=40;
angle=6;
row {
left=18;
keys {
<PGUP>
};
};
row {
top=9;
keys {
<HOME>, { <END>, 18 }
};
};
row {
top=18;
left=18;
keys {
<PGDN>
};
};
};
section "Arrows" {
top=117;
left=203;
angle=-6;
row {
left=18;
keys {
<UP>
};
};
row {
top=9;
keys {
<LEFT>, { <RGHT>, 18 }
};
};
row {
top=18;
left=18;
keys {
<DOWN>
};
};
};
};
xkb_geometry "teck229" {
description="Truly Ergonomic Computer Keyboard Model 229 with standard sized Alt and an additional Menu and Super key. (Standard US layout)";
width=296;
height=155;
shape.cornerRadius=1;
shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } };
shape "RSUP" {
{ [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] },
{ [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] }
};
shape "DEL" {
{ [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] },
{ [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] }
};
shape "AE11" {
{ [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] },
{ [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] }
};
shape "BKSP" {
{ [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] },
{ [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] }
};
shape "RTRN" {
{ [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] },
{ [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] }
};
section "Function" {
left=17;
top=3;
row {
keys { <ESC>,
{ <FK01>, 3 }, <FK02>, <FK03>, <FK04>,
{ <FK05>, 3 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 3 }, <FK10>, <FK11>, <FK12>,
{ <DELE>, 3 }
};
};
overlay "FN" {
<ESC>=<HIRA>,
<FK01>=<I180>,
<FK02>=<I163>,
<FK03>=<I225>,
<FK04>=<I152>,
<FK05>=<I148>,
<FK06>=<I179>,
<FK07>=<I173>,
<FK08>=<I172>,
<FK09>=<I171>,
<FK10>=<I121>,
<FK11>=<I122>,
<FK12>=<I123>,
<DELE>=<I169>
};
};
section "Special Keys" {
top=22;
left=122;
row {
keys {
<CAPS>, <FN>, <NMLK>
};
};
overlay "MISC" {
<CAPS>=<INS>,
<NMLK>=<PRSC>
};
};
section "LeftNumbers" {
top=32;
left=12;
angle=6;
row {
keys {
<TAB>, <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05>
};
};
};
section "CenterNumbers" {
top=45;
left=136;
row {
keys {
{ <RSUP>, "RSUP" }
};
};
};
section "RightNumbers" {
top=45;
left=159;
angle=-6;
row {
keys {
<AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE12>, <RBSP>
};
};
overlay "KPAD" {
<AE07>=<KP7>,
<AE08>=<KP8>,
<AE09>=<KP9>
};
};
section "LeftAlphaQWER" {
top=51;
left=10;
angle=6;
row {
keys {
<AD11>, <AD12>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>
};
};
};
section "CenterAlphaQWER" {
top=64;
left=134;
row {
keys {
{ <DELE>, "DEL" }
};
};
};
section "RightAlphaQWER" {
top=64;
left=161;
angle=-6;
row {
keys {
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AC11>, <BKSL>
};
};
overlay "KPAD" {
<AD07>=<KP4>,
<AD08>=<KP5>,
<AD09>=<KP6>,
<AD10>=<KPSU>,
<AC11>=<KPAD>
};
};
section "LeftAlphaASDF" {
top=52;
left=10;
angle=6;
row {
top=18;
keys {
{ <LCTL>, "DBL" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05>
};
};
};
section "CenterAlphaASDF" {
top=83;
left=132;
row {
keys {
{ <AE11>, "AE11" }
};
};
};
section "RightAlphaASDF" {
top=65;
left=161;
angle=-6;
row {
top=18;
keys {
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>, { <RCTL>, "DBL" }
};
};
overlay "KPAD" {
<AC07>=<KP1>,
<AC08>=<KP2>,
<AC09>=<KP3>,
<AC10>=<KPMU>
};
};
section "LeftAlphaZXCV" {
top=89;
left=6;
angle=6;
row {
keys {
{ <LFSH>, "DBL" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>
};
};
};
section "CenterAlphaZXCV" {
top=102;
left=130;
row {
keys {
{ <BKSP>, "BKSP" }
};
};
};
section "RightAlphaZXCV" {
top=102;
left=165;
angle=-6;
row {
keys {
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "DBL" }
};
};
overlay "KPAD" {
<AB07>=<KP0>,
<AB09>=<KPDL>,
<AB10>=<KPDV>
};
};
section "LeftSpecial" {
top=108;
left=4;
angle=6;
row {
keys {
<LSUP>, <LALT>,
{ <SPCE>, "DBL", 54 }
};
};
};
section "CenterSpecial" {
top=121;
left=128;
row {
keys {
{ <RTRN>, "RTRN" }
};
};
};
section "RightSpecial" {
top=121;
left=167;
angle=-6;
row {
keys {
{ <SPCE>, "DBL" },
{ <RALT>, 54 }, <MENU>
};
};
};
section "pgup, pgdown, home and end" {
top=112;
left=40;
angle=6;
row {
left=18;
keys {
<PGUP>
};
};
row {
top=9;
keys {
<HOME>, { <END>, 18 }
};
};
row {
top=18;
left=18;
keys {
<PGDN>
};
};
};
section "Arrows" {
top=117;
left=203;
angle=-6;
row {
left=18;
keys {
<UP>
};
};
row {
top=9;
keys {
<LEFT>, { <RGHT>, 18 }
};
};
row {
top=18;
left=18;
keys {
<DOWN>
};
};
};
};

View File

@@ -0,0 +1,470 @@
// -*- indent-tabs-mode: nil -*-
// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
// Geometry specification for IBM ThinkPad keyboard.
// Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
// THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
// THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
// THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
// THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
// THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
// THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
// THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
// THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
// THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
// THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
xkb_geometry "common" {
width = 290;
height = 150;
baseColor = "grey80";
labelColor = "white";
shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
{ [1, 0], [26, 16] },
{ [2.5, 0], [24.5, 14] } };
shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
shape "LED" { cornerRadius = 2, { [3, 3] } };
shape "KEYS" { cornerRadius = 2,
{ [0, 0], [19, 0], [19, 13], [172, 13],
[172, 0], [286, 0], [286, 138], [216, 138],
[216, 124], [0, 124] } };
solid "KeyPanel" {
shape = "KEYS";
left = 2;
top = 5;
color = "black";
};
shape "NULL1" { cornerRadius = 1,
{ [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
[16, 4], [16, 18], [0, 18] } };
solid "NullPanel1" {
shape = "NULL1";
left = 237;
top = 110;
color = "grey80";
};
shape "NULL2" { cornerRadius = 1, { [17, 13] } };
solid "NullPanel2" {
shape = "NULL2";
left = 219;
top = 129;
color = "grey80";
};
shape "NULL3" { cornerRadius = 1,
{ [0, 26],
[72, 26], [72, 13], [76, 13], [76, 26],
[149, 26], [149, 13], [153, 13], [153, 26],
[226, 26], [226, 0], [230, 0], [230, 26],
[284, 26], [285, 27],
[0, 27] } };
solid "NullPanel3" {
shape = "NULL3";
left = 3;
top = 6;
color = "grey80";
};
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.top = 4;
indicator.shape = "LED";
indicator "HDDActivity" { onColor = "red"; left = 100; };
indicator "Num Lock" { left = 108; };
indicator "Caps Lock" { left = 114; };
indicator "Scroll Lock" { left = 120; };
indicator "Power" { left = 128; };
key.gap = 1;
key.color = "grey60";
section "Function" {
left = 2;
top = 5;
key.shape = "FN0";
row {
top = 1;
keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
};
row {
top = 14;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Control" {
left= 2;
top = 109;
key.shape = "MODK";
row {
top = 1;
keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <RCTL>
};
};
}; // End of "Control" section
section "Editing" {
top = 5;
left = 233;
key.shape = "FN0";
row {
top = 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top = 14;
keys { <DELE>, <END>, <PGDN> };
};
}; // End of "Editing" section
section "Navigation" {
top = 114;
left = 236;
key.shape = "ARRS";
row {
top = 1;
left = 17;
keys { <UP> };
};
row {
top = 15;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 4, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 85;
left = 126;
};
};
// 85 keys
// US/English (FRU 02K4785).
xkb_geometry "us" {
include "thinkpad(common)"
description = "IBM ThinkPad 560Z/600/600E/A22E, US";
shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
section "Alpha" {
left = 2;
top = 33;
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN" }
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
// 86 keys
// Tested on: DE/German, UK/English (FRU 02K4787).
xkb_geometry "intl" {
include "thinkpad(common)"
description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
[0, 18], [0, 0] },
{ [25.5, 0], [25.5, 33], [6.5, 33],
[6.5, 14], [2.5, 14], [2.5, 0] } };
shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
section "Alpha" {
left = 2;
top = 33;
key.gap = 1;
key.color = "grey60";
key.shape = "NORM";
row {
top = 1;
keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <RTRN>, "RTRN" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, <AC12>
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" }, <AB00>,
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};
xkb_geometry "60" {
width = 290;
height = 140;
baseColor = "grey80";
labelColor = "white";
shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } };
shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } };
shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } };
shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } };
shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } };
shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } };
shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } };
shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } };
shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } };
shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
shape "VOL" { cornerRadius = 2.5, { [5, 5] } };
shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } };
shape "KEYS" { cornerRadius = 2,
{ [0, 0], [19, 0], [19, 16], [172, 16],
[172, 4], [286, 4], [286, 133], [231, 133],
[231, 126], [0, 126] } };
solid "KeyPanel" {
shape = "KEYS";
left = 2;
top = 3;
color = "black";
};
shape "NULL0" { cornerRadius = 0.5,
{ [0, 26],
[72, 26], [72, 14], [76, 14], [76, 26],
[149, 26], [149, 14], [153, 14], [153, 26],
[226, 26], [226, 2], [230, 2], [230, 26],
[284, 26], [284, 27],
[0, 27] } };
solid "NullPanel0" {
shape = "NULL0";
left = 3;
top = 6;
color = "grey80";
};
shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } };
solid "NullPanel1" {
shape = "NULL1";
left = 3;
top = 6;
color = "grey80";
};
shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } };
solid "MediaPanel" {
shape = "MEDIA";
left = 25.5;
top = 6;
color = "black";
};
section "Volume" {
left = 22;
top = 8.5;
key.shape = "VOL";
key.gap = 6;
key.color = "grey20";
row {
keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} };
};
};
key.gap = 1;
key.color = "grey60";
section "Function" {
left = 2;
top = 3;
key.shape = "FN0";
row {
key.shape = "ESC";
top = 1;
keys { <ESC> };
};
row {
top = 5;
keys { { <PRSC>, 173 }, <SCLK>, <PAUS> };
};
row {
top = 17;
keys { <FK01>, <FK02>, <FK03>, <FK04>,
{ <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
{ <FK09>, 6 }, <FK10>, <FK11>, <FK12>
};
};
}; // End of "Function" section
section "Control" {
left = 2;
top = 109;
key.shape = "NORM";
row {
top = 1;
keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>,
{ <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
};
};
}; // End of "Control" section
section "Editing" {
top = 7;
left = 233;
key.shape = "FN0";
row {
top = 1;
keys { <INS>, <HOME>, <PGUP> };
};
row {
top = 13;
keys { <DELE>, <END>, <PGDN> };
};
}; // End of "Editing" section
section "Navigation" {
top = 109;
left = 233;
row {
key.shape = "ARR1";
top = 1;
keys { <I6A>, <UP>, <I69> };
};
row {
key.shape = "ARR2";
top = 15;
keys { <LEFT>, <DOWN>, <RGHT> };
};
}; // End of "Navigation" section
shape "STIK" { cornerRadius = 3.5, { [7, 7] } };
solid "STIK" {
priority = 255;
color = "red";
shape = "STIK";
top = 85.5;
left = 125.5;
};
section "Alpha" {
left = 2;
top = 33;
key.shape = "NORM";
row {
top = 1;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
<AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
<AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
};
};
row {
top = 20;
keys { { <TAB>, "TABK" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
<AD11>, <AD12>, { <BKSL>, "BKSL" }
};
};
row {
top = 39;
keys { { <CAPS>, "CAPS" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>, { <RTRN>, "RTRN", color = "blue" }
};
};
row {
top = 58;
keys { { <LFSH>, "LFSH" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
{ <RTSH>, "RTSH" }
};
};
}; // End of "Alpha" section
};

View File

@@ -0,0 +1,733 @@
// -*- indent-tabs-mode: nil -*-
// Created by Frédéric Boiteux <fboiteux (at) free (dot) fr>
// and Gildas Cotomale <gildas (dot) cotomale (at) gmail (dot) com>
// Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode
// <I[XX]>, found in definition file /usr/share/X11/xkb/keycodes/evdev.
// Fn = <I120>;
// Calc = <I148>;
// WWW = <I158>;
// CycleWindows = <I162>;
// Mail = <I163>;
// PlayPause = <I172>;
// Desktop = <I243>;
xkb_geometry "tm2020" {
description = "TypeMatrix EZ-Reach 2020";
// Keyboard total size :
width = 308;
height = 152;
// Background / foreground colours
baseColor = "white";
labelColor = "black";
// Key shapes: base key = 16 mm each side
shape "NORM" { cornerRadius=1, { [16, 16] }, { [1, 1], [15, 15] }};
shape "ALPL" { cornerRadius=1, { [24.25, 16] }, { [1, 1], [23, 15] }};
shape "DHAL" { cornerRadius=1, { [24.25, 32.5] }, { [1, 1], [23, 31.5] }};
shape "FUNC" { cornerRadius=1, { [16, 12] }, { [2.5, 0], [13.5, 10] }};
shape "FUNL" { cornerRadius=1, { [24.25, 12] }, { [2.5, 0], [21.5, 10] }};
shape "SPCE" { cornerRadius=1, { [57, 26] }, { [2.5, 1], [54.5, 24] }};
shape "DBLA" { cornerRadius=1, { [32.5, 16] }, { [1, 1], [31, 15] }};
shape "LED" { cornerRadius=2, { [4, 4] }};
shape "DECO" { cornerRadius=1, { [3, 18] }};
section "Function" {
left = 4;
top = 24;
key.gap = 0.5;
key.color = "grey10";
key.shape = "FUNC";
row {
keys { { <ESC>, "FUNL" },
<FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
key.color = "grey20";
keys { { <NMLK>, "FUNL" } };
};
row {
left = 150;
key.color = "red";
keys { { <DELE>, "FUNL" } };
key.color = "grey10";
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
{ <FK12>, "FUNL" } };
};
};
section "Alpha" {
left = 4;
top = 36.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { { <TLDE>, "ALPL" },
<AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
{ <BKSP>, "DHAL" } };
};
row {
top = 16.5;
keys { { <TAB>, "ALPL" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 33;
keys { { <LFSH>, "DHAL" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
{ <TAB>, "DHAL" } };
};
row {
top = 49.5;
left = 24.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 150;
keys { { <BKSP>, "DHAL" },
<AE06>, <AE07>, <AE08> };
key.color = "grey20";
keys { <AE09>, <AE10>, <AE11>, { <AE12>, "ALPL" } };
};
row {
top = 16.5;
left = 174.5;
keys { <AD06>, <AD07>, <AD08> };
key.color = "grey20";
keys { <AD09>, <AD10>, <AD11>, { <AD12>, "ALPL" } };
};
row {
top = 33;
left = 150;
keys { { <RTRN>, "DHAL" },
<AC06>, <AC07>, <AC08> };
key.color = "grey20";
keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "DHAL" } };
};
row {
top = 49.5;
left = 174.5;
keys { <AB06>, <AB07>, <AB08> };
key.color = "grey20";
keys { <AB09>, <AB10>, <BKSL> };
};
};
section "Control" {
left = 4;
top = 102.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "ALPL";
row {
top = 0;
keys { <LCTL>, <LALT>, <CAPS> };
keys { { <SPCE>, "SPCE"} };
};
row {
top = 16.5;
keys { <I120>, <LWIN>, <MENU> };
};
row {
top = 0;
left = 150;
key.shape = "NORM";
keys { { <SPCE>, "SPCE"}, <RALT> };
key.color = "grey20";
keys { <RCTL>, <UP>, <I162>, { <KPEN>, "DHAL" } };
};
row {
top = 16.5;
left = 207.5;
key.shape = "NORM";
key.color = "grey20";
keys { { <LEFT>, "DBLA" }, <DOWN>, <RGHT> };
};
};
// Leds
indicator.top = 12;
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.shape = "LED";
indicator "Num Lock" { left = 252; };
indicator "Caps Lock" { left = 266; };
indicator "Misc" { left = 280; };
text.top= 5;
text.color= "black";
text "NumLockLabel" { left= 252; text="1"; };
text "CapsLockLabel" { left= 266; text="A"; };
text "MiscLabel" { left= 280; text="D"; };
text "Logo" { left = 29; top = 10; text="TypeMatrix™"; };
// Other decorations: drawings
solid "rainure1" { shape = "DECO"; top = 1; left = 110; color = "grey10";};
solid "rainure2" { shape = "DECO"; top = 1; left = 115; color = "grey10";};
solid "rainure3" { shape = "DECO"; top = 1; left = 120; color = "grey10";};
solid "rainure4" { shape = "DECO"; top = 1; left = 125; color = "grey10";};
solid "rainure5" { shape = "DECO"; top = 1; left = 130; color = "grey10";};
solid "rainure6" { shape = "DECO"; top = 1; left = 135; color = "grey10";};
solid "rainure7" { shape = "DECO"; top = 1; left = 140; color = "grey10";};
solid "rainure8" { shape = "DECO"; top = 1; left = 145; color = "grey10";};
solid "rainure9" { shape = "DECO"; top = 1; left = 150; color = "grey10";};
solid "rainure10" { shape = "DECO"; top = 1; left = 155; color = "grey10";};
solid "rainure11" { shape = "DECO"; top = 1; left = 160; color = "grey10";};
solid "rainure12" { shape = "DECO"; top = 1; left = 165; color = "grey10";};
solid "rainure13" { shape = "DECO"; top = 1; left = 170; color = "grey10";};
}; // geometry tm2020
xkb_geometry "tm2030_shape" {
// Keyboard total size
width = 320;
height = 130;
// Background / foreground colours
baseColor = "white";
labelColor = "black";
// Key shapes: base key = 20 mm each side
shape "NORM" { cornerRadius=1, { [18, 18] }, { [1.5, 1.5], [16.5, 14] } };
shape "FUNC" { cornerRadius=1, { [18, 12] }, { [2.5, 0], [15.5, 10] } };
shape "LFSH" { cornerRadius=1, { [18, 36.5] }, { [2.5, 0], [15.5, 30] } };
shape "ALT1" { cornerRadius=1, { [27.5, 18] }, { [2.5, 0], [23.5, 14] } };
shape "BKSP" { cornerRadius=1, { [18, 30.5] }, { [1.5, 1.5], [16.5, 29] } };
shape "SPCE" { cornerRadius=1, { [92, 25] }, { [1.5, 1.5], [90.5, 22] } };
shape "LED" { cornerRadius=2, { [4, 4] } };
shape "PAN1" { cornerRadius=1, { [27, 126.5] } };
shape "PAN2" { cornerRadius=1, { [92, 13] } };
// Other decorations: panels
solid "panneau1" {
shape = "PAN1";
left = 0;
top = 0;
color = "grey40";
};
solid "panneau2" {
shape = "PAN2";
left = 101.5;
top = 113.5;
color = "grey40";
};
// Leds: they must be put after panels, otherwise the panels overwrite them
indicator.left = 6;
indicator.onColor = "green";
indicator.offColor = "grey10";
indicator.shape = "LED";
indicator "Num Lock" { top = 11 ; };
indicator "Caps Lock" { top = 27.5; };
indicator "Scroll Lock" { top = 44 ; };
text.left = 12;
text.color = "black";
text "NumLockLabel" { top = 11; text="num"; };
text "CapsLockLabel" { top = 27.5; text="caps"; };
text "SrollLockLabel" { top = 44; text="scroll"; };
}; // geometry tm2030_shape
xkb_geometry "tm2030_MiscDiod_dvk" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="Dvorak"; };
};
xkb_geometry "tm2030_MiscDiod_102" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="102"; };
};
xkb_geometry "tm2030_MiscDiod_106" {
text "ModeLabel" { left = 12; top = 58; color = "black"; text="106"; };
};
xkb_geometry "tm2030_MiscDiod_off" {
indicator "Misc" { left = 6; top = 60.5; shape = "LED";
offColor = "grey10"; onColor = "grey10"; };
};
xkb_geometry "tm2030_MiscDiod_on" {
indicator "Misc" { left = 6; top = 60.5; shape = "LED";
offColor = "green"; onColor = "green"; };
};
xkb_geometry "tm2030USB_func" {
section "Function" {
left = 27;
top = 1.5;
key.gap = 0.5;
key.color = "grey30";
key.shape = "FUNC";
row {
keys { <ESC>, <FK01>, <FK02>, <FK03>, <FK04>, <FK05> };
};
row {
left = 129.5;
keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>,
<FK12>, <NMLK> };
};
};
}; // geometry tm2030USB_func
xkb_geometry "tm2030USB_alpha" {
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I148> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <I163> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <BKSL> };
};
row {
top = 55.5;
left = 259;
keys { <I158> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
}; // geometry tm2030USB_alpha
xkb_geometry "tm2030USB_ctrl" {
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <I172>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB_ctrl
xkb_geometry "tm2030PS2" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_dvk)"
include "typematrix(tm2030_MiscDiod_off)"
description = "TypeMatrix EZ-Reach 2030 PS2";
section "Function" {
left = 27;
top = 1.5;
key.gap = 0.5;
key.color = "grey10";
key.shape = "FUNC";
row {
key.color = "grey30";
keys { <ESC> };
};
row {
left = 18.5;
keys { <FK01>, <FK02>, <FK03>, <FK04> };
};
row {
left = 92.5;
key.color = "grey30";
keys { <FK05> };
};
row {
left = 129.5;
key.color = "grey30";
keys { <FK06>, <FK07>, <FK08> };
};
row {
left = 185;
keys { <FK09>, <FK10>, <FK11>, <FK12> };
};
row {
left = 259;
key.color = "grey30";
keys { <NMLK> };
};
};
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <I120> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08> };
};
row {
top = 18.5;
left = 185;
key.color = "grey30";
keys { <AD09>, <AD10>, <AD11>, <AD12>};
};
row {
top = 18.5;
left = 259;
keys { <BKSP> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08> };
};
row {
top = 37;
left = 185;
key.color = "grey30";
keys { <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" },
{<DELE>, key.color="red"} };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08> };
};
row {
top = 55.5;
left = 185;
key.color = "grey30";
keys { <AB09>, <AB10>, <BKSL> };
};
row {
top = 55.5;
left = 259;
keys { <INS> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 88;
keys { <I120>, <LWIN>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <LCTL>, { <LALT>, "ALT1" }, { <LTSH>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <PGUP> };
};
row {
top = 88;
left = 185;
key.color = "grey30";
keys { <HOME>, <UP>, <END>, { <KPEN>, "LFSH"} };
};
row {
top = 88;
left = 259;
keys { <RCTL> };
};
row {
top = 106.5;
left = 166.5;
keys { <PGDN> };
};
row {
top = 106.5;
left = 185;
key.color = "grey30";
keys { <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <RALT> };
};
row {
top = 1;
left = 111.5;
key.color = "grey10";
vertical = true;
keys { <CAPS>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030PS2
xkb_geometry "tm2030USB" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_102)"
include "typematrix(tm2030_MiscDiod_off)"
description = "TypeMatrix EZ-Reach 2030 USB";
include "typematrix(tm2030USB_func)"
include "typematrix(tm2030USB_alpha)"
include "typematrix(tm2030USB_ctrl)"
}; // geometry tm2030USB
// European 102/105 keys mode.
// Same as the standard keyboard, except for one key: Play becomes LSGT.
xkb_geometry "tm2030USB-102" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_102)"
include "typematrix(tm2030_MiscDiod_on)"
description = "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)";
include "typematrix(tm2030USB_func)"
include "typematrix(tm2030USB_alpha)"
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <LSGT>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB-102
// Japan / Korean 106 keys mode.
// Same as the standard keyboard, except for the following keys:
// <TLDE> is replaced by <HZTG>
// WWW key becomes <HKTG>
// — Calc key becomes <AE13>
// — <BKSL> key becomes <AB11>
// — and Mail key becomes <BKSL>
// About control keys:
// NFER/MEHU and XFER/KANJ: TMx keeps LWIN (and RWIN if it happens to exist).
// HKTG/HIRA: TMx keeps MENU/COMP, but locates this key in alpha section (see above).
xkb_geometry "tm2030USB-106" {
include "typematrix(tm2030_shape)"
include "typematrix(tm2030_MiscDiod_106)"
include "typematrix(tm2030_MiscDiod_on)"
description = "TypeMatrix EZ-Reach 2030 USB (106:JP mode)";
include "typematrix(tm2030USB_func)"
section "Alpha" {
left = 27;
top = 14;
key.gap = 0.5;
key.color = "grey10";
key.shape = "NORM";
row {
top = 0;
keys { <HZTG>, <AE01>, <AE02>, <AE03>, <AE04>, <AE05> };
};
row {
top = 18.5;
keys { <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05> };
};
row {
top = 37;
keys { { <LFSH>, "LFSH" }, <AC01>, <AC02>, <AC03>, <AC04>, <AC05> };
};
row {
top = 55.5;
left = 18.5;
keys { <AB01>, <AB02>, <AB03>, <AB04>, <AB05> };
};
row {
top = 0;
left = 129.5;
keys { <AE06>, <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>, <AE13> };
};
row {
top = 18.5;
left = 129.5;
keys { <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>, <BKSL> };
};
row {
top = 37;
left = 129.5;
keys { <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, { <RTSH>, "LFSH" }, <CAPS> };
};
row {
top = 55.5;
left = 129.5;
keys { <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11> };
};
row {
top = 55.5;
left = 259;
keys { <HKTG> };
};
row {
top = 74;
left = 74;
keys { { <SPCE>, "SPCE" } };
};
};
section "Control" {
left = 27;
top = 0;
key.gap = 0.5;
key.color = "grey30";
key.shape = "NORM";
row {
top = 88;
keys { <LCTL>, <I172>, <MENU>, <I162> };
};
row {
top = 106.5;
keys { <I120>, { <LWIN>, "ALT1" }, { <LALT>, "ALT1" } };
};
row {
top = 88;
left = 166.5;
keys { <I243>, <HOME>, <UP>, <END>, { <RCTL>, "LFSH"}, <PGUP> };
};
row {
top = 106.5;
left = 166.5;
keys { <RALT>, <LEFT>, <DOWN>, <RGHT> };
};
row {
top = 106.5;
left = 259;
keys { <PGDN> };
};
row {
top = 1;
left = 111.5;
vertical = true;
keys { <DELE>, { <BKSP>, "BKSP" }, { <RTRN>, "LFSH" } };
};
};
}; // geometry tm2030USB-106

View File

@@ -0,0 +1,143 @@
default xkb_geometry "XP5" {
description= "WinBook XP5";
width= 281;
height= 180;
shape.cornerRadius= 1;
shape "NORM" {
{ [17,17] },
{ [ 2, 1], [ 15, 15 ] }
};
shape "FKEY" {
{ [ 15, 10 ] },
{ [ 1, 0 ], [ 14, 9.5 ] }
};
shape "ONE" {
{ [ 28, 17 ] },
{ [ 11, 0 ], [ 28, 17 ] },
{ [ 13, 1 ], [ 26, 15 ] }
};
shape "WIDE" { // backspace, caps lock, ctrl alt ?
{ [ 24.5, 17 ] },
{ [ 2, 1 ], [ 22.5, 15 ] }
};
shape "WIDR" { // backslash, left shift
{ [ 35, 17 ] },
{ [ 2, 1 ], [ 33, 15 ] }
};
shape "RTRN" {
{ [ 45, 17 ] },
{ [ 2, 1 ], [ 43, 15 ] }
};
shape "SPCE" {
{ [ 90, 17 ] },
{ [ 2, 1 ], [ 88, 15 ] }
};
shape "STIK" {
cornerRadius= 4,
{ [ 8, 8 ] }
};
shape "BTN" {
{ [ 31, 6 ] }
};
section.left= 2;
row.left= 1;
key.shape= "NORM";
key.gap= 0.5;
key.color= "grey10";
labelColor= "white";
baseColor= "grey20";
section "Whole" {
top= 10;
row {
top= 11;
key.shape= "FKEY";
keys {
<ESC>,
<FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
<FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
<PAUS>, <HOME>, <END>, <PGUP>
};
};
row {
top= 22;
keys {
{ <AEO1>, "ONE" },
<AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
<AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
{ <BKSP>, shape="WIDE" },
<PGDN>
};
};
row {
top= 40;
keys {
<TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
<AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
{ <BKSL>, "WIDR" }
};
};
row {
top= 58;
keys { { <CAPS>, shape="WIDE" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
<AC11>,
{ <RTRN>, shape="RTRN" }
};
};
row {
top= 76;
keys {
{ <LFSH>, shape="WIDR" },
<AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
<AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
<RTSH>, <UP>, <NMLK>
};
};
row {
top= 94;
keys {
{ <LCTL>, "WIDE" }, <FUNC>, { <LALT>, "WIDE" },
<TLDE>, { <SPCE>, shape="SPCE" }, <INS>, <DELE>,
<LEFT>, <DOWN>, <RGHT>
};
};
overlay "KPAD" {
<AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
<AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
<AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
<AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
};
}; // End of "Whole" section
solid "STIK" {
color= "red";
shape= "STIK";
top= 81;
left= 112;
};
solid "BTN1" {
color= "red";
shape= "BTN";
top= 137;
left= 93;
};
solid "BTN2" {
color= "red";
shape= "BTN";
top= 137;
left= 127;
};
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
};

View File

@@ -0,0 +1,6 @@
The keycodes component of a keyboard mapping specifies the range and
interpretation of the raw keycodes reported by the device. It sets the keycodes
symbolic name, the minimum and maximum legal codes for the keyboard, and the
symbolic name for each key. The keycodes component might also contain aliases
for some keys, symbolic names for some indicators and a description of which
indicators are physically present.

View File

@@ -0,0 +1,99 @@
// keycode aliases for phonetic keyboard maps
default
xkb_keycodes "qwerty" {
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatY> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatA> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatZ> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
alias <LatM> = <AB07>;
};
xkb_keycodes "azerty" {
alias <LatA> = <AD01>;
alias <LatZ> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatY> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatQ> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatM> = <AC10>;
alias <LatW> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
};
xkb_keycodes "qwertz" {
alias <LatQ> = <AD01>;
alias <LatW> = <AD02>;
alias <LatE> = <AD03>;
alias <LatR> = <AD04>;
alias <LatT> = <AD05>;
alias <LatZ> = <AD06>;
alias <LatU> = <AD07>;
alias <LatI> = <AD08>;
alias <LatO> = <AD09>;
alias <LatP> = <AD10>;
alias <LatA> = <AC01>;
alias <LatS> = <AC02>;
alias <LatD> = <AC03>;
alias <LatF> = <AC04>;
alias <LatG> = <AC05>;
alias <LatH> = <AC06>;
alias <LatJ> = <AC07>;
alias <LatK> = <AC08>;
alias <LatL> = <AC09>;
alias <LatY> = <AB01>;
alias <LatX> = <AB02>;
alias <LatC> = <AB03>;
alias <LatV> = <AB04>;
alias <LatB> = <AB05>;
alias <LatN> = <AB06>;
alias <LatM> = <AB07>;
};

View File

@@ -0,0 +1,225 @@
default xkb_keycodes "usa1" {
minimum= 8;
maximum= 255;
<ESC> = 77;
<FK01> = 88;
<FK02> = 89;
<FK03> = 90;
<FK04> = 91;
<FK05> = 92;
<FK06> = 93;
<FK07> = 94;
<FK08> = 95;
<FK09> = 96;
<FK10> = 97;
<TLDE> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 73;
<TAB> = 74;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 76;
<LCTL> = 107;
<CAPS> = 106;
<AC01> = 40;
<AC02> = 41;
<AC03> = 42;
<AC04> = 43;
<AC05> = 44;
<AC06> = 45;
<AC07> = 46;
<AC08> = 47;
<AC09> = 48;
<AC10> = 49;
<AC11> = 50;
<LFSH> = 104;
<AB01> = 57;
<AB02> = 58;
<AB03> = 59;
<AB04> = 60;
<AB05> = 61;
<AB06> = 62;
<AB07> = 63;
<AB08> = 64;
<AB09> = 65;
<AB10> = 66;
<RTSH> = 105;
<LALT> = 108;
<LAMI> = 110;
<SPCE> = 72;
<RAMI> = 111;
<RALT> = 109;
<DELE> = 78;
<HELP> = 103;
<UP> = 84;
<LEFT> = 87;
<DOWN> = 85;
<RGHT> = 86;
<KPLP> = 98;
<KPRP> = 99;
<KPDV> = 100;
<KPMU> = 101;
<KP7> = 69;
<KP8> = 70;
<KP9> = 71;
<KPSU> = 82;
<KP4> = 53;
<KP5> = 54;
<KP6> = 55;
<KPAD> = 102;
<KP1> = 37;
<KP2> = 38;
<KP3> = 39;
<KP0> = 23;
<KPDC> = 68;
<KPEN> = 75;
};
xkb_keycodes "de" {
minimum= 8;
maximum= 255;
<ESC> = 77;
<FK01> = 88;
<FK02> = 89;
<FK03> = 90;
<FK04> = 91;
<FK05> = 92;
<FK06> = 93;
<FK07> = 94;
<FK08> = 95;
<FK09> = 96;
<FK10> = 97;
<TLDE> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 73;
<TAB> = 74;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 76;
<LCTL> = 107;
<CAPS> = 106;
<AC01> = 40;
<AC02> = 41;
<AC03> = 42;
<AC04> = 43;
<AC05> = 44;
<AC06> = 45;
<AC07> = 46;
<AC08> = 47;
<AC09> = 48;
<AC10> = 49;
<AC11> = 50;
<AC12> = 51;
<LFSH> = 104;
<LSGT> = 56;
<AB01> = 57;
<AB02> = 58;
<AB03> = 59;
<AB04> = 60;
<AB05> = 61;
<AB06> = 62;
<AB07> = 63;
<AB08> = 64;
<AB09> = 65;
<AB10> = 66;
<RTSH> = 105;
<LALT> = 108;
<LAMI> = 110;
<SPCE> = 72;
<RAMI> = 111;
<RALT> = 109;
<DELE> = 78;
<HELP> = 103;
<UP> = 84;
<LEFT> = 87;
<DOWN> = 85;
<RGHT> = 86;
<KPLP> = 98;
<KPRP> = 99;
<KPDV> = 100;
<KPMU> = 101;
<KP7> = 69;
<KP8> = 70;
<KP9> = 71;
<KPSU> = 82;
<KP4> = 53;
<KP5> = 54;
<KP6> = 55;
<KPAD> = 102;
<KP1> = 37;
<KP2> = 38;
<KP3> = 39;
<KP0> = 23;
<KPDC> = 68;
<KPEN> = 75;
};

View File

@@ -0,0 +1,117 @@
default xkb_keycodes "us" {
minimum= 8;
maximum= 255;
<ESC> = 9;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<TLDE> = 49;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<DELE> = 91;
<LCTL> = 37;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<BKSL> = 51;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<ALT> = 64;
<SPCE> = 65;
<CAPS> = 66;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<HELP> = 106;
<UNDO> = 105;
<INS> = 90;
<HOME> = 79;
<UP> = 80;
<LEFT> = 83;
<DOWN> = 88;
<RGHT> = 85;
<KPLP> = 107;
<KPRP> = 108;
<KPDV> = 109;
<KPMU> = 110;
<KP7> = 111;
<KP8> = 112;
<KP9> = 113;
<KPSU> = 82;
<KP4> = 114;
<KP5> = 115;
<KP6> = 116;
<KPAD> = 86;
<KP1> = 117;
<KP2> = 118;
<KP3> = 119;
<KP0> = 120;
<KPDC> = 121;
<KPEN> = 122;
};
xkb_keycodes "de" {
include "ataritt(us)"
<LSGT> = 104;
};

View File

@@ -0,0 +1,270 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log
// Revision 1.2 1996/06/18 09:13:22 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.2 1995/08/07 17:40:34 William_Walker
// Upgrade XKB to protocol 0.62 (dual submit from decx11)
// [1995/08/06 14:06:25 William_Walker]
//
// Revision 1.1.2.4 1995/08/05 15:25:55 William_Walker
// Upgrade to XKB protocol 0.62
// [1995/08/05 14:39:58 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:31 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:24:04 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:28 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:07:29 William_Walker]
//
// EndLog
//
// @(#)RCSfile: lk Revision: /main/3 (DEC) Date: 1996/01/24 12:13:31
//
xkb_keycodes "lk_common" {
// "Function" keys
<FK01> = 86;
<FK02> = 87;
<FK03> = 88;
<FK04> = 89;
<FK05> = 90;
<FK06> = 100;
<FK07> = 101;
<FK08> = 102;
<FK09> = 103;
<FK10> = 104;
<FK11> = 113;
<FK12> = 114;
<UP> = 170;
<LEFT> = 167;
<DOWN> = 169;
<RGHT> = 168;
// "Keypad" keys
<KP7> = 157;
<KP8> = 158;
<KP9> = 159;
<KP4> = 153;
<KP5> = 154;
<KP6> = 155;
<KP1> = 150;
<KP2> = 151;
<KP3> = 152;
<KPEN> = 149;
<KP0> = 146;
<KPDL> = 148;
// "Alphanumeric" keys
<AE00> = 191;
<AE01> = 192;
<AE02> = 197;
<AE03> = 203;
<AE04> = 208;
<AE05> = 214;
<AE06> = 219;
<AE07> = 224;
<AE08> = 229;
<AE09> = 234;
<AE10> = 239;
<AE11> = 249;
<AE12> = 245;
<BKSP> = 188;
<TAB> = 190;
<AD01> = 193;
<AD02> = 198;
<AD03> = 204;
<AD04> = 209;
<AD05> = 215;
<AD06> = 220;
<AD07> = 225;
<AD08> = 230;
<AD09> = 235;
<AD10> = 240;
<AD11> = 250;
<AD12> = 246;
<RTRN> = 189;
<LCTL> = 175;
<CAPS> = 176;
<AC01> = 194;
<AC02> = 199;
<AC03> = 205;
<AC04> = 210;
<AC05> = 216;
<AC06> = 221;
<AC07> = 226;
<AC08> = 231;
<AC09> = 236;
<AC10> = 242;
<AC11> = 251;
<LFSH> = 174;
<AB01> = 195;
<AB02> = 200;
<AB03> = 206;
<AB04> = 211;
<AB05> = 217;
<AB06> = 222;
<AB07> = 227;
<AB08> = 232;
<AB09> = 237;
<AB10> = 243;
<RTSH> = 171;
<SPCE> = 212;
<LDM> = 255; // Support R5 Lock Down Modifiers
alias <TLDE> = <AE00>;
};
xkb_keycodes "lkx01" {
include "digital_vndr/lk(lk_common)"
<AB00> = 201;
<FK13> = 115;
<FK14> = 116;
<FK17> = 128;
<FK18> = 129;
<FK19> = 130;
<FK20> = 131;
<HELP> = 124;
<DO> = 125;
<FIND> = 138;
<INS> = 139;
<DELE> = 140;
<SELE> = 141;
<PGUP> = 142;
<PGDN> = 143;
<KPF1> = 161;
<KPF2> = 162;
<KPF3> = 163;
<KPF4> = 164;
<KPSU> = 160;
<KPCO> = 156;
<BKSL> = 247;
<LCMP> = 177;
};
xkb_keycodes "lk201" {
include "digital_vndr/lk(lkx01)"
indicator 4 = "Scroll Lock";
indicator 3 = "Caps Lock";
indicator 2 = "Compose";
indicator 1 = "Wait";
};
xkb_keycodes "lk421" {
include "digital_vndr/lk(lkx01)"
<LALT> = 172;
<RALT> = 178;
<RCMP> = 173;
};
xkb_keycodes "lk401" {
include "digital_vndr/lk(lk421)"
indicator 4 = "Scroll Lock";
indicator 3 = "Caps Lock";
};
xkb_keycodes "lk44x" {
include "digital_vndr/lk(lk_common)"
<ESC> = 85;
<PRSC> = 115;
<SCLK> = 116;
<PAUS> = 124;
<INS> = 138;
<HOME> = 139;
<PGUP> = 140;
<DELE> = 141;
<END> = 142;
<PGDN> = 143;
<NMLK> = 161;
<KPDV> = 162;
<KPMU> = 163;
<KPSU> = 164;
<KPAD> = 156;
<LALT> = 172;
<RALT> = 178;
<RCTL> = 173;
};
xkb_keycodes "lk443" {
include "digital_vndr/lk(lk44x)"
<BKSL> = 247;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
indicator 5 = "Num Lock";
};
xkb_keycodes "lk444" {
include "digital_vndr/lk(lk44x)"
<BKSL> = 201;
<AC12> = 247;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
indicator 5 = "Num Lock";
};
// LK201-LT = lk201
// LK421-AJ = lk421 +AB11
// LK421-JJ = lk421aj+MUHE+KANJ+HIRA
// LK401-AJ = lk401
// LK401-BJ = lk401 +MUHE+KANJ+HIRA
// LK401-JJ = lk401bj+AB11
// LK401-LT = lk401
// LK441-LT = lk443
xkb_keycodes "lk421aj" {
include "digital_vndr/lk(lk421)"
<AB11> = 252;
};
xkb_keycodes "lk421jj" {
include "digital_vndr/lk(lk421aj)"
<MUHE> = 94;
<KANJ> = 95;
<HIRA> = 97;
};
xkb_keycodes "lk401bj" {
include "digital_vndr/lk(lk401)"
<MUHE> = 94;
<KANJ> = 95;
<HIRA> = 97;
};
xkb_keycodes "lk401jj" {
include "digital_vndr/lk(lk401bj)"
<AB11> = 252;
};

View File

@@ -0,0 +1,277 @@
//
//Copyright (c) 1996 Digital Equipment Corporation
//
//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log
// Revision 1.2 1996/06/18 09:13:25 erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.3 1995/10/25 21:00:14 William_Walker
// Add pc104-key support
// [1995/10/23 15:46:21 William_Walker]
//
// Revision 1.1.6.2 1995/08/07 17:40:37 William_Walker
// Upgrade XKB to protocol 0.62 (dual submit from decx11)
// [1995/08/06 14:06:28 William_Walker]
//
// Revision 1.1.2.4 1995/08/05 15:25:56 William_Walker
// Upgrade to XKB protocol 0.62
// [1995/08/05 14:40:02 William_Walker]
//
// Revision 1.1.2.3 1995/06/27 12:17:32 William_Walker
// Rename <TLDE> to ISO9995 compliant <AE00>.
// [1995/06/26 20:24:07 William_Walker]
//
// Revision 1.1.2.2 1995/06/05 19:21:31 William_Walker
// New file. I love keymaps.
// [1995/06/05 18:07:34 William_Walker]
//
// EndLog
//
// @(#)RCSfile: pc Revision: /main/3 (DEC) Date: 1996/01/24 12:13:36
//
xkb_keycodes "pc_common" {
// "Function" keys
<FK01> = 9;
<FK02> = 15;
<FK03> = 23;
<FK04> = 31;
<FK05> = 39;
<FK06> = 47;
<FK07> = 55;
<FK08> = 63;
<FK09> = 71;
<FK10> = 79;
<FK11> = 86;
<FK12> = 94;
// "Editing" keys
<UP> = 99;
<LEFT> = 97;
<DOWN> = 96;
<RGHT> = 106;
// "Keypad" keys
<KP7> = 108;
<KP8> = 117;
<KP9> = 125;
<KP4> = 107;
<KP5> = 115;
<KP6> = 116;
<KP1> = 105;
<KP2> = 114;
<KP3> = 122;
<KPEN> = 121;
<KP0> = 112;
<KPDL> = 113;
// "Alphanumeric" keys
<AE01> = 22;
<AE02> = 30;
<AE03> = 38;
<AE04> = 37;
<AE05> = 46;
<AE06> = 54;
<AE07> = 61;
<AE08> = 62;
<AE09> = 70;
<AE10> = 69;
<AE11> = 78;
<AE12> = 85;
<BKSP> = 102;
<TAB> = 13;
<AD01> = 21;
<AD02> = 29;
<AD03> = 36;
<AD04> = 45;
<AD05> = 44;
<AD06> = 53;
<AD07> = 60;
<AD08> = 67;
<AD09> = 68;
<AD10> = 77;
<AD11> = 84;
<AD12> = 91;
<CAPS> = 20;
<AC01> = 28;
<AC02> = 27;
<AC03> = 35;
<AC04> = 43;
<AC05> = 52;
<AC06> = 51;
<AC07> = 59;
<AC08> = 66;
<AC09> = 75;
<AC10> = 76;
<AC11> = 82;
<RTRN> = 90;
<LFSH> = 18;
<AB01> = 26;
<AB02> = 34;
<AB03> = 33;
<AB04> = 42;
<AB05> = 50;
<AB06> = 49;
<AB07> = 58;
<AB08> = 65;
<AB09> = 73;
<AB10> = 74;
<RTSH> = 89;
<LCTL> = 17;
<LALT> = 25;
<SPCE> = 41;
<RALT> = 57;
<LDM> = 255; // Support R5 Lock Down Modifiers
};
xkb_keycodes "pc10x" {
include "digital_vndr/pc(pc_common)"
<ESC> = 8;
<AE00> = 14;
<PRSC> = 87;
<SCLK> = 95;
<PAUS> = 98;
<INS> = 103;
<HOME> = 110;
<PGUP> = 111;
<DELE> = 100;
<END> = 101;
<PGDN> = 109;
<NMLK> = 118;
<KPDV> = 119;
<KPMU> = 126;
<KPSU> = 132;
<KPAD> = 124;
<RCTL> = 88;
alias <TLDE> = <AE00>;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
};
xkb_keycodes "pc101" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 92;
indicator 5 = "Num Lock";
};
xkb_keycodes "pc102" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 19;
<AC12> = 83;
indicator 5 = "Num Lock";
};
xkb_keycodes "pc104" {
include "digital_vndr/pc(pc101)"
<LWIN> = 139;
<RWIN> = 140;
<MENU> = 141;
};
xkb_keycodes "lk411_common" {
include "digital_vndr/pc(pc_common)"
<AE00> = 8;
<AB00> = 14;
<FK13> = 24;
<FK14> = 10;
<FK17> = 16;
<FK18> = 87;
<FK19> = 95;
<FK20> = 98;
<HELP> = 11;
<DO> = 12;
<FIND> = 110;
<INS> = 103;
<DELE> = 100;
<SELE> = 101;
<PGUP> = 111;
<PGDN> = 109;
<KPF1> = 118;
<KPF2> = 119;
<KPF3> = 126;
<KPF4> = 132;
<KPSU> = 19;
<KPCO> = 124;
<LCMP> = 40;
<RCMP> = 88;
alias <TLDE> = <AE00>;
indicator 3 = "Caps Lock";
indicator 4 = "Scroll Lock";
};
xkb_keycodes "lk411" {
include "digital_vndr/pc(lk411_common)"
<BKSL> = 92;
};
xkb_keycodes "lk450" {
include "digital_vndr/pc(lk411)"
indicator 2 = "Compose";
indicator 1 = "Wait";
};
// Japanese variants
//
// PCXAJ-AA = pc+BKSL+AC12+AB11+MUHE+KANJ+HIRA+indicator
// LK411-AJ = lk411+MUHE+KANJ+HIRA
// LK411-JJ = lk411+BKSL+AZ01+MUHE+KANJ+HIRA
// LK411-LT = lk411
xkb_keycodes "pcxajaa" {
include "digital_vndr/pc(pc10x)"
<BKSL> = 93;
<AC12> = 83;
<AB11> = 81;
<MUHE> = 133;
<KANJ> = 134;
<HIRA> = 135;
indicator 5 = "Group 2";
};
xkb_keycodes "lk411jj" {
include "digital_vndr/pc(lk411_common)"
<AB11> = 81;
<BKSL> = 83;
<MUHE> = 133;
<KANJ> = 134;
<HIRA> = 135;
};

View File

@@ -0,0 +1,4 @@
default xkb_keycodes "empty" {
minimum= 8;
maximum= 255;
};

View File

@@ -0,0 +1,314 @@
// translation from evdev scancodes to something resembling xfree86 keycodes.
default xkb_keycodes "evdev" {
minimum = 8;
maximum = 255;
# Added for pc105 compatibility
<LSGT> = 94;
<TLDE> = 49;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<BKSL> = 51;
alias <AC12> = <BKSL>;
<RTRN> = 36;
<CAPS> = 66;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<LALT> = 64;
<LCTL> = 37;
<SPCE> = 65;
<RCTL> = 105;
<RALT> = 108;
// Microsoft keyboard extra keys
<LWIN> = 133;
<RWIN> = 134;
<COMP> = 135;
alias <MENU> = <COMP>;
<ESC> = 9;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<FK11> = 95;
<FK12> = 96;
<PRSC> = 107;
// <SYRQ> = 107;
<SCLK> = 78;
<PAUS> = 127;
// <BRK> = 419;
<INS> = 118;
<HOME> = 110;
<PGUP> = 112;
<DELE> = 119;
<END> = 115;
<PGDN> = 117;
<UP> = 111;
<LEFT> = 113;
<DOWN> = 116;
<RGHT> = 114;
<NMLK> = 77;
<KPDV> = 106;
<KPMU> = 63;
<KPSU> = 82;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPAD> = 86;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KPEN> = 104;
<KP0> = 90;
<KPDL> = 91;
<KPEQ> = 125;
<FK13> = 191;
<FK14> = 192;
<FK15> = 193;
<FK16> = 194;
<FK17> = 195;
<FK18> = 196;
<FK19> = 197;
<FK20> = 198;
<FK21> = 199;
<FK22> = 200;
<FK23> = 201;
<FK24> = 202;
// Keys that are generated on Japanese keyboards
//<HZTG> = 93; // Hankaku/Zenkakau toggle - not actually used
alias <HZTG> = <TLDE>;
<HKTG> = 101; // Hiragana/Katakana toggle
<AB11> = 97; // backslash/underscore
<HENK> = 100; // Henkan
<MUHE> = 102; // Muhenkan
<AE13> = 132; // Yen
<KATA> = 98; // Katakana
<HIRA> = 99; // Hiragana
<JPCM> = 103; // KPJPComma
//<RO> = 97; // Romaji
// Keys that are generated on Korean keyboards
<HNGL> = 130; // Hangul Latin toggle
<HJCV> = 131; // Hangul to Hanja conversion
// Solaris compatibility
alias <LMTA> = <LWIN>;
alias <RMTA> = <RWIN>;
<MUTE> = 121;
<VOL-> = 122;
<VOL+> = 123;
<POWR> = 124;
<STOP> = 136;
<AGAI> = 137;
<PROP> = 138;
<UNDO> = 139;
<FRNT> = 140;
<COPY> = 141;
<OPEN> = 142;
<PAST> = 143;
<FIND> = 144;
<CUT> = 145;
<HELP> = 146;
// Extended keys that may be generated on "Internet" keyboards.
// evdev has standardize names for these.
<LNFD> = 109; // #define KEY_LINEFEED 101
<I120> = 120; // #define KEY_MACRO 112
<I126> = 126; // #define KEY_KPPLUSMINUS 118
<I128> = 128; // #define KEY_SCALE 120
<I129> = 129; // #define KEY_KPCOMMA 121
<I147> = 147; // #define KEY_MENU 139
<I148> = 148; // #define KEY_CALC 140
<I149> = 149; // #define KEY_SETUP 141
<I150> = 150; // #define KEY_SLEEP 142
<I151> = 151; // #define KEY_WAKEUP 143
<I152> = 152; // #define KEY_FILE 144
<I153> = 153; // #define KEY_SENDFILE 145
<I154> = 154; // #define KEY_DELETEFILE 146
<I155> = 155; // #define KEY_XFER 147
<I156> = 156; // #define KEY_PROG1 148
<I157> = 157; // #define KEY_PROG2 149
<I158> = 158; // #define KEY_WWW 150
<I159> = 159; // #define KEY_MSDOS 151
<I160> = 160; // #define KEY_COFFEE 152
<I161> = 161; // #define KEY_DIRECTION 153
<I162> = 162; // #define KEY_CYCLEWINDOWS 154
<I163> = 163; // #define KEY_MAIL 155
<I164> = 164; // #define KEY_BOOKMARKS 156
<I165> = 165; // #define KEY_COMPUTER 157
<I166> = 166; // #define KEY_BACK 158
<I167> = 167; // #define KEY_FORWARD 159
<I168> = 168; // #define KEY_CLOSECD 160
<I169> = 169; // #define KEY_EJECTCD 161
<I170> = 170; // #define KEY_EJECTCLOSECD 162
<I171> = 171; // #define KEY_NEXTSONG 163
<I172> = 172; // #define KEY_PLAYPAUSE 164
<I173> = 173; // #define KEY_PREVIOUSSONG 165
<I174> = 174; // #define KEY_STOPCD 166
<I175> = 175; // #define KEY_RECORD 167
<I176> = 176; // #define KEY_REWIND 168
<I177> = 177; // #define KEY_PHONE 169
<I178> = 178; // #define KEY_ISO 170
<I179> = 179; // #define KEY_CONFIG 171
<I180> = 180; // #define KEY_HOMEPAGE 172
<I181> = 181; // #define KEY_REFRESH 173
<I182> = 182; // #define KEY_EXIT 174
<I183> = 183; // #define KEY_MOVE 175
<I184> = 184; // #define KEY_EDIT 176
<I185> = 185; // #define KEY_SCROLLUP 177
<I186> = 186; // #define KEY_SCROLLDOWN 178
<I187> = 187; // #define KEY_KPLEFTPAREN 179
<I188> = 188; // #define KEY_KPRIGHTPAREN 180
<I189> = 189; // #define KEY_NEW 181
<I190> = 190; // #define KEY_REDO 182
<I208> = 208; // #define KEY_PLAYCD 200
<I209> = 209; // #define KEY_PAUSECD 201
<I210> = 210; // #define KEY_PROG3 202
<I211> = 211; // #define KEY_PROG4 203 conflicts with AB11
<I212> = 212; // #define KEY_DASHBOARD 204
<I213> = 213; // #define KEY_SUSPEND 205
<I214> = 214; // #define KEY_CLOSE 206
<I215> = 215; // #define KEY_PLAY 207
<I216> = 216; // #define KEY_FASTFORWARD 208
<I217> = 217; // #define KEY_BASSBOOST 209
<I218> = 218; // #define KEY_PRINT 210
<I219> = 219; // #define KEY_HP 211
<I220> = 220; // #define KEY_CAMERA 212
<I221> = 221; // #define KEY_SOUND 213
<I222> = 222; // #define KEY_QUESTION 214
<I223> = 223; // #define KEY_EMAIL 215
<I224> = 224; // #define KEY_CHAT 216
<I225> = 225; // #define KEY_SEARCH 217
<I226> = 226; // #define KEY_CONNECT 218
<I227> = 227; // #define KEY_FINANCE 219
<I228> = 228; // #define KEY_SPORT 220
<I229> = 229; // #define KEY_SHOP 221
<I230> = 230; // #define KEY_ALTERASE 222
<I231> = 231; // #define KEY_CANCEL 223
<I232> = 232; // #define KEY_BRIGHTNESSDOWN 224
<I233> = 233; // #define KEY_BRIGHTNESSUP 225
<I234> = 234; // #define KEY_MEDIA 226
<I235> = 235; // #define KEY_SWITCHVIDEOMODE 227
<I236> = 236; // #define KEY_KBDILLUMTOGGLE 228
<I237> = 237; // #define KEY_KBDILLUMDOWN 229
<I238> = 238; // #define KEY_KBDILLUMUP 230
<I239> = 239; // #define KEY_SEND 231
<I240> = 240; // #define KEY_REPLY 232
<I241> = 241; // #define KEY_FORWARDMAIL 233
<I242> = 242; // #define KEY_SAVE 234
<I243> = 243; // #define KEY_DOCUMENTS 235
<I244> = 244; // #define KEY_BATTERY 236
<I245> = 245; // #define KEY_BLUETOOTH 237
<I246> = 246; // #define KEY_WLAN 238
<I247> = 247; // #define KEY_UWB 239
<I248> = 248; // #define KEY_UNKNOWN 240
<I249> = 249; // #define KEY_VIDEO_NEXT 241
<I250> = 250; // #define KEY_VIDEO_PREV 242
<I251> = 251; // #define KEY_BRIGHTNESS_CYCLE 243
<I252> = 252; // #define KEY_BRIGHTNESS_ZERO 244
<I253> = 253; // #define KEY_DISPLAY_OFF 245
// Fake keycodes for virtual keys
<LVL3> = 92;
<MDSW> = 203;
<ALT> = 204;
<META> = 205;
<SUPR> = 206;
<HYPR> = 207;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
indicator 4 = "Compose";
indicator 5 = "Kana";
indicator 6 = "Sleep";
indicator 7 = "Suspend";
indicator 8 = "Mute";
indicator 9 = "Misc";
indicator 10 = "Mail";
indicator 11 = "Charging";
alias <ALGR> = <RALT>;
// For Brazilian ABNT2
alias <KPPT> = <I129>;
};
// PC98
xkb_keycodes "pc98" {
include "evdev(evdev)"
};

View File

@@ -0,0 +1,186 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_keycodes "138" {
minimum= 8;
maximum= 255;
<ESC> = 37;
<AE01> = 38;
<AE02> = 39;
<AE03> = 40;
<AE04> = 41;
<AE05> = 42;
<AE06> = 43;
<AE07> = 44;
<AE08> = 45;
<AE09> = 46;
<AE10> = 47;
<AE11> = 48;
<AE12> = 49;
<TLDE> = 50;
<BKSP> = 51;
<TAB> = 61;
<AD01> = 62;
<AD02> = 63;
<AD03> = 64;
<AD04> = 65;
<AD05> = 66;
<AD06> = 67;
<AD07> = 68;
<AD08> = 69;
<AD09> = 70;
<AD10> = 71;
<AD11> = 72;
<AD12> = 73;
<LCTL> = 84;
<AC01> = 85;
<AC02> = 86;
<AC03> = 87;
<AC04> = 88;
<AC05> = 89;
<AC06> = 90;
<AC07> = 91;
<AC08> = 92;
<AC09> = 93;
<AC10> = 94;
<AC11> = 95;
<BKSL> = 96;
<RTRN> = 97;
<LFSH> = 107;
<AB01> = 108;
<AB02> = 109;
<AB03> = 110;
<AB04> = 111;
<AB05> = 112;
<AB06> = 113;
<AB07> = 114;
<AB08> = 115;
<AB09> = 116;
<AB10> = 117;
<AB11> = 52;
<RTSH> = 118;
<CAPS> = 127;
<LALT> = 27;
<LMTA> = 128;
<UNK4> = 125;
<SPCE> = 129;
<UNK5> = 10;
<RMTA> = 130;
<RALT> = 23;
<COMP> = 75;
<LNFD> = 119;
<UNK6> = 56;
<FK01> = 13;
<FK02> = 14;
<FK03> = 16;
<FK04> = 18;
<FK05> = 20;
<FK06> = 22;
<FK07> = 24;
<FK08> = 25;
<FK09> = 26;
<FK10> = 15;
<FK11> = 17;
<FK12> = 19;
<FK13> = 137;
<FK14> = 138;
<FK15> = 139;
<FK16> = 140;
<FK17> = 141;
<FK18> = 142;
<FK19> = 143;
<FK20> = 144;
<FK21> = 145;
<FK22> = 146;
<FK23> = 147;
<FK24> = 148;
<FK25> = 153;
<FK26> = 154;
<FK27> = 155;
<FK28> = 156;
<FK29> = 149;
<FK30> = 150;
<FK31> = 151;
<FK32> = 152;
<UNDO> = 34;
<COPY> = 59;
<PAST> = 81;
<CUT> = 105;
<HELP> = 126;
<BREA> = 9;
<PRSC> = 30;
<KNJI> = 21;
<PAUS> = 29;
<UNK0> = 82;
<UNK1> = 83;
<UNK2> = 12;
<PGUP> = 35;
<HOME> = 32;
<PGDN> = 36;
<UNK3> = 28;
<DEL> = 74;
<INS> = 60;
<UP> = 33;
<DOWN> = 103;
<LEFT> = 57;
<RGHT> = 80;
<EXEC> = 11;
<KPMU> = 55;
<KPDV> = 54;
<KPAD> = 133;
<KPSU> = 79;
<KP7> = 76;
<KP8> = 77;
<KP9> = 78;
<KPEQ> = 53;
<KP4> = 99;
<KP5> = 100;
<KP6> = 101;
<KPDC> = 58;
<KP1> = 120;
<KP2> = 121;
<KP3> = 122;
<KPEN> = 98;
<KP0> = 102;
<KP00> = 31;
<UNK7> = 123;
<UNK8> = 124;
};

View File

@@ -0,0 +1,270 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
default xkb_keycodes "hp-101" {
<TLDE> = 23;
<AE01> = 31;
<AE02> = 39;
<AE03> = 47;
<AE04> = 46;
<AE05> = 55;
<AE06> = 63;
<AE07> = 70;
<AE08> = 71;
<AE09> = 79;
<AE10> = 78;
<AE11> = 87;
<AE12> = 94;
<BKSP> = 111;
<TAB> = 22;
<AD01> = 30;
<AD02> = 38;
<AD03> = 45;
<AD04> = 54;
<AD05> = 53;
<AD06> = 62;
<AD07> = 69;
<AD08> = 76;
<AD09> = 77;
<AD10> = 86;
<AD11> = 93;
<AD12> = 100;
<BKSL> = 101;
<CAPS> = 29;
<AC01> = 37;
<AC02> = 36;
<AC03> = 44;
<AC04> = 52;
<AC05> = 61;
<AC06> = 60;
<AC07> = 68;
<AC08> = 75;
<AC09> = 84;
<AC10> = 85;
<AC11> = 91;
<RTRN> = 99;
<LFSH> = 27;
<AB01> = 35;
<AB02> = 43;
<AB03> = 42;
<AB04> = 51;
<AB05> = 59;
<AB06> = 58;
<AB07> = 67;
<AB08> = 74;
<AB09> = 82;
<AB10> = 83;
<RTSH> = 98;
<LCTL> = 26;
<LALT> = 34;
<SPCE> = 50;
<RALT> = 66;
<RCTL> = 97;
<ESC> = 17;
<FK01> = 16;
<FK02> = 24;
<FK03> = 32;
<FK04> = 40;
<FK05> = 48;
<FK06> = 56;
<FK07> = 64;
<FK08> = 72;
<FK09> = 80;
<FK10> = 88;
<FK11> = 95;
<FK12> = 103;
<PRSC> = 96;
<SCLK> = 104;
<PAUS> = 107;
<INS> = 112;
<HOME> = 119;
<PGUP> = 120;
<DELE> = 109;
<END> = 110;
<PGDN> = 118;
<UP> = 108;
<LEFT> = 106;
<DOWN> = 105;
<RGHT> = 115;
<NMLK> = 127;
<KPDV> = 128;
<KPMU> = 135;
<KPSU> = 141;
<KP7> = 117;
<KP8> = 126;
<KP9> = 134;
<KPAD> = 133;
<KP4> = 116;
<KP5> = 124;
<KP6> = 125;
<KP1> = 114;
<KP2> = 123;
<KP3> = 131;
<KPEN> = 130;
<KP0> = 121;
<KPDL> = 122;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
};
xkb_keycodes "hil" {
<TLDE> = 71;
<AE01> = 70;
<AE02> = 69;
<AE03> = 68;
<AE04> = 67;
<AE05> = 66;
<AE06> = 65;
<AE07> = 64;
<AE08> = 96;
<AE09> = 97;
<AE10> = 98;
<AE11> = 99;
<AE12> = 100;
<BKSP> = 101;
<TAB> = 63;
<AD01> = 62;
<AD02> = 61;
<AD03> = 60;
<AD04> = 59;
<AD05> = 58;
<AD06> = 57;
<AD07> = 56;
<AD08> = 104;
<AD09> = 105;
<AD10> = 106;
<AD11> = 107;
<AD12> = 108;
<BKSL> = 109;
<CAPS> = 55;
<AC01> = 53;
<AC02> = 52;
<AC03> = 51;
<AC04> = 50;
<AC05> = 49;
<AC06> = 48;
<AC07> = 112;
<AC08> = 113;
<AC09> = 114;
<AC10> = 115;
<AC11> = 116;
<RTRN> = 117;
<LFSH> = 13;
<AB01> = 36;
<AB02> = 35;
<AB03> = 34;
<AB04> = 33;
<AB05> = 32;
<AB06> = 128;
<AB07> = 120;
<AB08> = 121;
<AB09> = 122;
<AB10> = 123;
<RTSH> = 12;
<LCTL> = 14;
<LALT> = 11;
<SPCE> = 129;
<RALT> = 10;
<PRSC> = 87;
<ESC> = 39;
<BRK> = 15;
<STOP> = 86;
<FK01> = 84;
<FK02> = 83;
<FK03> = 82;
<FK04> = 81;
<MENU> = 80;
<SYST> = 88;
<FK05> = 89;
<FK06> = 90;
<FK07> = 91;
<FK08> = 92;
<FK09> = 45;
<FK10> = 41;
<FK11> = 43;
<FK12> = 47;
<CLRL> = 94;
<CLR> = 95;
<INSL> = 102;
<DELL> = 103;
<INSC> = 110;
<DELC> = 111;
<HOME> = 118;
<PGUP> = 119;
<PGDN> = 127;
<SELE> = 125;
<UP> = 134;
<LEFT> = 132;
<DOWN> = 133;
<RGHT> = 135;
<KPDV> = 25;
<KPMU> = 29;
<KPAD> = 27;
<KPSU> = 31;
<KP7> = 21;
<KP8> = 17;
<KP9> = 19;
<KPEN> = 23;
<KP4> = 16;
<KP5> = 18;
<KP6> = 20;
<KPSP> = 22;
<KP1> = 24;
<KP2> = 26;
<KP3> = 28;
<KPTB> = 46;
<KP0> = 30;
<KPDL> = 44;
};

View File

@@ -0,0 +1,150 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
xkb_keycodes "rs6k-101" {
<TLDE> = 9;
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 23;
<TAB> = 24;
<AD01> = 25;
<AD02> = 26;
<AD03> = 27;
<AD04> = 28;
<AD05> = 29;
<AD06> = 30;
<AD07> = 31;
<AD08> = 32;
<AD09> = 33;
<AD10> = 34;
<AD11> = 35;
<AD12> = 36;
<BKSL> = 37;
<CAPS> = 38;
<AC01> = 39;
<AC02> = 40;
<AC03> = 41;
<AC04> = 42;
<AC05> = 43;
<AC06> = 44;
<AC07> = 45;
<AC08> = 46;
<AC09> = 47;
<AC10> = 48;
<AC11> = 49;
<RTRN> = 51;
<LFSH> = 52;
<AB01> = 54;
<AB02> = 55;
<AB03> = 56;
<AB04> = 57;
<AB05> = 58;
<AB06> = 59;
<AB07> = 60;
<AB08> = 61;
<AB09> = 62;
<AB10> = 63;
<RTSH> = 65;
<LCTL> = 66;
<LALT> = 68;
<SPCE> = 69;
<RALT> = 70;
<RCTL> = 72;
<ESC> = 118;
<FK01> = 120;
<FK02> = 121;
<FK03> = 122;
<FK04> = 123;
<FK05> = 124;
<FK06> = 125;
<FK07> = 126;
<FK08> = 127;
<FK09> = 128;
<FK10> = 129;
<FK11> = 130;
<FK12> = 131;
<PRSC> = 132;
<SCLK> = 133;
<PAUS> = 134;
<INS> = 83;
<HOME> = 88;
<PGUP> = 93;
<DELE> = 84;
<END> = 89;
<PGDN> = 94;
<UP> = 91;
<LEFT> = 87;
<DOWN> = 92;
<RGHT> = 97;
<NMLK> = 98;
<KPDV> = 103;
<KPMU> = 108;
<KPSU> = 113;
<KP7> = 99;
<KP8> = 104;
<KP9> = 109;
<KPAD> = 114;
<KP4> = 100;
<KP5> = 105;
<KP6> = 110;
<KP1> = 101;
<KP2> = 106;
<KP3> = 111;
<KPEN> = 116;
<KP0> = 107;
<KPDL> = 112;
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
};
xkb_keycodes "rs6k-102" {
include "ibm(rs6k-101)"
<LSGT> = 53;
};

View File

@@ -0,0 +1,10 @@
default
xkb_keycodes "jolla" {
// These keycodes are beyond the X11 255 limit value so it would
// only be valid for the use with SW which supports extended keycodes,
// like xkbcommon.
<I264> = 264; // Jolla phone has the wired headset button sending this keycode
};

View File

@@ -0,0 +1,208 @@
//
//Copyright (c) 1996 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.
//
//
default xkb_keycodes "macintosh" {
include "xfree86"
<FK13> = 182;
<FK14> = 183;
<FK15> = 184;
<KPEQ> = 157;
};
xkb_keycodes "old" {
minimum= 8;
maximum= 255;
<ESC> = 61;
<TLDE> = 58;
<AE01> = 26;
<AE02> = 27;
<AE03> = 28;
<AE04> = 29;
<AE05> = 31;
<AE06> = 30;
<AE07> = 34;
<AE08> = 36;
<AE09> = 33;
<AE10> = 37;
<AE11> = 35;
<AE12> = 32;
<BKSP> = 59;
<TAB> = 56;
<AD01> = 20;
<AD02> = 21;
<AD03> = 22;
<AD04> = 23;
<AD05> = 25;
<AD06> = 24;
<AD07> = 40;
<AD08> = 42;
<AD09> = 39;
<AD10> = 43;
<AD11> = 41;
<AD12> = 38;
<BKSL> = 50;
<CAPS> = 65;
<AC01> = 8;
<AC02> = 9;
<AC03> = 10;
<AC04> = 11;
<AC05> = 13;
<AC06> = 12;
<AC07> = 46;
<AC08> = 48;
<AC09> = 45;
<AC10> = 49;
<AC11> = 47;
<RTRN> = 44;
<LSGT> = 18;
<AB01> = 14;
<AB02> = 15;
<AB03> = 16;
<AB04> = 17;
<AB05> = 19;
<AB06> = 53;
<AB07> = 54;
<AB08> = 51;
<AB09> = 55;
<AB10> = 52;
<SPCE> = 57;
<LCTL> = 62; // Left Control
<LALT> = 63; // Left Option
<LFSH> = 64; // Left Shift
<RALT> = 66; // Left Command
// <RTSH> = 131; // Right Shift
// <RALT> = 132; // Right Command
// <RCTL> = 133; // Right Control
// <RMTA> = 134; // Right Option
<FK01> = 130;
<FK02> = 128;
<FK03> = 107;
<FK04> = 126;
<FK05> = 104;
<FK06> = 105;
<FK07> = 106;
<FK08> = 108;
<FK09> = 109;
<FK10> = 117;
<FK11> = 111;
<FK12> = 119;
<PRSC> = 113;
<SCLK> = 115;
<PAUS> = 121;
<INS> = 122;
<HOME> = 123;
<PGUP> = 124;
<DELE> = 125;
<END> = 127;
<PGDN> = 129;
<UP> = 70;
<LEFT> = 67;
<DOWN> = 69;
<RGHT> = 68;
<NMLK> = 79;
<KPEQ> = 89;
<KPDV> = 83;
<KPMU> = 75;
<KP7> = 97;
<KP8> = 99;
<KP9> = 100;
<KPSU> = 86;
<KP4> = 94;
<KP5> = 95;
<KP6> = 96;
<KPAD> = 77;
<KP1> = 91;
<KP2> = 92;
<KP3> = 93;
<KPEN> = 84;
<KP0> = 90;
<KPDL> = 73;
indicator 3 = "Scroll Lock";
indicator 2 = "Num Lock";
indicator 1 = "Caps Lock";
alias <ALGR> = <RALT>;
};
xkb_keycodes "hhk" {
include "macintosh"
<AC12> = 51;
<LWIN> = 49;
<EISU> = 131;
<KANA> = 129;
<RWIN> = 208;
<FK13> = 111;
<FK14> = 78;
<FK15> = 110;
};
// Aluminium Keyboards
xkb_keycodes "alukbd" {
include "xfree86"
// Fkeys missing in xfree86 keycodes
<FK18> = 129;
<FK19> = 130;
// Eject key that matches the geometry definition
alias <I169> = <K6C>;
// Japanese keypad separator (KPSP in base, JPCM in evdev)
alias <JPCM> = <KPDC>;
};
// Aluminium Keyboards JIS
// As of HID Usage Table v1.11, it seems there are no usages
// for keys EISU or KANA. JIS Aluminium Keyboards overcome
// this by outputting usages of keys Hanja and Hangul
xkb_keycodes "jisevdev" {
alias <KANA> = <HJCV>; // Switch to kana mode
alias <EISU> = <HNGL>; // Switch to alphanumeric mode
};

View File

@@ -0,0 +1,24 @@
// OLPC's mechanical keyboard moves several keys to the AA row. make
// them easier to write symbol files naturally.
// see http://wiki.laptop.org/go/OLPC_English_Non-membrane_Keyboard
// and http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard
default
xkb_keycodes "olpc" {
alias <AE00> = <TLDE>; // many OLPC keyboards don't put tilde there
alias <AC12> = <BKSL>; // on model olpc, physical position of BKSL
};
default
xkb_keycodes "olpcm" {
alias <AE00> = <TLDE>; // many OLPC keyboards don't put tilde there
alias <AA02> = <BKSL>; // on model olpcm, new physical position of BKSL
alias <AA06> = <AE12>; // on model olpcm, new physical position of =+
alias <AA07> = <AC11>; // on model olpcm, new physical position of '"
};

View File

@@ -0,0 +1,139 @@
default xkb_keycodes "pc101" {
minimum= 8;
maximum= 255;
<TLDE> = 62;
<AE01> = 15;
<AE02> = 21;
<AE03> = 22;
<AE04> = 29;
<AE05> = 30;
<AE06> = 37;
<AE07> = 38;
<AE08> = 45;
<AE09> = 46;
<AE10> = 53;
<AE11> = 54;
<AE12> = 61;
<BKSP> = 68;
<TAB> = 16;
<AD01> = 17;
<AD02> = 23;
<AD03> = 24;
<AD04> = 31;
<AD05> = 32;
<AD06> = 39;
<AD07> = 40;
<AD08> = 47;
<AD09> = 48;
<AD10> = 55;
<AD11> = 56;
<AD12> = 63;
<RTRN> = 58;
<CAPS> = 11;
<AC01> = 18;
<AC02> = 19;
<AC03> = 25;
<AC04> = 26;
<AC05> = 33;
<AC06> = 34;
<AC07> = 41;
<AC08> = 42;
<AC09> = 49;
<AC10> = 50;
<AC11> = 57;
<LFSH> = 13;
<AB01> = 27;
<AB02> = 28;
<AB03> = 35;
<AB04> = 36;
<AB05> = 43;
<AB06> = 44;
<AB07> = 51;
<AB08> = 52;
<AB09> = 59;
<AB10> = 60;
<RTSH> = 12;
<BKSL> = 64;
<LALT> = 91;
<LCTL> = 10;
<SPCE> = 90;
<RCTL> = 93;
<RALT> = 92;
<ESC> = 14;
<FK01> = 94;
<FK02> = 95;
<FK03> = 96;
<FK04> = 97;
<FK05> = 98;
<FK06> = 99;
<FK07> = 100;
<FK08> = 101;
<FK09> = 102;
<FK10> = 103;
<FK11> = 104;
<FK12> = 105;
<PRSC> = 106;
<SCLK> = 107;
<PAUS> = 108;
<INS> = 109;
<HOME> = 110;
<PGUP> = 111;
<DELE> = 69;
<END> = 112;
<PGDN> = 113;
<UP> = 88;
<LEFT> = 80;
<DOWN> = 81;
<RGHT> = 87;
<NMLK> = 114;
<KPDV> = 115;
<KPMU> = 116;
<KPSU> = 83;
<KP7> = 74;
<KP8> = 75;
<KP9> = 82;
<KPAD> = 117;
<KP4> = 70;
<KP5> = 76;
<KP6> = 77;
<KP1> = 65;
<KP2> = 71;
<KP3> = 72;
<KPEN> = 89;
<KP0> = 66;
<KPDL> = 73;
alias <AE00> = <TLDE>;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
alias <AA01> = <LALT>;
alias <AA09> = <RALT>;
alias <ALGR> = <RALT>;
alias <AA12> = <RCTL>;
virtual indicator 1 = "L1";
virtual indicator 2 = "L2";
virtual indicator 3 = "L3";
virtual indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};
xkb_keycodes "pc102" {
include "sgi_vndr/indigo(pc101)"
<LSGT> = 118;
};

View File

@@ -0,0 +1,202 @@
default xkb_keycodes "universal" {
minimum= 8;
maximum= 255;
include "sgi_vndr/indy(pc105)"
alternate <BKSL> = 91;
alternate <BKSL> = 100;
alternate <BKSL> = 101;
};
xkb_keycodes "pc101" {
minimum= 8;
maximum= 255;
<TLDE> = 22;
<AE01> = 30;
<AE02> = 38;
<AE03> = 46;
<AE04> = 45;
<AE05> = 54;
<AE06> = 62;
<AE07> = 69;
<AE08> = 70;
<AE09> = 78;
<AE10> = 77;
<AE11> = 86;
<AE12> = 93;
<BKSP> = 110;
<TAB> = 21;
<AD01> = 29;
<AD02> = 37;
<AD03> = 44;
<AD04> = 53;
<AD05> = 52;
<AD06> = 61;
<AD07> = 68;
<AD08> = 75;
<AD09> = 76;
<AD10> = 85;
<AD11> = 92;
<AD12> = 99;
<RTRN> = 98;
<CAPS> = 28;
<AC01> = 36;
<AC02> = 35;
<AC03> = 43;
<AC04> = 51;
<AC05> = 60;
<AC06> = 59;
<AC07> = 67;
<AC08> = 74;
<AC09> = 83;
<AC10> = 84;
<AC11> = 90;
<LFSH> = 26;
<AB01> = 34;
<AB02> = 42;
<AB03> = 41;
<AB04> = 50;
<AB05> = 58;
<AB06> = 57;
<AB07> = 66;
<AB08> = 73;
<AB09> = 81;
<AB10> = 82;
<RTSH> = 97;
<BKSL> = 100;
<LALT> = 33;
<LCTL> = 25;
<SPCE> = 49;
<RCTL> = 96;
<RALT> = 65;
<ESC> = 16;
<FK01> = 15;
<FK02> = 23;
<FK03> = 31;
<FK04> = 39;
<FK05> = 47;
<FK06> = 55;
<FK07> = 63;
<FK08> = 71;
<FK09> = 79;
<FK10> = 87;
<FK11> = 94;
<FK12> = 102;
<PRSC> = 95;
<SCLK> = 103;
<PAUS> = 106;
<INS> = 111;
<HOME> = 118;
<PGUP> = 119;
<DELE> = 108;
<END> = 109;
<PGDN> = 117;
<UP> = 107;
<LEFT> = 105;
<DOWN> = 104;
<RGHT> = 114;
<NMLK> = 126;
<KPDV> = 127;
<KPMU> = 134;
<KPSU> = 140;
<KP7> = 116;
<KP8> = 125;
<KP9> = 133;
<KPAD> = 132;
<KP4> = 115;
<KP5> = 123;
<KP6> = 124;
<KP1> = 113;
<KP2> = 122;
<KP3> = 130;
<KPEN> = 129;
<KP0> = 120;
<KPDL> = 121;
alias <AE00> = <TLDE>;
alias <AC00> = <CAPS>;
alias <AA00> = <LCTL>;
alias <AA01> = <LALT>;
alias <AA09> = <RALT>;
alias <ALGR> = <RALT>;
alias <AA12> = <RCTL>;
virtual indicator 1 = "L1";
virtual indicator 2 = "L2";
virtual indicator 3 = "L3";
virtual indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};
xkb_keycodes "pc102" {
<BKSL> = 91;
<LSGT> = 27;
augment "sgi_vndr/indy(pc101)"
maximum= 255;
minimum= 8;
};
xkb_keycodes "pc104" {
include "sgi_vndr/indy(pc101)"
minimum= 8;
maximum= 255;
// These key names are here to support so-called "Windows95"
// keyboards like the Microsoft Natural keyboard.
<LWIN> = 147;
<RWIN> = 148;
<MENU> = 149;
};
xkb_keycodes "pc105" {
<LSGT> = 27;
augment "sgi_vndr/indy(pc104)"
minimum= 8;
maximum= 255;
};
xkb_keycodes "jp106" {
<HZTG> = 22;
<AB11> = 89;
<AC12> = 91;
<NFER> = 141;
<XFER> = 142;
<HKTG> = 143;
alias <TLDE> = <HZTG>;
alias <AE00> = <HZTG>;
alias <AE13> = <BKSL>;
augment "sgi_vndr/indy(pc101)"
minimum= 8;
maximum= 255;
};
// can be combined with any other "indy" keycode
// description to add virtual keys which can be
// used to implement an overlay-based numeric
// keypad.
partial hidden xkb_keycodes "overlayKeypad" {
<KO7> = 17;
<KO8> = 18;
<KO9> = 19;
<KO6> = 146;
<KO5> = 145;
<KO4> = 144;
<KO1> = 136;
<KO2> = 137;
<KO3> = 138;
<KO0> = 135;
<KODL> = 139;
};
partial hidden xkb_keycodes "shiftLock" {
indicator 5 = "Shift Lock";
};

View File

@@ -0,0 +1,10 @@
default xkb_keycodes "iris" {
include "sgi_vndr/indigo(pc101)"
indicator 1 = "L1";
indicator 2 = "L2";
indicator 3 = "L3";
indicator 4 = "L4";
indicator 5 = "Caps Lock";
indicator 6 = "Num Lock";
indicator 7 = "Scroll Lock";
};

View File

@@ -0,0 +1,141 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
xkb_keycodes "nwp5461" {
<ESC> = 18;
<AE01> = 19;
<AE02> = 20;
<AE03> = 21;
<AE04> = 22;
<AE05> = 23;
<AE06> = 24;
<AE07> = 25;
<AE08> = 26;
<AE09> = 27;
<AE10> = 28;
<AE11> = 29;
<AE12> = 30;
<BKSL> = 31;
<BKSP> = 32;
<TAB> = 33;
<AD01> = 34;
<AD02> = 35;
<AD03> = 36;
<AD04> = 37;
<AD05> = 38;
<AD06> = 39;
<AD07> = 40;
<AD08> = 41;
<AD09> = 42;
<AD10> = 43;
<AD11> = 44;
<AD12> = 45;
<DELE> = 46;
<LCTL> = 47;
<AC01> = 48;
<AC02> = 49;
<AC03> = 50;
<AC04> = 51;
<AC05> = 52;
<AC06> = 53;
<AC07> = 54;
<AC08> = 55;
<AC09> = 56;
<AC10> = 57;
<AC11> = 58;
<TLDE> = 59;
<RTRN> = 60;
<LFSH> = 61;
<AB01> = 62;
<AB02> = 63;
<AB03> = 64;
<AB04> = 65;
<AB05> = 66;
<AB06> = 67;
<AB07> = 68;
<AB08> = 69;
<AB09> = 70;
<AB10> = 71;
<AB11> = 72;
<RTSH> = 73;
<LALT> = 74;
<CAPS> = 75;
<STOP> = 76;
<SPCE> = 77;
<CUT> = 78;
<EXEC> = 81;
<FK01> = 8;
<FK02> = 9;
<FK03> = 10;
<FK04> = 11;
<FK05> = 12;
<FK06> = 13;
<FK07> = 14;
<FK08> = 15;
<FK09> = 16;
<FK10> = 17;
<FK11> = 111;
<FK12> = 112;
<HELP> = 113;
<INS> = 114;
<CLR> = 115;
<PGUP> = 116;
<PGDN> = 117;
<KPTB> = 109;
<UP> = 95;
<LEFT> = 98;
<DOWN> = 99;
<RGHT> = 100;
<KPMU> = 107;
<KPDV> = 108;
<KPAD> = 89;
<KP7> = 82;
<KP8> = 83;
<KP9> = 84;
<KPSU> = 85;
<KP4> = 86;
<KP5> = 87;
<KP6> = 88;
<KPSP> = 93;
<KP1> = 90;
<KP2> = 91;
<KP3> = 92;
<KPEN> = 97;
<KP0> = 94;
<KPDC> = 96;
};

View File

@@ -0,0 +1,246 @@
// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
xkb_keycodes "type6" {
minimum= 8;
maximum= 132;
<ESC> = 36;
<AE01> = 37;
<AE02> = 38;
<AE03> = 39;
<AE04> = 40;
<AE05> = 41;
<AE06> = 42;
<AE07> = 43;
<AE08> = 44;
<AE09> = 45;
<AE10> = 46;
<AE11> = 47;
<AE12> = 48;
<TLDE> = 49;
<BKSP> = 50;
<TAB> = 60;
<AD01> = 61;
<AD02> = 62;
<AD03> = 63;
<AD04> = 64;
<AD05> = 65;
<AD06> = 66;
<AD07> = 67;
<AD08> = 68;
<AD09> = 69;
<AD10> = 70;
<AD11> = 71;
<AD12> = 72;
<DELE> = 73;
<COMP> = 74;
<ALGR> = 20;
alias <RALT> = <ALGR>;
<LCTL> = 83;
<AC01> = 84;
<AC02> = 85;
<AC03> = 86;
<AC04> = 87;
<AC05> = 88;
<AC06> = 89;
<AC07> = 90;
<AC08> = 91;
<AC09> = 92;
<AC10> = 93;
<AC11> = 94;
<BKSL> = 95;
<RTRN> = 96;
<LFSH> = 106;
<AB01> = 107;
<AB02> = 108;
<AB03> = 109;
<AB04> = 110;
<AB05> = 111;
<AB06> = 112;
<AB07> = 113;
<AB08> = 114;
<AB09> = 115;
<AB10> = 116;
<RTSH> = 117;
<LALT> = 26;
<CAPS> = 126;
<LMTA> = 127;
<SPCE> = 128;
<RMTA> = 129;
<FK01> = 12;
<FK02> = 13;
<FK03> = 15;
<FK04> = 17;
<FK05> = 19;
<FK06> = 21;
<FK07> = 23;
<FK08> = 24;
<FK09> = 25;
<FK10> = 14;
<FK11> = 16;
<FK12> = 18;
<STOP> = 8;
<AGAI> = 10;
<PROP> = 32;
<UNDO> = 33;
<FRNT> = 56;
<COPY> = 58;
<OPEN> = 79;
<PAST> = 80;
<FIND> = 102;
<CUT> = 104;
<PRSC> = 29;
<SCLK> = 30;
<PAUS> = 28;
<NMLK> = 105;
<KPDV> = 53;
<KPMU> = 54;
<KPSU> = 78;
<KP7> = 75;
<KP8> = 76;
<KP9> = 77;
<KPAD> = 132;
<KP4> = 98;
<KP5> = 99;
<KP6> = 100;
<KP1> = 119;
<KP2> = 120;
<KP3> = 121;
<KPEN> = 97;
<KP0> = 101;
<KPDL> = 57;
<UP> = 27;
<LEFT> = 31;
<DOWN> = 34;
<RGHT> = 35;
<INS> = 51;
<HOME> = 59;
<END> = 81;
<PGUP> = 103;
<PGDN> = 130;
<HELP> = 125;
<MUTE> = 52;
<VOL-> = 9;
<VOL+> = 11;
<POWR> = 55;
indicator 4 = "Caps Lock";
indicator 3 = "Compose";
indicator 2 = "Scroll Lock";
indicator 1 = "Num Lock";
};
xkb_keycodes "type6tuv" {
include "sun(type6)"
<LSGT> = 131;
};
xkb_keycodes "type6_jp" {
include "sun(type6)"
<EXEC> = 122;
<KANJ> = 123;
<HENK> = 124;
<UNDR> = 118;
};
xkb_keycodes "type6_euro" {
include "sun(type6)"
<LSGT> = 131;
};
xkb_keycodes "type6unix" {
include "sun(type6)"
};
// Even though this is labeled as _usb, I verified these keycodes as accurate
// on my type5 serial and type6 serial keyboards as well on linux-2.6 boxes.
// I'm not sure where the "type6" keycodes above are coming from...
default xkb_keycodes "type6_usb" {
include "xfree86"
// <STOP> = 232;
// <AGAI> = 133;
// <PROP> = 134;
// <UNDO> = 135;
// <FRNT> = 140;
// <COPY> = 248;
// <OPEN> = 191;
// <PAST> = 192;
// <FIND> = 122;
// <CUT> = 188;
// <HELP> = 245;
// The blank has keycode 239 on my type6 serial kb, but 134 on
// my type6 usb keyboard (same as <PROP>)
// <BLNK> = 239;
// AltGr + PrScr actually sends a different keycode
// <SYRQ> = 92;
// <MUTE> = 160;
// <VOL-> = 174;
// <VOL+> = 176;
// <POWR> = 222;
<I150> = 155;
<I160> = 160;
<I235> = 235;
indicator 4 = "Compose";
};
xkb_keycodes "type6tuv_usb" {
include "sun(type6_usb)"
// <LSGT> = 94;
// <BKSL> = 51;
};
xkb_keycodes "type6_jp_usb" {
include "sun(type6_usb)"
alias <UNDR> = <KPDC>; // 123
alias <EXEC> = <NFER>; // 131
alias <KANJ> = <XFER>; // 129
alias <HENK> = <HKTG>; // 208
indicator 5 = "Kana";
};

View File

@@ -0,0 +1,410 @@
// "standard" XFree86 codes
// It seems that the "default" must be the first entry in the file.
default xkb_keycodes "xfree86" {
include "xfree86(basic)"
<BKSL> = 51;
alias <AC12> = <BKSL>;
<LSGT> = 94;
};
xkb_keycodes "basic" {
minimum= 8;
maximum= 255;
<TLDE> = 49;
alias <AE00> = <TLDE>; // Some geometries use AE00
<AE01> = 10;
<AE02> = 11;
<AE03> = 12;
<AE04> = 13;
<AE05> = 14;
<AE06> = 15;
<AE07> = 16;
<AE08> = 17;
<AE09> = 18;
<AE10> = 19;
<AE11> = 20;
<AE12> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<CAPS> = 66;
<AC01> = 38;
<AC02> = 39;
<AC03> = 40;
<AC04> = 41;
<AC05> = 42;
<AC06> = 43;
<AC07> = 44;
<AC08> = 45;
<AC09> = 46;
<AC10> = 47;
<AC11> = 48;
<LFSH> = 50;
<AB01> = 52;
<AB02> = 53;
<AB03> = 54;
<AB04> = 55;
<AB05> = 56;
<AB06> = 57;
<AB07> = 58;
<AB08> = 59;
<AB09> = 60;
<AB10> = 61;
<RTSH> = 62;
<LALT> = 64;
<LCTL> = 37;
<SPCE> = 65;
<RCTL> = 109;
<RALT> = 113;
// Microsoft keyboard extra keys
<LWIN> = 115;
<RWIN> = 116;
<MENU> = 117;
<ESC> = 9;
<FK01> = 67;
<FK02> = 68;
<FK03> = 69;
<FK04> = 70;
<FK05> = 71;
<FK06> = 72;
<FK07> = 73;
<FK08> = 74;
<FK09> = 75;
<FK10> = 76;
<FK11> = 95;
<FK12> = 96;
<PRSC> = 111;
<SYRQ> = 92;
<SCLK> = 78;
<PAUS> = 110;
<BRK> = 114;
<INS> = 106;
<HOME> = 97;
<PGUP> = 99;
<DELE> = 107;
<END> = 103;
<PGDN> = 105;
<UP> = 98;
<LEFT> = 100;
<DOWN> = 104;
<RGHT> = 102;
<NMLK> = 77;
<KPDV> = 112;
<KPMU> = 63;
<KPSU> = 82;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPAD> = 86;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KPEN> = 108;
<KP0> = 90;
<KPDL> = 91;
<KPEQ> = 126;
<FK13> = 118;
<FK14> = 119;
<FK15> = 120;
<FK16> = 121;
<FK17> = 122;
<KPDC> = 123;
// Keys that are generated on Japanese keyboards
alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle
<HKTG> = 208; // Hiragana_Katakana toggle
<AB11> = 211; // backslash/underscore
<XFER> = 129; // Henkan
<NFER> = 131; // Muhenkan
<AE13> = 133; // Yen
<EISU> = 210; // Alphanumeric mode on macintosh
<KANA> = 209; // Kana mode on macintosh
// Keys that are generated on Korean keyboards
alias <HNGL> = <FK16>; // Hangul Latin toggle
alias <HJCV> = <FK17>; // Hangul to Hanja conversion
// Extended keys that may be generated on "Internet" keyboards.
// These are not standardised, hence the meaningless names.
// The entries commented out are never generated because the raw codes
// in those positions are already used for well-defined keys.
<I02> = 130;
<I04> = 132;
alias <I05> = <AE13>;
<I06> = 134;
<I07> = 135;
<I08> = 136;
<I09> = 137;
<I0A> = 138;
<I0B> = 139;
<I0C> = 140;
<I0D> = 141;
<I0E> = 142;
<I0F> = 143;
<I10> = 144;
<I11> = 145;
<I12> = 146;
<I13> = 147;
<I14> = 148;
<I15> = 149;
<I16> = 150;
<I17> = 151;
<I18> = 152;
<I19> = 153;
<I1A> = 154;
<I1B> = 155;
// <I1C> = 156; <META>
// <I1D> = 157; <K59>
<I1E> = 158;
<I1F> = 159;
<I20> = 160;
<I21> = 161;
<I22> = 162;
<I23> = 163;
<I24> = 164;
<I25> = 165;
<I26> = 166;
<I27> = 167;
<I28> = 168;
<I29> = 169;
// <I2A> = 170; <K5A>
<I2B> = 171;
<I2C> = 172;
<I2D> = 173;
<I2E> = 174;
<I2F> = 175;
<I30> = 176;
<I31> = 177;
<I32> = 178;
<I33> = 179;
<I34> = 180;
// <I35> = 181; <K5B>
// <I36> = 182; <K5D>
// <I37> = 183; <K5E>
// <I38> = 184; <K5F>
<I39> = 185;
<I3A> = 186;
<I3B> = 187;
<I3C> = 188;
// <I3D> = 189; <K62>
// <I3E> = 190; <K63>
// <I3F> = 191; <K64>
// <I40> = 192; <K65>
// <I41> = 193; <K66>
<I42> = 194;
<I43> = 195;
<I44> = 196;
<I45> = 197;
// <I46> = 198; <K67>
// <I47> = 199; <K68>
// <I48> = 200; <K69>
// <I49> = 201; <K6A>
<I4A> = 202;
// <I4B> = 203; <K6B>
// <I4C> = 204; <K6C>
// <I4D> = 205; <K6D>
// <I4E> = 206; <K6E>
// <I4F> = 207; <K6F>
// <I50> = 208; <K70>
// <I51> = 209; <K71>
// <I52> = 210; <K72>
// <I53> = 211; <K73>
<I54> = 212;
<I55> = 213;
<I56> = 214;
<I57> = 215;
<I58> = 216;
<I59> = 217;
<I5A> = 218;
// <I5B> = 219; <K74>
// <I5C> = 220; <K75>
// <I5D> = 221; <K76>
<I5E> = 222;
<I5F> = 223;
<I60> = 224;
<I61> = 225;
<I62> = 226;
<I63> = 227;
<I64> = 228;
<I65> = 229;
<I66> = 230;
<I67> = 231;
<I68> = 232;
<I69> = 233;
<I6A> = 234;
<I6B> = 235;
<I6C> = 236;
<I6D> = 237;
<I6E> = 238;
<I6F> = 239;
<I70> = 240;
<I71> = 241;
<I72> = 242;
<I73> = 243;
<I74> = 244;
<I75> = 245;
<I76> = 246;
<I77> = 247;
<I78> = 248;
<I79> = 249;
<I7A> = 250;
<I7B> = 251;
<I7C> = 252;
alias <IR7C> = <I7C>;
<I7D> = 253;
alias <IR7D> = <I7D>;
<I7E> = 254;
<I7F> = 255;
// MacBooks generate 0x65 for the lower brightness key
<II65> = 101;
// Required for apple/logitech_g15 keyboard
<II5D> = 93;
// Codes generated for scancodes 0x59-0x5f, 0x62-0x76
<K59> = 157; // <I1D>
<K5A> = 170; // <I2A>
<K5B> = 181; // <I35>
alias <K5C> = <KPEQ>;
<K5D> = 182; // <I36>
<K5E> = 183; // <I37>
<K5F> = 184; // <I38>
<K62> = 189; // <I3D>
<K63> = 190; // <I3E>
<K64> = 191; // <I3F>
<K65> = 192; // <I40>
<K66> = 193; // <I41>
<K67> = 198; // <I46>
<K68> = 199; // <I47>
<K69> = 200; // <I48>
<K6A> = 201; // <I49>
<K6B> = 203; // <I4B>
<K6C> = 204; // <I4C>
<K6D> = 205; // <I4D>
<K6E> = 206; // <I4E>
<K6F> = 207; // <I4F>
alias <K70> = <HKTG>; // <I50>
alias <K71> = <KANA>; // <I51>
alias <K72> = <EISU>; // <I52>
alias <K73> = <AB11>; // <I53>
<K74> = 219; // <I5B>
<K75> = 220; // <I5C>
<K76> = 221; // <I5D>
// Solaris compatibility
alias <LMTA> = <LWIN>;
alias <RMTA> = <RWIN>;
alias <COMP> = <MENU>;
alias <POWR> = <I0C>;
alias <MUTE> = <I0D>;
alias <VOL-> = <I0E>;
alias <VOL+> = <I0F>;
alias <HELP> = <I10>;
alias <STOP> = <I11>;
alias <AGAI> = <I12>;
alias <PROP> = <I13>;
alias <UNDO> = <I14>;
alias <FRNT> = <I15>;
alias <COPY> = <I16>;
alias <OPEN> = <I17>;
alias <PAST> = <I18>;
alias <FIND> = <I19>;
alias <CUT> = <I1A>;
alias <OUTP> = <I56>;
alias <KITG> = <I57>;
alias <KIDN> = <I58>;
alias <KIUP> = <I59>;
// Other codes never generated. The XFree86 ddx never generates
// these codes.
// Thus we can use them as fake keys
<MDSW> = 8;
<LVL3> = 124; // <U7C>
<ALT> = 125; // <U7D>
<META> = 156; // <I1C>
<SUPR> = 127; // <U7F>
<HYPR> = 128; // <U80>
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
alias <ALGR> = <RALT>;
// For Brazilian ABNT2
alias <KPPT> = <I06>;
};
// What keyboard is this?
xkb_keycodes "102" {
include "xfree86(xfree86)"
// There will be warnings from xkbcomp because of multiple definitions.
<RALT> = 122;
<RCTL> = 123;
<PRSC> = 121;
<PAUS> = 118;
<INS> = 131;
<HOME> = 135;
<PGUP> = 119;
<DELE> = 129;
<END> = 130;
<PGDN> = 134;
<UP> = 128;
<LEFT> = 132;
<DOWN> = 120;
<RGHT> = 133;
<KPDV> = 125;
<KPEN> = 124;
};
// IBM ThinkPad Z60m/Z60t/Z61m/Z61t
xkb_keycodes "thinkpadz60" {
include "xfree86(xfree86)"
<MENU> = 227;
};

View File

@@ -0,0 +1,152 @@
//
//Copyright 1996, 1998 The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//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 OPEN GROUP 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 Open Group 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 Open Group.
//
//
default xkb_keycodes "pc98" {
minimum= 8;
maximum= 255;
<ESC> = 8;
<AE01> = 9;
<AE02> = 10;
<AE03> = 11;
<AE04> = 12;
<AE05> = 13;
<AE06> = 14;
<AE07> = 15;
<AE08> = 16;
<AE09> = 17;
<AE10> = 18;
<AE11> = 19;
<AE12> = 20;
<BKSL> = 21;
<BKSP> = 22;
<TAB> = 23;
<AD01> = 24;
<AD02> = 25;
<AD03> = 26;
<AD04> = 27;
<AD05> = 28;
<AD06> = 29;
<AD07> = 30;
<AD08> = 31;
<AD09> = 32;
<AD10> = 33;
<AD11> = 34;
<AD12> = 35;
<RTRN> = 36;
<LCTL> = 124;
<CAPS> = 121;
<AC01> = 37;
<AC02> = 38;
<AC03> = 39;
<AC04> = 40;
<AC05> = 41;
<AC06> = 42;
<AC07> = 43;
<AC08> = 44;
<AC09> = 45;
<AC10> = 46;
<AC11> = 47;
<AC12> = 48;
<LFSH> = 120;
<AB01> = 49;
<AB02> = 50;
<AB03> = 51;
<AB04> = 52;
<AB05> = 53;
<AB06> = 54;
<AB07> = 55;
<AB08> = 56;
<AB09> = 57;
<AB10> = 58;
<AB11> = 59;
<ALGR> = 122;
<LALT> = 123;
<NFER> = 89;
<SPCE> = 60;
<XFER> = 61;
<BRK> = 104;
<PRSC> = 105;
<FK01> = 106;
<FK02> = 107;
<FK03> = 108;
<FK04> = 109;
<FK05> = 110;
<FK06> = 111;
<FK07> = 112;
<FK08> = 113;
<FK09> = 114;
<FK10> = 115;
<FK11> = 90;
<FK12> = 91;
<FK13> = 92;
<FK14> = 93;
<FK15> = 94;
<INS> = 64;
<DELE> = 65;
<PGUP> = 63;
<PGDN> = 62;
<UP> = 66;
<LEFT> = 67;
<RGHT> = 68;
<DOWN> = 69;
<HOME> = 70;
<HELP> = 71;
<KPSU> = 72;
<KPDV> = 73;
<KP7> = 74;
<KP8> = 75;
<KP9> = 76;
<KPMU> = 77;
<KP4> = 78;
<KP5> = 79;
<KP6> = 80;
<KPAD> = 81;
<KP1> = 82;
<KP2> = 83;
<KP3> = 84;
<KPEQ> = 85;
<KP0> = 86;
<KPSP> = 87;
<KPDC> = 88;
indicator 1 = "Caps Lock";
indicator 2 = "Kana";
};

View File

@@ -0,0 +1,2 @@
This directory lists sets of rules which can be used to obtain an exact XKB
configuration.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,922 @@
! model
pc101 Generic 101-key PC
pc102 Generic 101-key PC (intl.)
pc104 Generic 104-key PC
pc105 Generic 105-key PC (intl.)
dell101 Dell 101-key PC
latitude Dell Latitude laptop
dellm65 Dell Precision M65 laptop
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet
scorpius Advance Scorpius KI
brother Brother Internet
btc5113rf BTC 5113RF Multimedia
btc5126t BTC 5126T
btc6301urf BTC 6301URF
btc9000 BTC 9000
btc9000a BTC 9000A
btc9001ah BTC 9001AH
btc5090 BTC 5090
btc9019u BTC 9019U
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alt.)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access
compaqik7 Compaq Internet (7 keys)
compaqik13 Compaq Internet (13 keys)
compaqik18 Compaq Internet (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Compaq Armada laptop
presario Compaq Presario laptop
ipaq Compaq iPaq
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia
inspiron Dell Inspiron 6000/8000 laptop
precision_m Dell Precision M laptop
dexxa Dexxa Wireless Desktop
diamond Diamond 9801/9802
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Amilo laptop
genius Genius Comfy KB-16M/Multimedia KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
htcdream HTC Dream
kinesis Kinesis
logitech_base Logitech
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet
hp250x Hewlett-Packard NEC SK-2500 Multimedia
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT1100
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 500
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 laptop
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350
logimel Logitech Internet 350
logicd Logitech Cordless Desktop
logicd_it Logitech Cordless Desktop iTouch
logicd_nav Logitech Cordless Desktop Navigator
logicd_opt Logitech Cordless Desktop Optical
logicda Logitech Cordless Desktop (alt.)
logicdpa2 Logitech Cordless Desktop Pro (2nd alt.)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Y-RB6
logiik Logitech Internet
itouch Logitech iTouch
logicink Logitech Internet Navigator
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator SE
logiinkseusb Logitech iTouch Internet Navigator SE USB
logiultrax Logitech Ultra-X
logiultraxc Logitech Ultra-X Cordless Media Desktop
logidinovo Logitech diNovo
logidinovoedge Logitech diNovo Edge
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Ergonomic 4000
microsoft7000 Microsoft Natural Wireless Ergonomic 7000
microsoftinet Microsoft Internet
microsoftpro Microsoft Natural Pro/Internet Pro
microsoftprousb Microsoft Natural Pro USB/Internet Pro
microsoftprooem Microsoft Natural Pro OEM
vsonku306 ViewSonic KU-306 Internet
microsoftprose Microsoft Internet Pro (Swedish)
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia 1.0A
microsoftelite Microsoft Natural Elite
microsoftccurve2k Microsoft Comfort Curve 2000
oretec Ortek Multimedia/Internet MCK-800
propeller Propeller Voyager KTEZ-1000
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 NEC SK-1300
sk2500 NEC SK-2500
sk6200 NEC SK-6200
sk7100 NEC SK-7100
sp_inet Super Power Multimedia
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook tablet
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Classic
trustda Trust Direct Access
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (intl.)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking for Mac
acer_c300 Acer C300
acer_ferrari4k Acer Ferrari 4000
acer_laptop Acer laptop
asus_laptop Asus laptop
apple Apple
apple_laptop Apple laptop
applealu_ansi Apple Aluminium (ANSI)
applealu_iso Apple Aluminium (ISO)
applealu_jis Apple Aluminium (JIS)
silvercrest Silvercrest Multimedia Wireless
emachines eMachines m6800 laptop
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European)
sun_type7_unix_usb Sun Type 7 USB (Unix)
sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European)
sun_type6_unix_usb Sun Type 6 USB (Unix)
sun_type6_jp_usb Sun Type 6 USB (Japanese)
sun_type6_jp Sun Type 6 (Japanese)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
au English (Australian)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
dz Berber (Algeria, Latin)
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
id Indonesian (Jawi)
my Malay (Jawi, Arabic Keyboard)
! variant
chr us: Cherokee
euro us: English (US, euro on 5)
intl us: English (US, intl., with dead keys)
alt-intl us: English (US, alt. intl.)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, intl., with dead keys)
dvorak-alt-intl us: English (Dvorak, alt. intl.)
dvorak-l us: English (Dvorak, left-handed)
dvorak-r us: English (Dvorak, right-handed)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply keys toggle the layout)
hbs us: Serbo-Croatian (US)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY/digits)
digits ara: Arabic (digits)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alt. phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alt. eastern)
nodeadkeys at: German (Austria, no dead keys)
sundeadkeys at: German (Austria, with Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (alt., Latin-9 only)
oss_sundeadkeys be: Belgian (alt., with Sun dead keys)
iso-alternate be: Belgian (alt. ISO)
nodeadkeys be: Belgian (no dead keys)
sundeadkeys be: Belgian (with Sun dead keys)
wang be: Belgian (Wang 724 AZERTY)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Uni Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee)
ori in: Oriya
olck in: Ol Chiki
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
tam_TSCII in: Tamil (TSCII typewriter)
tam in: Tamil
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa phonetic)
tel-sarala in: Telugu (Sarala)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alt. phonetic)
urd-winkeys in: Urdu (Win keys)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa phonetic)
san-kagapa in: Sanskrit (KaGaPa phonetic)
mar-kagapa in: Marathi (KaGaPa phonetic)
eng in: English (India, with rupee)
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US, with Bosnian letters)
nodeadkeys br: Portuguese (Brazil, no dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
ber dz: Berber (Algeria, Tifinagh)
ar dz: Arabic (Algeria)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alt.)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh alt. phonetic)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY)
azerty cm: Cameroon Multilingual (AZERTY)
dvorak cm: Cameroon Multilingual (Dvorak)
mmuock cm: Mmuock
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian Multilingual
multi ca: Canadian Multilingual (1st part)
multi-2gr ca: Canadian Multilingual (2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US, with Croatian letters)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
ucw cz: Czech (UCW, only accented letters)
dvorak-ucw cz: Czech (US, Dvorak, UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (no dead keys)
winkeys dk: Danish (Win keys)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (with Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US, with Estonian letters)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (no dead keys)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
sundeadkeys fr: French (with Sun dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
oss_sundeadkeys fr: French (alt., with Sun dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
latin9_sundeadkeys fr: French (legacy, alt., with Sun dead keys)
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa (Ghana)
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (no dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (with Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, no dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (QWERTZ)
qwerty de: German (QWERTY)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
deadtilde de: German (dead tilde)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (no dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (no dead keys)
qwerty hu: Hungarian (QWERTY)
101_qwertz_comma_dead hu: Hungarian (101/QWERTZ/comma/dead keys)
101_qwertz_comma_nodead hu: Hungarian (101/QWERTZ/comma/no dead keys)
101_qwertz_dot_dead hu: Hungarian (101/QWERTZ/dot/dead keys)
101_qwertz_dot_nodead hu: Hungarian (101/QWERTZ/dot/no dead keys)
101_qwerty_comma_dead hu: Hungarian (101/QWERTY/comma/dead keys)
101_qwerty_comma_nodead hu: Hungarian (101/QWERTY/comma/no dead keys)
101_qwerty_dot_dead hu: Hungarian (101/QWERTY/dot/dead keys)
101_qwerty_dot_nodead hu: Hungarian (101/QWERTY/dot/no dead keys)
102_qwertz_comma_dead hu: Hungarian (102/QWERTZ/comma/dead keys)
102_qwertz_comma_nodead hu: Hungarian (102/QWERTZ/comma/no dead keys)
102_qwertz_dot_dead hu: Hungarian (102/QWERTZ/dot/dead keys)
102_qwertz_dot_nodead hu: Hungarian (102/QWERTZ/dot/no dead keys)
102_qwerty_comma_dead hu: Hungarian (102/QWERTY/comma/dead keys)
102_qwerty_comma_nodead hu: Hungarian (102/QWERTY/comma/no dead keys)
102_qwerty_dot_dead hu: Hungarian (102/QWERTY/dot/dead keys)
102_qwerty_dot_nodead hu: Hungarian (102/QWERTY/dot/no dead keys)
Sundeadkeys is: Icelandic (with Sun dead keys)
nodeadkeys is: Icelandic (no dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (no dead keys)
winkeys it: Italian (Winkeys)
mac it: Italian (Macintosh)
us it: Italian (US, with Italian letters)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
ext kz: Kazakh (extended)
stea la: Lao (STEA proposed standard layout)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
sundeadkeys latam: Spanish (Latin American, with Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
std lt: Lithuanian (standard)
us lt: Lithuanian (US, with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
apostrophe lv: Latvian (apostrophe)
tilde lv: Latvian (tilde)
fkey lv: Latvian (F)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin, Unicode)
latinyz me: Montenegrin (Latin, QWERTY)
latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY)
cyrillicalternatequotes me: Montenegrin (Cyrillic with guillemets)
latinalternatequotes me: Montenegrin (Latin with guillemets)
nodeadkeys mk: Macedonian (no dead keys)
us mt: Maltese (with US layout)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Win keys)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, no dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, no dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (QWERTZ)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (no dead keys)
sundeadkeys pt: Portuguese (with Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, with Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (Win keys)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, with Win keys)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (Win keys)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic, AZERTY)
phonetic_dvorak ru: Russian (phonetic, Dvorak)
phonetic_fr ru: Russian (phonetic, French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin, Unicode)
latinyz rs: Serbian (Latin, QWERTY)
latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY)
alternatequotes rs: Serbian (Cyrillic with guillemets)
latinalternatequotes rs: Serbian (Latin with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets)
us si: Slovenian (US, with Slovenian letters)
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Win keys)
deadtilde es: Spanish (dead tilde)
sundeadkeys es: Spanish (with Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and bottom-dot L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (no dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
us_dvorak se: Swedish (based on US Intl. Dvorak)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
de_sundeadkeys ch: German (Switzerland, with Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no dead keys)
fr_sundeadkeys ch: French (Switzerland, with Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
us lk: Sinhala (US, with Sinhala letters)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (with Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (intl., with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Win keys)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended, with Win keys)
intl gb: English (UK, intl., with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak, with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, intl., Macintosh)
colemak gb: English (UK, Colemak)
latin uz: Uzbek (Latin)
kr104 kr: Korean (101/104 key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (displaced semicolon and quote, obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
right_hand brai: Braille (right-handed)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alt.)
us-mac ml: English (Mali, US, Macintosh)
us-intl ml: English (Mali, US, intl.)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY, Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin)
colemak ph: Filipino (Colemak, Latin)
colemak-bay ph: Filipino (Colemak, Baybayin)
dvorak ph: Filipino (Dvorak, Latin)
dvorak-bay ph: Filipino (Dvorak, Baybayin)
gag md: Moldavian (Gagauz)
phonetic my: Malay (Jawi, phonetic)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Left Win (while pressed)
grp:win_switch Any Win (while pressed)
grp:menu_switch Menu (while pressed), Shift+Menu for Menu
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout
grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout
grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift together
grp:alts_toggle Both Alt together
grp:ctrls_toggle Both Ctrl together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout
grp:lctrl_lwin_toggle Left Ctrl+Left Win
lv3 Key to choose the 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt Right Alt never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch &lt;Less/Greater&gt;
lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser
lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser
lv3:lsgt_switch_latch &lt;Less/Greater&gt;; acts as onetime lock when pressed together with another 3rd level chooser
ctrl Ctrl position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl
ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl
ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode additions (arrows and math operators)
keypad:future Unicode additions (arrows and math operators; math operators on default level)
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode additions (arrows and math operators)
keypad:future_wang Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)
keypad:hex Hexadecimal
keypad:atm ATM/phone-style
kpdl Numeric keypad Delete behavior
kpdl:dot Legacy key with dot
kpdl:comma Legacy key with comma
kpdl:dotoss Four-level key with dot
kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:numlock Make Caps Lock an additional Num Lock
caps:ctrl_modifier Caps Lock is also a Ctrl
caps:none Caps Lock is disabled
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key
altwin:meta_alt Alt and Meta are on Alt
altwin:alt_win Alt is mapped to Win and the usual Alt
altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl keys
altwin:ctrl_alt_win Ctrl is mapped to Alt; Alt is mapped to Win
altwin:meta_win Meta is mapped to Win
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 &lt;Less/Greater&gt;
compose:102-altgr 3rd level of &lt;Less/Greater&gt;
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad always enters digits (as in macOS)
numpad:microsoft Num Lock on: digits; Shift for arrow keys. Num Lock off: arrow keys (as in Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium: emulate PC keys (PrtSc, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
shift:both_capslock Both Shift together enable Caps Lock
shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it
shift:both_shiftlock Both Shift together enable Shift Lock
keypad:pointerkeys Shift + Num Lock enables PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Adding currency signs to certain keys
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch_lock &lt;Less/Greater&gt; chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
nbsp Using space key to input non-breaking space
nbsp:none Usual space at any level
nbsp:level2 Non-breaking space at the 2nd level
nbsp:level3 Non-breaking space at the 3rd level
nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level
nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:level4 Non-breaking space at the 4th level
nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level
nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner at the 2nd level
nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level
nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level
nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional Esc
korean Korean Hangul/Hanja keys
korean:hw_keys Hardware Hangul/Hanja keys
korean:ralt_rctrl Right Alt as Hangul, right Ctrl as Hanja
korean:rctrl_ralt Right Ctrl as Hangul, right Alt as Hanja
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a QWERTY layout
esperanto:dvorak To the corresponding key in a Dvorak layout
esperanto:colemak To the corresponding key in a Colemak layout
solaris Maintain key compatibility with old Solaris keycodes
solaris:sun_compat Sun Key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl+Alt+Backspace

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,922 @@
! model
pc101 Generic 101-key PC
pc102 Generic 101-key PC (intl.)
pc104 Generic 104-key PC
pc105 Generic 105-key PC (intl.)
dell101 Dell 101-key PC
latitude Dell Latitude laptop
dellm65 Dell Precision M65 laptop
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
omnikey101 Northgate OmniKey 101
winbook Winbook Model XP5
pc98 PC-98
a4techKB21 A4Tech KB-21
a4techKBS8 A4Tech KBS-8
a4_rfkb23 A4Tech Wireless Desktop RFKB-23
airkey Acer AirKey V
azonaRF2300 Azona RF2300 wireless Internet
scorpius Advance Scorpius KI
brother Brother Internet
btc5113rf BTC 5113RF Multimedia
btc5126t BTC 5126T
btc6301urf BTC 6301URF
btc9000 BTC 9000
btc9000a BTC 9000A
btc9001ah BTC 9001AH
btc5090 BTC 5090
btc9019u BTC 9019U
btc9116u BTC 9116U Mini Wireless Internet and Gaming
cherryblue Cherry Blue Line CyBo@rd
cherryblueb Cherry CyMotion Master XPress
cherrybluea Cherry Blue Line CyBo@rd (alt.)
cherrycyboard Cherry CyBo@rd USB-Hub
cherrycmexpert Cherry CyMotion Expert
cherrybunlim Cherry B.UNLIMITED
chicony Chicony Internet
chicony0108 Chicony KU-0108
chicony0420 Chicony KU-0420
chicony9885 Chicony KB-9885
compaqeak8 Compaq Easy Access
compaqik7 Compaq Internet (7 keys)
compaqik13 Compaq Internet (13 keys)
compaqik18 Compaq Internet (18 keys)
cymotionlinux Cherry CyMotion Master Linux
armada Compaq Armada laptop
presario Compaq Presario laptop
ipaq Compaq iPaq
dell Dell
dellsk8125 Dell SK-8125
dellsk8135 Dell SK-8135
dellusbmm Dell USB Multimedia
inspiron Dell Inspiron 6000/8000 laptop
precision_m Dell Precision M laptop
dexxa Dexxa Wireless Desktop
diamond Diamond 9801/9802
dtk2000 DTK2000
ennyah_dkb1008 Ennyah DKB-1008
fscaa1667g Fujitsu-Siemens Amilo laptop
genius Genius Comfy KB-16M/Multimedia KWD-910
geniuscomfy Genius Comfy KB-12e
geniuscomfy2 Genius Comfy KB-21e-Scroll
geniuskb19e Genius KB-19e NB
geniuskkb2050hs Genius KKB-2050HS
gyration Gyration
htcdream HTC Dream
kinesis Kinesis
logitech_base Logitech
logitech_g15 Logitech G15 extra keys via G15daemon
hpi6 Hewlett-Packard Internet
hp250x Hewlett-Packard NEC SK-2500 Multimedia
hpxe3gc Hewlett-Packard Omnibook XE3 GC
hpxe3gf Hewlett-Packard Omnibook XE3 GF
hpxt1000 Hewlett-Packard Omnibook XT1000
hpdv5 Hewlett-Packard Pavilion dv5
hpzt11xx Hewlett-Packard Pavilion ZT1100
hp500fa Hewlett-Packard Omnibook 500 FA
hp5xx Hewlett-Packard Omnibook 500
hpnx9020 Hewlett-Packard nx9020
hp6000 Hewlett-Packard Omnibook 6000/6100
honeywell_euroboard Honeywell Euroboard
hpmini110 Hewlett-Packard Mini 110 laptop
rapidaccess IBM Rapid Access
rapidaccess2 IBM Rapid Access II
thinkpad IBM ThinkPad 560Z/600/600E/A22E
thinkpad60 IBM ThinkPad R60/T60/R61/T61
thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t
ibm_spacesaver IBM Space Saver
logiaccess Logitech Access
logiclx300 Logitech Cordless Desktop LX-300
logii350 Logitech Internet 350
logimel Logitech Internet 350
logicd Logitech Cordless Desktop
logicd_it Logitech Cordless Desktop iTouch
logicd_nav Logitech Cordless Desktop Navigator
logicd_opt Logitech Cordless Desktop Optical
logicda Logitech Cordless Desktop (alt.)
logicdpa2 Logitech Cordless Desktop Pro (2nd alt.)
logicfn Logitech Cordless Freedom/Desktop Navigator
logicdn Logitech Cordless Desktop Navigator
logiitc Logitech iTouch Cordless Y-RB6
logiik Logitech Internet
itouch Logitech iTouch
logicink Logitech Internet Navigator
logiex110 Logitech Cordless Desktop EX110
logiinkse Logitech iTouch Internet Navigator SE
logiinkseusb Logitech iTouch Internet Navigator SE USB
logiultrax Logitech Ultra-X
logiultraxc Logitech Ultra-X Cordless Media Desktop
logidinovo Logitech diNovo
logidinovoedge Logitech diNovo Edge
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access
mx2750 Memorex MX2750
microsoft4000 Microsoft Natural Ergonomic 4000
microsoft7000 Microsoft Natural Wireless Ergonomic 7000
microsoftinet Microsoft Internet
microsoftpro Microsoft Natural Pro/Internet Pro
microsoftprousb Microsoft Natural Pro USB/Internet Pro
microsoftprooem Microsoft Natural Pro OEM
vsonku306 ViewSonic KU-306 Internet
microsoftprose Microsoft Internet Pro (Swedish)
microsoftoffice Microsoft Office Keyboard
microsoftmult Microsoft Wireless Multimedia 1.0A
microsoftelite Microsoft Natural Elite
microsoftccurve2k Microsoft Comfort Curve 2000
oretec Ortek Multimedia/Internet MCK-800
propeller Propeller Voyager KTEZ-1000
qtronix QTronix Scorpius 98N+
samsung4500 Samsung SDM 4500P
samsung4510 Samsung SDM 4510P
sanwaskbkg3 Sanwa Supply SKB-KG3
sk1300 NEC SK-1300
sk2500 NEC SK-2500
sk6200 NEC SK-6200
sk7100 NEC SK-7100
sp_inet Super Power Multimedia
sven SVEN Ergonomic 2500
sven303 SVEN Slim 303
symplon Symplon PaceBook tablet
toshiba_s3000 Toshiba Satellite S3000
trust Trust Wireless Classic
trustda Trust Direct Access
trust_slimline Trust Slimline
tm2020 TypeMatrix EZ-Reach 2020
tm2030PS2 TypeMatrix EZ-Reach 2030 PS2
tm2030USB TypeMatrix EZ-Reach 2030 USB
tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)
tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode)
yahoo Yahoo! Internet
macbook78 MacBook/MacBook Pro
macbook79 MacBook/MacBook Pro (intl.)
macintosh Macintosh
macintosh_old Macintosh Old
macintosh_hhk Happy Hacking for Mac
acer_c300 Acer C300
acer_ferrari4k Acer Ferrari 4000
acer_laptop Acer laptop
asus_laptop Asus laptop
apple Apple
apple_laptop Apple laptop
applealu_ansi Apple Aluminium (ANSI)
applealu_iso Apple Aluminium (ISO)
applealu_jis Apple Aluminium (JIS)
silvercrest Silvercrest Multimedia Wireless
emachines eMachines m6800 laptop
benqx BenQ X-Touch
benqx730 BenQ X-Touch 730
benqx800 BenQ X-Touch 800
hhk Happy Hacking
classmate Classmate PC
olpc OLPC
sun_type7_usb Sun Type 7 USB
sun_type7_euro_usb Sun Type 7 USB (European)
sun_type7_unix_usb Sun Type 7 USB (Unix)
sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key
sun_type6_usb Sun Type 6/7 USB
sun_type6_euro_usb Sun Type 6/7 USB (European)
sun_type6_unix_usb Sun Type 6 USB (Unix)
sun_type6_jp_usb Sun Type 6 USB (Japanese)
sun_type6_jp Sun Type 6 (Japanese)
targa_v811 Targa Visionary 811
unitekkb1925 Unitek KB-1925
compalfl90 FL90
creativedw7000 Creative Desktop Wireless 7000
htcdream Htc Dream phone
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
! layout
us English (US)
af Afghani
ara Arabic
al Albanian
am Armenian
at German (Austria)
au English (Australian)
az Azerbaijani
by Belarusian
be Belgian
bd Bangla
in Indian
ba Bosnian
br Portuguese (Brazil)
bg Bulgarian
dz Berber (Algeria, Latin)
ma Arabic (Morocco)
cm English (Cameroon)
mm Burmese
ca French (Canada)
cd French (Democratic Republic of the Congo)
cn Chinese
hr Croatian
cz Czech
dk Danish
nl Dutch
bt Dzongkha
ee Estonian
ir Persian
iq Iraqi
fo Faroese
fi Finnish
fr French
gh English (Ghana)
gn French (Guinea)
ge Georgian
de German
gr Greek
hu Hungarian
is Icelandic
il Hebrew
it Italian
jp Japanese
kg Kyrgyz
kh Khmer (Cambodia)
kz Kazakh
la Lao
latam Spanish (Latin American)
lt Lithuanian
lv Latvian
mao Maori
me Montenegrin
mk Macedonian
mt Maltese
mn Mongolian
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
rs Serbian
si Slovenian
sk Slovak
es Spanish
se Swedish
ch German (Switzerland)
sy Arabic (Syria)
tj Tajik
lk Sinhala (phonetic)
th Thai
tr Turkish
tw Taiwanese
ua Ukrainian
gb English (UK)
uz Uzbek
vn Vietnamese
kr Korean
nec_vndr/jp Japanese (PC-98)
ie Irish
pk Urdu (Pakistan)
mv Dhivehi
za English (South Africa)
epo Esperanto
np Nepali
ng English (Nigeria)
et Amharic
sn Wolof
brai Braille
tm Turkmen
ml Bambara
tz Swahili (Tanzania)
tg French (Togo)
ke Swahili (Kenya)
bw Tswana
ph Filipino
md Moldavian
id Indonesian (Jawi)
my Malay (Jawi, Arabic Keyboard)
! variant
chr us: Cherokee
euro us: English (US, euro on 5)
intl us: English (US, intl., with dead keys)
alt-intl us: English (US, alt. intl.)
colemak us: English (Colemak)
dvorak us: English (Dvorak)
dvorak-intl us: English (Dvorak, intl., with dead keys)
dvorak-alt-intl us: English (Dvorak, alt. intl.)
dvorak-l us: English (Dvorak, left-handed)
dvorak-r us: English (Dvorak, right-handed)
dvorak-classic us: English (classic Dvorak)
dvp us: English (programmer Dvorak)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply keys toggle the layout)
hbs us: Serbo-Croatian (US)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
olpc-ps af: Pashto (Afghanistan, OLPC)
fa-olpc af: Persian (Afghanistan, Dari OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY/digits)
digits ara: Arabic (digits)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (qwerty/digits)
buckwalter ara: Arabic (Buckwalter)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
phonetic am: Armenian (phonetic)
phonetic-alt am: Armenian (alt. phonetic)
eastern am: Armenian (eastern)
western am: Armenian (western)
eastern-alt am: Armenian (alt. eastern)
nodeadkeys at: German (Austria, no dead keys)
sundeadkeys at: German (Austria, with Sun dead keys)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (alt., Latin-9 only)
oss_sundeadkeys be: Belgian (alt., with Sun dead keys)
iso-alternate be: Belgian (alt. ISO)
nodeadkeys be: Belgian (no dead keys)
sundeadkeys be: Belgian (with Sun dead keys)
wang be: Belgian (Wang 724 AZERTY)
probhat bd: Bangla (Probhat)
ben in: Bangla (India)
ben_probhat in: Bangla (India, Probhat)
ben_baishakhi in: Bangla (India, Baishakhi)
ben_bornona in: Bangla (India, Bornona)
ben_gitanjali in: Bangla (India, Uni Gitanjali)
ben_inscript in: Bangla (India, Baishakhi Inscript)
eeyek in: Manipuri (Eeyek)
guj in: Gujarati
guru in: Punjabi (Gurmukhi)
jhelum in: Punjabi (Gurmukhi Jhelum)
kan in: Kannada
kan-kagapa in: Kannada (KaGaPa phonetic)
mal in: Malayalam
mal_lalitha in: Malayalam (Lalitha)
mal_enhanced in: Malayalam (enhanced Inscript, with rupee)
ori in: Oriya
olck in: Ol Chiki
tam_unicode in: Tamil (Unicode)
tam_keyboard_with_numerals in: Tamil (keyboard with numerals)
tam_TAB in: Tamil (TAB typewriter)
tam_TSCII in: Tamil (TSCII typewriter)
tam in: Tamil
tel in: Telugu
tel-kagapa in: Telugu (KaGaPa phonetic)
tel-sarala in: Telugu (Sarala)
urd-phonetic in: Urdu (phonetic)
urd-phonetic3 in: Urdu (alt. phonetic)
urd-winkeys in: Urdu (Win keys)
bolnagri in: Hindi (Bolnagri)
hin-wx in: Hindi (Wx)
hin-kagapa in: Hindi (KaGaPa phonetic)
san-kagapa in: Sanskrit (KaGaPa phonetic)
mar-kagapa in: Marathi (KaGaPa phonetic)
eng in: English (India, with rupee)
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US, with Bosnian letters)
nodeadkeys br: Portuguese (Brazil, no dead keys)
dvorak br: Portuguese (Brazil, Dvorak)
nativo br: Portuguese (Brazil, Nativo)
nativo-us br: Portuguese (Brazil, Nativo for US keyboards)
nativo-epo br: Esperanto (Brazil, Nativo)
thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad)
phonetic bg: Bulgarian (traditional phonetic)
bas_phonetic bg: Bulgarian (new phonetic)
ber dz: Berber (Algeria, Tifinagh)
ar dz: Arabic (Algeria)
french ma: French (Morocco)
tifinagh ma: Berber (Morocco, Tifinagh)
tifinagh-alt ma: Berber (Morocco, Tifinagh alt.)
tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh alt. phonetic)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY)
azerty cm: Cameroon Multilingual (AZERTY)
dvorak cm: Cameroon Multilingual (Dvorak)
mmuock cm: Mmuock
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian Multilingual
multi ca: Canadian Multilingual (1st part)
multi-2gr ca: Canadian Multilingual (2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US, with Croatian letters)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
ucw cz: Czech (UCW, only accented letters)
dvorak-ucw cz: Czech (US, Dvorak, UCW support)
rus cz: Russian (Czech, phonetic)
nodeadkeys dk: Danish (no dead keys)
winkeys dk: Danish (Win keys)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
sundeadkeys nl: Dutch (with Sun dead keys)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US, with Estonian letters)
pes_keypad ir: Persian (with Persian keypad)
ku ir: Kurdish (Iran, Latin Q)
ku_f ir: Kurdish (Iran, F)
ku_alt ir: Kurdish (Iran, Latin Alt-Q)
ku_ara ir: Kurdish (Iran, Arabic-Latin)
ku iq: Kurdish (Iraq, Latin Q)
ku_f iq: Kurdish (Iraq, F)
ku_alt iq: Kurdish (Iraq, Latin Alt-Q)
ku_ara iq: Kurdish (Iraq, Arabic-Latin)
nodeadkeys fo: Faroese (no dead keys)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
winkeys fi: Finnish (Winkeys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
sundeadkeys fr: French (with Sun dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
oss_sundeadkeys fr: French (alt., with Sun dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
latin9_sundeadkeys fr: French (legacy, alt., with Sun dead keys)
bepo fr: French (Bepo, ergonomic, Dvorak way)
bepo_latin9 fr: French (Bepo, ergonomic, Dvorak way, Latin-9 only)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
generic gh: English (Ghana, multilingual)
akan gh: Akan
ewe gh: Ewe
fula gh: Fula
ga gh: Ga
hausa gh: Hausa (Ghana)
avn gh: Avatime
gillbt gh: English (Ghana, GILLBT)
ergonomic ge: Georgian (ergonomic)
mess ge: Georgian (MESS)
ru ge: Russian (Georgia)
os ge: Ossetian (Georgia)
deadacute de: German (dead acute)
deadgraveacute de: German (dead grave acute)
nodeadkeys de: German (no dead keys)
T3 de: German (T3)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
sundeadkeys de: German (with Sun dead keys)
neo de: German (Neo 2)
mac de: German (Macintosh)
mac_nodeadkeys de: German (Macintosh, no dead keys)
dsb de: Lower Sorbian
dsb_qwertz de: Lower Sorbian (QWERTZ)
qwerty de: German (QWERTY)
tr de: Turkish (Germany)
ru de: Russian (Germany, phonetic)
deadtilde de: German (dead tilde)
simple gr: Greek (simple)
extended gr: Greek (extended)
nodeadkeys gr: Greek (no dead keys)
polytonic gr: Greek (polytonic)
standard hu: Hungarian (standard)
nodeadkeys hu: Hungarian (no dead keys)
qwerty hu: Hungarian (QWERTY)
101_qwertz_comma_dead hu: Hungarian (101/QWERTZ/comma/dead keys)
101_qwertz_comma_nodead hu: Hungarian (101/QWERTZ/comma/no dead keys)
101_qwertz_dot_dead hu: Hungarian (101/QWERTZ/dot/dead keys)
101_qwertz_dot_nodead hu: Hungarian (101/QWERTZ/dot/no dead keys)
101_qwerty_comma_dead hu: Hungarian (101/QWERTY/comma/dead keys)
101_qwerty_comma_nodead hu: Hungarian (101/QWERTY/comma/no dead keys)
101_qwerty_dot_dead hu: Hungarian (101/QWERTY/dot/dead keys)
101_qwerty_dot_nodead hu: Hungarian (101/QWERTY/dot/no dead keys)
102_qwertz_comma_dead hu: Hungarian (102/QWERTZ/comma/dead keys)
102_qwertz_comma_nodead hu: Hungarian (102/QWERTZ/comma/no dead keys)
102_qwertz_dot_dead hu: Hungarian (102/QWERTZ/dot/dead keys)
102_qwertz_dot_nodead hu: Hungarian (102/QWERTZ/dot/no dead keys)
102_qwerty_comma_dead hu: Hungarian (102/QWERTY/comma/dead keys)
102_qwerty_comma_nodead hu: Hungarian (102/QWERTY/comma/no dead keys)
102_qwerty_dot_dead hu: Hungarian (102/QWERTY/dot/dead keys)
102_qwerty_dot_nodead hu: Hungarian (102/QWERTY/dot/no dead keys)
Sundeadkeys is: Icelandic (with Sun dead keys)
nodeadkeys is: Icelandic (no dead keys)
mac_legacy is: Icelandic (Macintosh, legacy)
mac is: Icelandic (Macintosh)
dvorak is: Icelandic (Dvorak)
lyx il: Hebrew (lyx)
phonetic il: Hebrew (phonetic)
biblical il: Hebrew (Biblical, Tiro)
nodeadkeys it: Italian (no dead keys)
winkeys it: Italian (Winkeys)
mac it: Italian (Macintosh)
us it: Italian (US, with Italian letters)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
kana jp: Japanese (Kana)
kana86 jp: Japanese (Kana 86)
OADG109A jp: Japanese (OADG 109A)
mac jp: Japanese (Macintosh)
dvorak jp: Japanese (Dvorak)
phonetic kg: Kyrgyz (phonetic)
ruskaz kz: Russian (Kazakhstan, with Kazakh)
kazrus kz: Kazakh (with Russian)
ext kz: Kazakh (extended)
stea la: Lao (STEA proposed standard layout)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
sundeadkeys latam: Spanish (Latin American, with Sun dead keys)
dvorak latam: Spanish (Latin American, Dvorak)
std lt: Lithuanian (standard)
us lt: Lithuanian (US, with Lithuanian letters)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
apostrophe lv: Latvian (apostrophe)
tilde lv: Latvian (tilde)
fkey lv: Latvian (F)
modern lv: Latvian (modern)
ergonomic lv: Latvian (ergonomic, ŪGJRMV)
adapted lv: Latvian (adapted)
cyrillic me: Montenegrin (Cyrillic)
cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped)
latinunicode me: Montenegrin (Latin, Unicode)
latinyz me: Montenegrin (Latin, QWERTY)
latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY)
cyrillicalternatequotes me: Montenegrin (Cyrillic with guillemets)
latinalternatequotes me: Montenegrin (Latin with guillemets)
nodeadkeys mk: Macedonian (no dead keys)
us mt: Maltese (with US layout)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Win keys)
dvorak no: Norwegian (Dvorak)
smi no: Northern Saami (Norway)
smi_nodeadkeys no: Northern Saami (Norway, no dead keys)
mac no: Norwegian (Macintosh)
mac_nodeadkeys no: Norwegian (Macintosh, no dead keys)
colemak no: Norwegian (Colemak)
legacy pl: Polish (legacy)
qwertz pl: Polish (QWERTZ)
dvorak pl: Polish (Dvorak)
dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key)
dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1)
csb pl: Kashubian
szl pl: Silesian
ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak)
dvp pl: Polish (programmer Dvorak)
nodeadkeys pt: Portuguese (no dead keys)
sundeadkeys pt: Portuguese (with Sun dead keys)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
mac_sundeadkeys pt: Portuguese (Macintosh, with Sun dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
cedilla ro: Romanian (cedilla)
std ro: Romanian (standard)
std_cedilla ro: Romanian (standard cedilla)
winkeys ro: Romanian (Win keys)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, with Win keys)
typewriter ru: Russian (typewriter)
legacy ru: Russian (legacy)
typewriter-legacy ru: Russian (typewriter, legacy)
tt ru: Tatar
os_legacy ru: Ossetian (legacy)
os_winkeys ru: Ossetian (Win keys)
cv ru: Chuvash
cv_latin ru: Chuvash (Latin)
udm ru: Udmurt
kom ru: Komi
sah ru: Yakut
xal ru: Kalmyk
dos ru: Russian (DOS)
mac ru: Russian (Macintosh)
srp ru: Serbian (Russia)
bak ru: Bashkirian
chm ru: Mari
phonetic_azerty ru: Russian (phonetic, AZERTY)
phonetic_dvorak ru: Russian (phonetic, Dvorak)
phonetic_fr ru: Russian (phonetic, French)
yz rs: Serbian (Cyrillic, ZE and ZHE swapped)
latin rs: Serbian (Latin)
latinunicode rs: Serbian (Latin, Unicode)
latinyz rs: Serbian (Latin, QWERTY)
latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY)
alternatequotes rs: Serbian (Cyrillic with guillemets)
latinalternatequotes rs: Serbian (Latin with guillemets)
rue rs: Pannonian Rusyn
alternatequotes si: Slovenian (with guillemets)
us si: Slovenian (US, with Slovenian letters)
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Win keys)
deadtilde es: Spanish (dead tilde)
sundeadkeys es: Spanish (with Sun dead keys)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and bottom-dot L)
cat es: Catalan (Spain, with middle-dot L)
mac es: Spanish (Macintosh)
nodeadkeys se: Swedish (no dead keys)
dvorak se: Swedish (Dvorak)
rus se: Russian (Sweden, phonetic)
rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys)
smi se: Northern Saami (Sweden)
mac se: Swedish (Macintosh)
svdvorak se: Swedish (Svdvorak)
us_dvorak se: Swedish (based on US Intl. Dvorak)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
de_sundeadkeys ch: German (Switzerland, with Sun dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no dead keys)
fr_sundeadkeys ch: French (Switzerland, with Sun dead keys)
fr_mac ch: French (Switzerland, Macintosh)
de_mac ch: German (Switzerland, Macintosh)
syc sy: Syriac
syc_phonetic sy: Syriac (phonetic)
ku sy: Kurdish (Syria, Latin Q)
ku_f sy: Kurdish (Syria, F)
ku_alt sy: Kurdish (Syria, Latin Alt-Q)
legacy tj: Tajik (legacy)
tam_unicode lk: Tamil (Sri Lanka, Unicode)
tam_TAB lk: Tamil (Sri Lanka, TAB Typewriter)
us lk: Sinhala (US, with Sinhala letters)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
sundeadkeys tr: Turkish (with Sun dead keys)
ku tr: Kurdish (Turkey, Latin Q)
ku_f tr: Kurdish (Turkey, F)
ku_alt tr: Kurdish (Turkey, Latin Alt-Q)
intl tr: Turkish (intl., with dead keys)
crh tr: Crimean Tatar (Turkish Q)
crh_f tr: Crimean Tatar (Turkish F)
crh_alt tr: Crimean Tatar (Turkish Alt-Q)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Win keys)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
extd gb: English (UK, extended, with Win keys)
intl gb: English (UK, intl., with dead keys)
dvorak gb: English (UK, Dvorak)
dvorakukp gb: English (UK, Dvorak, with UK punctuation)
mac gb: English (UK, Macintosh)
mac_intl gb: English (UK, intl., Macintosh)
colemak gb: English (UK, Colemak)
latin uz: Uzbek (Latin)
kr104 kr: Korean (101/104 key compatible)
CloGaelach ie: CloGaelach
UnicodeExpert ie: Irish (UnicodeExpert)
ogam ie: Ogham
ogam_is434 ie: Ogham (IS434)
urd-crulp pk: Urdu (Pakistan, CRULP)
urd-nla pk: Urdu (Pakistan, NLA)
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (displaced semicolon and quote, obsolete)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
right_hand brai: Braille (right-handed)
alt tm: Turkmen (Alt-Q)
fr-oss ml: French (Mali, alt.)
us-mac ml: English (Mali, US, Macintosh)
us-intl ml: English (Mali, US, intl.)
kik ke: Kikuyu
qwerty-bay ph: Filipino (QWERTY, Baybayin)
capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin)
capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin)
capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin)
capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin)
colemak ph: Filipino (Colemak, Latin)
colemak-bay ph: Filipino (Colemak, Baybayin)
dvorak ph: Filipino (Dvorak, Latin)
dvorak-bay ph: Filipino (Dvorak, Baybayin)
gag md: Moldavian (Gagauz)
phonetic my: Malay (Jawi, phonetic)
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Left Win (while pressed)
grp:win_switch Any Win (while pressed)
grp:menu_switch Menu (while pressed), Shift+Menu for Menu
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout
grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout
grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift together
grp:alts_toggle Both Alt together
grp:ctrls_toggle Both Ctrl together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout
grp:lctrl_lwin_toggle Left Ctrl+Left Win
lv3 Key to choose the 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt Right Alt never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch &lt;Less/Greater&gt;
lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser
lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser
lv3:lsgt_switch_latch &lt;Less/Greater&gt;; acts as onetime lock when pressed together with another 3rd level chooser
ctrl Ctrl position
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl
ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl
ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl
ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt
grp_led Use keyboard LED to show alternative layout
grp_led:num Num Lock
grp_led:caps Caps Lock
grp_led:scroll Scroll Lock
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode additions (arrows and math operators)
keypad:future Unicode additions (arrows and math operators; math operators on default level)
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode additions (arrows and math operators)
keypad:future_wang Wang 724 keypad with Unicode additions (arrows and math operators; math operators on default level)
keypad:hex Hexadecimal
keypad:atm ATM/phone-style
kpdl Numeric keypad Delete behavior
kpdl:dot Legacy key with dot
kpdl:comma Legacy key with comma
kpdl:dotoss Four-level key with dot
kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only
kpdl:commaoss Four-level key with comma
kpdl:momayyezoss Four-level key with momayyez
kpdl:kposs Four-level key with abstract separators
kpdl:semi Semicolon on third level
caps Caps Lock behavior
caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock
caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock
caps:capslock Caps Lock toggles normal capitalization of alphabetic characters
caps:shiftlock Caps Lock toggles ShiftLock (affects all keys)
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:backspace Make Caps Lock an additional Backspace
caps:super Make Caps Lock an additional Super
caps:hyper Make Caps Lock an additional Hyper
caps:menu Make Caps Lock an additional Menu key
caps:numlock Make Caps Lock an additional Num Lock
caps:ctrl_modifier Caps Lock is also a Ctrl
caps:none Caps Lock is disabled
altwin Alt/Win key behavior
altwin:menu Add the standard behavior to Menu key
altwin:meta_alt Alt and Meta are on Alt
altwin:alt_win Alt is mapped to Win and the usual Alt
altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl keys
altwin:ctrl_alt_win Ctrl is mapped to Alt; Alt is mapped to Win
altwin:meta_win Meta is mapped to Win
altwin:left_meta_win Meta is mapped to Left Win
altwin:hyper_win Hyper is mapped to Win
altwin:alt_super_win Alt is mapped to Right Win, Super to Menu
altwin:swap_lalt_lwin Left Alt is swapped with Left Win
altwin:swap_alt_win Alt is swapped with Win
altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win
Compose key Position of Compose key
compose:ralt Right Alt
compose:lwin Left Win
compose:lwin-altgr 3rd level of Left Win
compose:rwin Right Win
compose:rwin-altgr 3rd level of Right Win
compose:menu Menu
compose:menu-altgr 3rd level of Menu
compose:lctrl Left Ctrl
compose:lctrl-altgr 3rd level of Left Ctrl
compose:rctrl Right Ctrl
compose:rctrl-altgr 3rd level of Right Ctrl
compose:caps Caps Lock
compose:caps-altgr 3rd level of Caps Lock
compose:102 &lt;Less/Greater&gt;
compose:102-altgr 3rd level of &lt;Less/Greater&gt;
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat Miscellaneous compatibility options
numpad:pc Default numeric keypad keys
numpad:mac Numeric keypad always enters digits (as in macOS)
numpad:microsoft Num Lock on: digits; Shift for arrow keys. Num Lock off: arrow keys (as in Windows)
numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead
srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server
apple:alupckeys Apple Aluminium: emulate PC keys (PrtSc, Scroll Lock, Pause, Num Lock)
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
shift:both_capslock Both Shift together enable Caps Lock
shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it
shift:both_shiftlock Both Shift together enable Shift Lock
keypad:pointerkeys Shift + Num Lock enables PointerKeys
grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk)
grab:debug Allow grab and window tree logging
currencysign Adding currency signs to certain keys
eurosign:e Euro on E
eurosign:2 Euro on 2
eurosign:4 Euro on 4
eurosign:5 Euro on 5
rupeesign:4 Rupee on 4
lv5 Key to choose 5th level
lv5:lsgt_switch_lock &lt;Less/Greater&gt; chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level; acts as onetime lock when pressed together with another 5th level chooser
nbsp Using space key to input non-breaking space
nbsp:none Usual space at any level
nbsp:level2 Non-breaking space at the 2nd level
nbsp:level3 Non-breaking space at the 3rd level
nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level
nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:level4 Non-breaking space at the 4th level
nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level
nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)
nbsp:zwnj2 Zero-width non-joiner at the 2nd level
nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level
nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level
nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level
nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level
nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level
nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level
nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level
japan Japanese keyboard options
japan:kana_lock Kana Lock key is locking
japan:nicola_f_bs NICOLA-F style Backspace
japan:hztg_escape Make Zenkaku Hankaku an additional Esc
korean Korean Hangul/Hanja keys
korean:hw_keys Hardware Hangul/Hanja keys
korean:ralt_rctrl Right Alt as Hangul, right Ctrl as Hanja
korean:rctrl_ralt Right Ctrl as Hangul, right Alt as Hanja
esperanto Adding Esperanto supersigned letters
esperanto:qwerty To the corresponding key in a QWERTY layout
esperanto:dvorak To the corresponding key in a Dvorak layout
esperanto:colemak To the corresponding key in a Colemak layout
solaris Maintain key compatibility with old Solaris keycodes
solaris:sun_compat Sun Key compatibility
terminate Key sequence to kill the X server
terminate:ctrl_alt_bksp Ctrl+Alt+Backspace

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
//
// Rules for resolving XKB components for use with XFree86
// Copyright 1996 by Joseph Moss
//
! model = keycodes geometry
pc98 = xfree98(pc98) nec(pc98)
jp106 = xfree98(jp106) pc(jp106)
! model layout = symbols
pc98 nec_vndr/jp = nec_vndr/jp(pc98)
jp106 jp = jp
! model layout = compat types
* * = complete complete
! option = symbols
grp:switch = +group(switch)
grp:toggle = +group(toggle)
grp:shift_toggle = +group(shifts_toggle)
grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
ctrl:nocaps = +ctrl(nocaps)
ctrl:lctrl_meta = +ctrl(lctrl_meta)
ctrl:swapcaps = +ctrl(swapcaps)
ctrl:ctrl_ac = +ctrl(ctrl_ac)
ctrl:ctrl_aa = +ctrl(ctrl_aa)

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Description: XKB configuration file DTD
Author: Sergey V. Udaltsov
-->
<!ELEMENT xkbConfigRegistry (modelList,layoutList,optionList)>
<!ATTLIST xkbConfigRegistry
version CDATA "1.1">
<!ELEMENT modelList (model*)>
<!ELEMENT model (configItem)>
<!ELEMENT layoutList (layout*)>
<!ELEMENT layout (configItem,variantList?)>
<!ELEMENT optionList (group*)>
<!ELEMENT variantList (variant*)>
<!ELEMENT variant (configItem)>
<!ELEMENT group (configItem,option*)>
<!ATTLIST group
allowMultipleSelection (true|false) "false">
<!ELEMENT option (configItem)>
<!ELEMENT configItem (name,shortDescription*,description*,vendor?,countryList?,languageList?,hwList?)>
<!ATTLIST configItem
popularity (standard|exotic) "standard">
<!ELEMENT name (#PCDATA)>
<!ELEMENT shortDescription (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT vendor (#PCDATA)>
<!ELEMENT countryList (iso3166Id+)>
<!ELEMENT iso3166Id (#PCDATA)>
<!ELEMENT languageList (iso639Id+)>
<!ELEMENT iso639Id (#PCDATA)>
<!ELEMENT hwList (hwId+)>
<!ELEMENT hwId (#PCDATA)>

View File

@@ -0,0 +1,396 @@
//
// Keymap for the Afghan dari keybord layout
// Based on the specification "Computer Locale Requirements for
// Afghanstan" [1] from the "United Nations Development Programme
// Afghanistan" and the "Afghan Transitional Islamic
// Administration Ministry of Communications".
// [1] http://www.evertype.com/standards/af/
// For a MINI HOWTO see [2].
// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
//
// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Afghani";
key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
key <AD02> { [ Arabic_sad, Arabic_dammatan ] };
key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000655] };
key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, 0x10006d0 ] };
key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
key <BKSL> { [ backslash, bar, 0x100003f ] };
key <AB01> { [ Arabic_zah, Arabic_kaf, 0x10006d2] };
key <AB02> { [ Arabic_tah, 0x1000653 , 0x1000691 ] };
key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
key <AB04> { [ Arabic_ra, 0x1000670 , 0x1000693 ] };
key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688 ] };
key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
key <AB09> { [ period, less, 0x10006c7 ] };
key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
include "nbsp(zwnj2nb3)"
include "level3(ralt_switch)"
};
// Keymap for the Afghan pashto keybord layout
// Based on the specification "Computer Locale Requirements for
// Afghanstan" [1] from the "United Nations Development Programme
// Afghanistan"" and the "Afghan Transitional Islamic
// Administration Ministry of Communications".
// [1] http://www.evertype.com/standards/af/
// For a MINI HOWTO see [2].
// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
//
// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
partial alphanumeric_keys
xkb_symbols "ps" {
name[Group1]= "Pashto";
key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
key <AE07> { [ 0x10006f7, 0x10000bb, 0x1000026 ] };
key <AE08> { [ 0x10006f8, 0x10000ab, 0x1002022 ] };
key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
key <AD09> { [ Arabic_khah, 0x1000681, 0x1000027] };
key <AD10> { [ Arabic_hah, 0x1000685, 0x1000022] };
key <AD11> { [ Arabic_jeem, 0x100005d, 0x100007d ] };
key <AD12> { [ 0x1000686, 0x100005b, 0x100007b ] };
key <AC01> { [ Arabic_sheen, 0x100069a ] };
key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006d2 ] };
key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
key <AC04> { [ Arabic_beh, 0x100067e, 0x10006ba ] };
key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
key <AC07> { [ Arabic_teh, 0x100067c, 0x1000679 ] };
key <AC08> { [ Arabic_noon, 0x10006bc, 0x100003e ] };
key <AC09> { [ Arabic_meem, 0x1000629, 0x100003c ] };
key <AC10> { [ 0x10006a9, colon, 0x1000643 ] };
key <AC11> { [ 0x10006ab, Arabic_semicolon, 0x10006af ] };
key <BKSL> { [ backslash, 0x100002a, 0x100007c ] };
key <AB01> { [ 0x10006cd, 0x1000638, 0x100003f] };
key <AB02> { [ 0x10006d0, 0x1000637, 0x100003b ] };
key <AB03> { [ Arabic_zain, 0x1000698, 0x1000655 ] };
key <AB04> { [ Arabic_ra, 0x1000621, 0x1000654 ] };
key <AB05> { [ Arabic_thal, 0x100200c, 0x1000625 ] };
key <AB06> { [ Arabic_dal, 0x1000689, 0x1000688 ] };
key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] };
key <AB08> { [ Arabic_waw, 0x100060c, 0x100002c ] };
key <AB09> { [ 0x1000696, 0x100002e, 0x10006c7 ] };
key <AB10> { [ slash, Arabic_question_mark, 0x10006c9 ] };
include "nbsp(zwnj2nb3)"
include "level3(ralt_switch)"
};
// Keymap for the Afghan southern uzbek keybord layout
// Based on the specification "Computer Locale Requirements for
// Afghanstan" [1] from the "United Nations Development Programme
// Afghanistan"" and the "Afghan Transitional Islamic
// Administration Ministry of Communications".
// [1] http://www.evertype.com/standards/af/
// For a MINI HOWTO see [2].
// [2] http://www.afghanischerKulturverein.de/en/afghanComputer_en.php
//
// 2006-02-15 file created by M. Emal Alekozai <memala@gmx.net>
partial alphanumeric_keys
xkb_symbols "uz" {
name[Group1]= "Uzbek (Afghanistan)";
key <TLDE> { [ 0x100200d, 0x10000f7, dead_tilde ] };
key <AE01> { [ 0x10006f1, exclam, 0x1000060 ] };
key <AE02> { [ 0x10006f2, 0x100066c, 0x1000040 ] };
key <AE03> { [ 0x10006f3, 0x100066b, numbersign ] };
key <AE04> { [ 0x10006f4, 0x100e60b, 0x1000024] };
key <AE05> { [ 0x10006f5, 0x100066a, 0x1000025 ] };
key <AE06> { [ 0x10006f6, multiply, 0x100005e ] };
key <AE07> { [ 0x10006f7, Arabic_comma, 0x1000026 ] };
key <AE08> { [ 0x10006f8, asterisk, 0x1002022 ] };
key <AE09> { [ 0x10006f9, 0x1000029, 0x100200e ] };
key <AE10> { [ 0x10006f0, 0x1000028, 0x100200f ] };
key <AE11> { [ minus, Arabic_tatweel, 0x100005f ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] };
key <AD02> { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] };
key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] };
key <AD04> { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] };
key <AD05> { [ Arabic_feh, Arabic_damma, 0x100fd3f ] };
key <AD06> { [ Arabic_ghain, Arabic_kasra, 0x100e656] };
key <AD07> { [ Arabic_ain, Arabic_fatha, 0x100e659] };
key <AD08> { [ Arabic_heh, Arabic_shadda, 0x1000670] };
key <AD09> { [ Arabic_khah, bracketright, 0x1000027] };
key <AD10> { [ Arabic_hah, bracketleft, 0x1000022] };
key <AD11> { [ Arabic_jeem, braceright, 0x1000681 ] };
key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] };
key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] };
key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] };
key <AC03> { [ 0x10006cc, Arabic_yeh, 0x1000649 ] };
key <AC04> { [ Arabic_beh, 0x10006d0, 0x1000643 ] };
key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] };
key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] };
key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] };
key <AC08> { [ Arabic_noon, 0x10000bb, 0x10006bc ] };
key <AC09> { [ Arabic_meem, 0x10000ab, 0x10006ba ] };
key <AC10> { [ 0x10006a9, colon, 0x100003b ] };
key <AC11> { [ 0x10006af, Arabic_semicolon, 0x10006ab ] };
key <BKSL> { [ backslash, bar, 0x100003f ] };
key <AB01> { [ Arabic_zah, 0x10006c9, 0x10006d2] };
key <AB02> { [ Arabic_tah, 0x10006c7, 0x1000691 ] };
key <AB03> { [ Arabic_zain, 0x1000698, 0x1000696 ] };
key <AB04> { [ Arabic_ra, 0x1000625, 0x1000693 ] };
key <AB05> { [ Arabic_thal, 0x100200c, 0x1000688 ] };
key <AB06> { [ Arabic_dal, 0x1000654, 0x1000689 ] };
key <AB07> { [ 0x100067e, Arabic_hamza, 0x1000679 ] };
key <AB08> { [ Arabic_waw, greater, 0x100002c ] };
key <AB09> { [ period, less ] };
key <AB10> { [ slash, Arabic_question_mark, 0x1000655 ] };
include "nbsp(zwnj2nb3)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "olpc-ps" {
name[Group1]= "Pashto (Afghanistan, OLPC)";
key <TLDE> { [ 0x100200D, 0x1000654, grave ] }; // zero width joiner, Arabic hamza above
key <AE01> { [ 0x10006F1, exclam, asciitilde ] }; // Arabic one
key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
key <AE07> { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven
key <AE08> { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star
key <AE09> { [ 0x10006F9, parenright, enfilledcircbullet ] }; // Arabic nine
key <AE10> { [ 0x10006F0, parenleft, degree ] }; // Arabic zero
key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
key <AE12> { [ equal, plus, division ] };
key <AD01> { [ 0x1000636, 0x1000652, EuroSign ] }; // Arabic dad, Arabic sukun
key <AD02> { [ 0x1000635, 0x100064C, 0x1000671 ] }; // Arabic sad, Arabic dammatan, Arabic alef walsa
key <AD03> { [ 0x100062B, 0x100064D, 0x1000649 ] }; // Arabic theh, Arabic kasratan, Arabic alef maksura initial form
key <AD04> { [ 0x1000642, 0x100064B, 0x100200E ] }; // Arabic qaf, Arabic fathatan, left-to-right mark
key <AD05> { [ 0x1000641, 0x100064F, 0x100200F ] }; // Arabic feh, Arabic damma, right-to-left mark
key <AD06> { [ 0x100063A, 0x1000650, 0x100e653 ] }; // Arabic ghain, Arabic kasra, Arabic alef with madda above
key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
key <AD09> { [ 0x100062E, 0x1000681, apostrophe ] }; // Arabic khah, Arabic hah with hamza above,
key <AD10> { [ 0x100062D, 0x1000685, quotedbl ] }; // Arabic hah, Arabic hah with three dots above
key <AD11> { [ 0x100062C, bracketright, braceleft ] }; // Arabic jeem
key <AD12> { [ 0x1000686, bracketleft, braceright ] }; // Arabic tcheh
key <AC01> { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above
key <AC02> { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail
key <AC03> { [ 0x10006CC, 0x100064A, 0x10006D2 ] }; // Farsi yeh, Arabic yeh, Arabic yeh barree
key <AC04> { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna
key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
key <AC06> { [ 0x1000627, 0x1000622, 0x1000625 ] }; // Arabic alef, Arabic madda on alef, Arabic alef with hamza below
key <AC07> { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh
key <AC08> { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring
key <AC09> { [ 0x1000645, 0x1000629, less ] }; // Arabic meem, Arabic teh marbuta
key <AC10> { [ 0x10006A9, colon, 0x1000643 ] }; // Arabic keheh, Arabic kaf
key <AC11> { [ 0x10006AB, 0x100061B, 0x10006AF ] }; // Arabic kaf with ring, Arabic semicolon, Arabic gaf
key <BKSL> { [ backslash, asterisk, bar ] };
key <AB01> { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above
key <AB02> { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E
key <AB03> { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh
key <AB04> { [ 0x1000631, 0x1000621 ] }; // Arabic_ra (reh?), Arabic hamza
key <AB05> { [ 0x1000630, 0x100200C ] }; // Arabic_thal, zero width non-joiner
key <AB06> { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic_dal, Arabic dal with ring, Arabic ddal
key <AB07> { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh
key <AB08> { [ 0x1000648, period, comma ] }; // Arabic_waw, Arabic comma
key <AB09> { [ 0x1000696, 0x100002E, 0x10006C7 ] }; // Arabic reh with dot below and dot above, full stop, Arabic letter U
key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
include "nbsp(zwnj2nb3)"
include "group(olpc)"
};
partial alphanumeric_keys
xkb_symbols "fa-olpc" {
name[Group1]= "Persian (Afghanistan, Dari OLPC)";
key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight,
key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
key <AE12> { [ equal, plus ] };
key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
key <AD02> { [ 0x1000635, 0x100064C ] }; // Arabic sad, Arabic dammatan
key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
key <AD08> { [ 0x1000647, 0x1000651, 0x1000655 ] }; // Arabic heh, Arabic shadda, Arabic hamza below
key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
key <AC04> { [ 0x1000628, 0x1000625, 0x10006D0 ] }; // Arabic beh, Arabic alef with hamza below, Arabic e
key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh,
key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
key <BKSL> { [ backslash, bar, question ] };
key <AB01> { [ 0x1000638, 0x1000643, 0x10006D2 ] }; // Arabic zah, Arabic kaf, Arabic yeh barree
key <AB02> { [ 0x1000637, 0x1000653, 0x1000691 ] }; // Arabic tah, Arabic maddah above, Arabic rreh
key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above
key <AB04> { [ 0x1000631, 0x1000670, 0x1000693 ] }; // Arabic_ra (reh?), Arabic superscript alef, Arabic reh with ring
key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic_thal, zero width non-joiner, Arabic ddal
key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic_waw
key <AB09> { [ period, less, 0x10006C7 ] }; // Arabic u
key <AB10> { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu
include "nbsp(zwnj2nb3)"
include "group(olpc)"
};
partial alphanumeric_keys
xkb_symbols "uz-olpc" {
name[Group1]= "Uzbek (Afghanistan, OLPC)";
key <TLDE> { [ 0x100200D, division, asciitilde ] }; // zero width joiner
key <AE01> { [ 0x10006F1, exclam, grave ] }; // Arabic one
key <AE02> { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator
key <AE03> { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator
key <AE04> { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign
key <AE05> { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign
key <AE06> { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six
key <AE07> { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma
key <AE08> { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight,
key <AE09> { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark
key <AE10> { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark
key <AE11> { [ minus, 0x1000640, underscore ] }; // Arabic_tatweel
key <AE12> { [ equal, plus ] };
key <AD01> { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun
key <AD02> { [ 0x1000635, 0x100064C, 0x1000653 ] }; // Arabic sad, Arabic dammatan, Arabic maddah above
key <AD03> { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan
key <AD04> { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren
key <AD05> { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren
key <AD06> { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef
key <AD07> { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay
key <AD08> { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef
key <AD09> { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah
key <AD10> { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah
key <AD11> { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above
key <AD12> { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above
key <AC01> { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above
key <AC02> { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail
key <AC03> { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura
key <AC04> { [ 0x1000628, 0x10006D0, 0x1000643 ] }; // Arabic beh, Arabic e, Arabic kaf
key <AC05> { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above
key <AC06> { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla
key <AC07> { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh
key <AC08> { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring
key <AC09> { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna
key <AC10> { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh,
key <AC11> { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring
key <BKSL> { [ backslash, bar, question ] };
key <AB01> { [ 0x1000638, 0x10006C9, 0x10006D2 ] }; // Arabic zah, Arabic kirghiz yu, Arabic yeh barree
key <AB02> { [ 0x1000637, 0x10006C7, 0x1000691 ] }; // Arabic tah, Arabic u, Arabic rreh
key <AB03> { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above
key <AB04> { [ 0x1000631, 0x1000625, 0x1000693 ] }; // Arabic_ra (reh?), Arabic alef with hamza below, Arabic reh with ring
key <AB05> { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic_thal, zero width non-joiner, Arabic ddal
key <AB06> { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring
key <AB07> { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh
key <AB08> { [ 0x1000648, greater, comma ] }; // Arabic_waw
key <AB09> { [ period, less ] };
key <AB10> { [ slash, 0x100061F, 0x1000655 ] }; // Arabic question mark, Arabic hamza below
include "nbsp(zwnj2nb3)"
include "group(olpc)"
};

View File

@@ -0,0 +1,110 @@
// based on
// albanian keyboard layout
// done by Pablo Saratxaga <pablo@mandrakesoft.com>
//
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type3)"
name[Group1]="Albanian";
key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
key <AE04> { [ 4, dollar, dead_breve, dollar ] };
key <AE05> { [ 5, percent, dead_abovering, threeeighths] };
key <AE06> { [ 6, asciicircum, dead_ogonek, fiveeighths ] };
key <AE07> { [ 7, ampersand, grave, dead_grave ] };
key <AE08> { [ 8, asterisk, dead_abovedot, trademark ] };
key <AE09> { [ 9, parenleft, dead_acute, plusminus ] };
key <AE10> { [ 0, parenright, dead_doubleacute, degree ] };
key <AE11> { [ minus, underscore, dead_diaeresis, questiondown] };
key <AD03> { [ e, E, EuroSign, EuroSign ] };
key <AD11> { [ ccedilla, Ccedilla, division, dead_abovering ] };
key <AD12> { [ at, apostrophe, multiply, dead_macron ] };
key <AC02> { [ s, S, dstroke, section ] };
key <AC03> { [ d, D, Dstroke, ETH ] };
key <AC10> { [ediaeresis, Ediaeresis, dollar, dead_doubleacute ] };
key <AC11> { [bracketleft, braceleft, ssharp, dead_caron ] };
key <TLDE> { [ backslash, bar, notsign, notsign ] };
key <BKSL> { [bracketright, braceright, currency, dead_breve ] };
key <AB08> { [ comma, semicolon, less, multiply ] };
key <AB09> { [ period, colon, greater, division ] };
key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
include "level3(ralt_switch)"
};
// Tastiera Plisi (plisi.org)
// by Getoar Mjeku <gm@getoar.com>
//
partial alphanumeric_keys
xkb_symbols "plisi" {
include "us"
name[Group1]= "Albanian (Plisi)";
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam, U2019 ] };
key <AE02> { [ 2, at, twosuperior ] };
key <AE03> { [ 3, numbersign, threesuperior ] };
key <AE04> { [ 4, dollar, EuroSign ] };
key <AE05> { [ 5, percent, exclamdown ] };
key <AE06> { [ 6, asciicircum, questiondown ] };
key <AE07> { [ 7, ampersand, braceleft ] };
key <AE08> { [ 8, asterisk, braceright ] };
key <AE09> { [ 9, parenleft, bracketleft ] };
key <AE10> { [ 0, parenright, bracketright ] };
key <AE11> { [ minus, underscore, U00AD ] };
key <AE12> { [ equal, plus, registered ] };
key <AD01> { [ q, Q, dead_grave ] };
key <AD02> { [ w, W, dead_caron ] };
key <AD03> { [ e, E, dead_circumflex ] };
key <AD04> { [ r, R, dead_diaeresis ] };
key <AD05> { [ t, T, dead_macron ] };
key <AD06> { [ y, Y, dead_doubleacute ] };
key <AD07> { [ u, U, dead_breve ] };
key <AD08> { [ i, I, dead_tilde, U0131 ] };
key <AD09> { [ o, O, dead_abovering ] };
key <AD10> { [ p, P, dead_abovedot ] };
key <AD11> { [ ccedilla, Ccedilla, dead_acute ] };
key <AD12> { [ greater, less, U031C ] };
key <AC01> { [ a, A, U2264 ] };
key <AC02> { [ s, S, U2265 ] };
key <AC03> { [ d, D, U2300 ] };
key <AC04> { [ f, F, U2032 ] };
key <AC05> { [ g, G, U2033 ] };
key <AC06> { [ h, H, section ] };
key <AC07> { [ j, J, dead_cedilla ] };
key <AC08> { [ k, K, dead_comma ] };
key <AC09> { [ l, L, dead_ogonek ] };
key <AC10> { [ ediaeresis, Ediaeresis, dead_belowdot ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <AB01> { [ z, Z, guillemotleft ] };
key <AB02> { [ x, X, guillemotright ] };
key <AB03> { [ c, C, copyright ] };
key <AB04> { [ v, V, U2039 ] };
key <AB05> { [ b, B, U203A ] };
key <AB06> { [ n, N, endash ] };
key <AB07> { [ m, M, emdash, U00B5 ] };
key <AB08> { [ comma, semicolon, U02BB ] };
key <AB09> { [ period, colon, U200C ] };
key <AB10> { [ slash, question, U2011 ] };
key <BKSL> { [ backslash, bar, U031B ] };
include "level3(ralt_switch)"
};

View File

@@ -0,0 +1,116 @@
// Meta is mapped to second level of Alt.
partial modifier_keys
xkb_symbols "meta_alt" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Meta_R ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
// modifier_map Mod4 {};
};
// Alt is mapped to the Super and the usual Alt.
partial modifier_keys
xkb_symbols "alt_win" {
key <LWIN> { [ Alt_L ] };
key <RWIN> { [ Alt_R ] };
modifier_map Mod1 { <LWIN>, <RWIN> };
};
// Ctrl is mapped to the Super and the usual Ctrl keys.
partial modifier_keys
xkb_symbols "ctrl_win" {
key <LWIN> { [ Control_L ] };
key <RWIN> { [ Control_R ] };
modifier_map Control { <LWIN>, <RWIN> };
};
// Ctrl is mapped to the Alt, Alt to the Super, and Win to the Ctrl keys.
partial modifier_keys
xkb_symbols "ctrl_alt_win" {
key <LALT> { [ Control_L, Control_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
key <LWIN> { [ Alt_L, Meta_L ] };
key <RWIN> { [ Alt_R, Meta_R ] };
key <LCTL> { [ Super_L ] };
key <RCTL> { [ Super_R ] };
modifier_map Control { <RALT>, <LALT> };
modifier_map Mod1 { <LWIN>, <RWIN> };
modifier_map Mod4 { <LCTL>, <RCTL> };
};
// Meta is mapped to the Super.
partial modifier_keys
xkb_symbols "meta_win" {
key <LALT> { [ Alt_L, Alt_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Alt_R ] };
key <LWIN> { [ Meta_L ] };
key <RWIN> { [ Meta_R ] };
modifier_map Mod1 { Alt_L, Alt_R };
modifier_map Mod4 { <META>, Meta_L, Meta_R };
};
// Meta is mapped to the left Win key.
partial modifier_keys
xkb_symbols "left_meta_win" {
key <LALT> { [ Alt_L, Alt_L ] };
key <LWIN> { [ Meta_L ] };
modifier_map Mod1 { Alt_L };
modifier_map Mod4 { <META>, Meta_L };
};
// Hyper is mapped to the Super.
partial modifier_keys
xkb_symbols "hyper_win" {
key <LWIN> { [ Hyper_L ] };
key <RWIN> { [ Hyper_R ] };
modifier_map Mod4 { Hyper_L, Hyper_R };
};
// Menu is mapped to the Menu key.
partial modifier_keys
xkb_symbols "menu" {
key <MENU> { [ Menu ] };
};
// Layout for Tux key caps with additional right Alt key
partial modifier_keys
xkb_symbols "alt_super_win" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RWIN> { [ Alt_R, Meta_R ] };
key <LWIN> { [ Super_L ]};
key <MENU> { [ Super_R ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
modifier_map Mod4 { Super_L, Super_R };
};
// Swap the Alt and Super.
partial modifier_keys
xkb_symbols "swap_alt_win" {
include "altwin(swap_lalt_lwin)"
include "altwin(swap_ralt_rwin)"
};
// Swap the left Alt and Super.
partial modifier_keys
xkb_symbols "swap_lalt_lwin" {
key <LALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_L ] };
key <LWIN> { [ Alt_L, Meta_L ] };
};
// Swap the right Alt and Super.
hidden partial modifier_keys
xkb_symbols "swap_ralt_rwin" {
key <RALT> { type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_R ] };
key <RWIN> { [ Alt_R, Meta_R ] };
};
// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
replace key <PRSC> { [ Super_R, Super_R ] };
modifier_map Mod4 { <PRSC>, <RWIN> };
};

View File

@@ -0,0 +1,243 @@
// based on a keyboard map from an 'xkb/symbols/am' file
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Armenian";
key <TLDE> { [ 0x100055d, 0x100055c ] };
key <LSGT> { [ question, 0x100058a ] };
key <BKSL> { [ guillemotright, guillemotleft]};
key <AE01> { [ 0x1000586, 0x1000556 ] };
key <AE02> { [ 0x1000571, 0x1000541 ] };
key <AE03> { [ 0x100058a, 0x1002014 ] };
key <AE04> { [ comma, dollar ] };
key <AE05> { [ 0x1000589, 0x1002026 ] };
key <AE06> { [ 0x100055e, percent ] };
key <AE07> { [ 0x1002024, 0x1000587 ] };
key <AE08> { [ 0x100055b, 0x10002bc ] };
key <AE09> { [ parenright, parenleft ] };
key <AE10> { [ 0x1000585, 0x1000555 ] };
key <AE11> { [ 0x1000567, 0x1000537 ] };
key <AE12> { [ 0x1000572, 0x1000542 ] };
key <AD01> { [ 0x1000573, 0x1000543 ] };
key <AD02> { [ 0x1000583, 0x1000553 ] };
key <AD03> { [ 0x1000562, 0x1000532 ] };
key <AD04> { [ 0x100057d, 0x100054d ] };
key <AD05> { [ 0x1000574, 0x1000544 ] };
key <AD06> { [ 0x1000578, 0x1000548 ] };
key <AD07> { [ 0x1000582, 0x1000552 ] };
key <AD08> { [ 0x100056f, 0x100053f ] };
key <AD09> { [ 0x1000568, 0x1000538 ] };
key <AD10> { [ 0x1000569, 0x1000539 ] };
key <AD11> { [ 0x100056e, 0x100053e ] };
key <AD12> { [ 0x1000581, 0x1000551 ] };
key <AC01> { [ 0x100057b, 0x100054b ] };
key <AC02> { [ 0x100057e, 0x100054e ] };
key <AC03> { [ 0x1000563, 0x1000533 ] };
key <AC04> { [ 0x1000565, 0x1000535 ] };
key <AC05> { [ 0x1000561, 0x1000531 ] };
key <AC06> { [ 0x1000576, 0x1000546 ] };
key <AC07> { [ 0x100056b, 0x100053b ] };
key <AC08> { [ 0x100057f, 0x100054f ] };
key <AC09> { [ 0x1000570, 0x1000540 ] };
key <AC10> { [ 0x100057a, 0x100054a ] };
key <AC11> { [ 0x1000580, 0x1000550 ] };
key <AB01> { [ 0x100056a, 0x100053a ] };
key <AB02> { [ 0x1000564, 0x1000534 ] };
key <AB03> { [ 0x1000579, 0x1000549 ] };
key <AB04> { [ 0x1000575, 0x1000545 ] };
key <AB05> { [ 0x1000566, 0x1000536 ] };
key <AB06> { [ 0x100056c, 0x100053c ] };
key <AB07> { [ 0x1000584, 0x1000554 ] };
key <AB08> { [ 0x100056d, 0x100053d ] };
key <AB09> { [ 0x1000577, 0x1000547 ] };
key <AB10> { [ 0x100057c, 0x100054c ] };
};
partial alphanumeric_keys
xkb_symbols "olpc" {
include "am(basic)"
include "group(olpc)"
};
xkb_symbols "phonetic" {
include "am(basic)"
name[Group1]= "Armenian (phonetic)";
key <BKSL> { [ 0x1000577, 0x1000547 ] };
key <AE01> { [ 0x1000567, 0x1000537 ] };
key <AE02> { [ 0x1000569, 0x1000539 ] };
key <AE03> { [ 0x1000583, 0x1000553 ] };
key <AE04> { [ 0x1000571, 0x1000541 ] };
key <AE05> { [ 0x100057b, 0x100054b ] };
key <AE06> { [ 0x1000582, 0x1000552 ] };
key <AE07> { [ 0x1000587, 0x100058f ] };
key <AE08> { [ 0x100057c, 0x100054c ] };
key <AE09> { [ 0x1000579, 0x1000549 ] };
key <AE10> { [ 0x1000573, 0x1000543 ] };
key <AE11> { [ 0x100058a, 0x1002015 ] };
key <AE12> { [ 0x100056a, 0x100053a ] };
key <LatQ> { [ 0x1000584, 0x1000554 ] };
key <LatW> { [ 0x1000578, 0x1000548 ] };
key <LatE> { [ 0x1000565, 0x1000535 ] };
key <LatR> { [ 0x1000580, 0x1000550 ] };
key <LatT> { [ 0x100057f, 0x100054f ] };
key <LatY> { [ 0x1000568, 0x1000538 ] };
key <LatU> { [ 0x1000582, 0x1000552 ] };
key <LatI> { [ 0x100056b, 0x100053b ] };
key <LatO> { [ 0x1000585, 0x1000555 ] };
key <LatP> { [ 0x100057a, 0x100054a ] };
key <AD11> { [ 0x100056d, 0x100053d ] };
key <AD12> { [ 0x100056e, 0x100053e ] };
key <LatA> { [ 0x1000561, 0x1000531 ] };
key <LatS> { [ 0x100057d, 0x100054d ] };
key <LatD> { [ 0x1000564, 0x1000534 ] };
key <LatF> { [ 0x1000586, 0x1000556 ] };
key <LatG> { [ 0x1000563, 0x1000533 ] };
key <LatH> { [ 0x1000570, 0x1000540 ] };
key <LatJ> { [ 0x1000575, 0x1000545 ] };
key <LatK> { [ 0x100056f, 0x100053f ] };
key <LatL> { [ 0x100056c, 0x100053c ] };
key <AC10> { [ semicolon, 0x1000589 ] };
key <AC11> { [ 0x100055b, 0x1000022 ] };
key <LatZ> { [ 0x1000566, 0x1000536 ] };
key <LatX> { [ 0x1000572, 0x1000542 ] };
key <LatC> { [ 0x1000581, 0x1000551 ] };
key <LatV> { [ 0x100057e, 0x100054e ] };
key <LatB> { [ 0x1000562, 0x1000532 ] };
key <LatN> { [ 0x1000576, 0x1000546 ] };
key <LatM> { [ 0x1000574, 0x1000544 ] };
key <AB08> { [ 0x100002C, 0x10000AB ] };
key <AB09> { [ 0x1002024, 0x10000BB ] };
key <AB10> { [ 0x100002F, 0x100055e ] };
};
partial alphanumeric_keys
xkb_symbols "phonetic-alt" {
include "am(phonetic)"
name[Group1]= "Armenian (alt. phonetic)";
key <AE08> { [ 0x1000580, 0x1000550 ] };
key <LatR> { [ 0x100057c, 0x100054c ] };
};
partial alphanumeric_keys
xkb_symbols "olpc-phonetic" {
include "am(phonetic-alt)"
name[Group1]= "Armenian (OLPC phonetic)";
include "group(olpc)"
};
partial alphanumeric_keys
xkb_symbols "eastern" {
name[Group1]="Armenian (eastern)";
// This is the closer phonetic transliteration for Eastern Armenian
// than the Windows XP layout for Eastern Armenian, which seems
// to have contained a bug, with the reversal of 'g' for keh and 'c' for gim.
// Also, AE01 (the colon) has been replaced with the Armenian_full_stop,
// and capital AE07 (ken) with the Armenian ligature ew.
key <TLDE> { [ Armenian_separation_mark, Armenian_exclam ] };
key <AE01> { [ Armenian_full_stop, KP_1 ] };
key <AE02> { [ Armenian_dza, Armenian_DZA ] };
key <AE03> { [ Armenian_hi, Armenian_HI ] };
key <AE04> { [ Armenian_accent, KP_3 ] };
key <AE05> { [ comma, KP_4 ] };
key <AE06> { [ minus, KP_9 ] };
key <AE07> { [ period, Armenian_ligature_ew ] };
key <AE08> { [ guillemotleft, parenleft ] };
key <AE09> { [ guillemotright, parenright ] };
key <AE10> { [ Armenian_o, Armenian_O ] };
key <AE11> { [ Armenian_ra, Armenian_RA ] };
key <AE12> { [ Armenian_zhe, Armenian_ZHE ] };
key <LatQ> { [ Armenian_khe, Armenian_KHE ] };
key <LatW> { [ Armenian_vyun, Armenian_VYUN ] };
key <LatE> { [ Armenian_e, Armenian_E ] };
key <LatR> { [ Armenian_re, Armenian_RE ] };
key <LatT> { [ Armenian_tyun, Armenian_TYUN ] };
key <LatY> { [ Armenian_yech, Armenian_YECH ] };
key <LatU> { [ Armenian_at, Armenian_AT ] };
key <LatI> { [ Armenian_ini, Armenian_INI ] };
key <LatO> { [ Armenian_vo, Armenian_VO ] };
key <LatP> { [ Armenian_pe, Armenian_PE ] };
key <AD11> { [ Armenian_cha, Armenian_CHA ] };
key <AD12> { [ Armenian_je, Armenian_JE ] };
key <BKSL> { [ apostrophe, Armenian_question ] };
key <LatA> { [ Armenian_ayb, Armenian_AYB ] };
key <LatS> { [ Armenian_se, Armenian_SE ] };
key <LatD> { [ Armenian_da, Armenian_DA ] };
key <LatF> { [ Armenian_fe, Armenian_FE ] };
key <LatG> { [ Armenian_gim, Armenian_GIM ] };
key <LatH> { [ Armenian_ho, Armenian_HO ] };
key <LatJ> { [ Armenian_tche, Armenian_TCHE ] };
key <LatK> { [ Armenian_ken, Armenian_KEN ] };
key <LatL> { [ Armenian_lyun, Armenian_LYUN ] };
key <AC10> { [ Armenian_to, Armenian_TO ] };
key <AC11> { [ Armenian_pyur, Armenian_PYUR ] };
key <LatZ> { [ Armenian_za, Armenian_ZA ] };
key <LatX> { [ Armenian_tso, Armenian_TSO ] };
key <LatC> { [ Armenian_ke, Armenian_KE ] };
key <LatV> { [ Armenian_vev, Armenian_VEV ] };
key <LatB> { [ Armenian_ben, Armenian_BEN ] };
key <LatN> { [ Armenian_nu, Armenian_NU ] };
key <LatM> { [ Armenian_men, Armenian_MEN ] };
key <AB08> { [ Armenian_sha, Armenian_SHA ] };
key <AB09> { [ Armenian_ghat, Armenian_GHAT ] };
key <AB10> { [ Armenian_tsa, Armenian_TSA ] };
};
partial alphanumeric_keys
xkb_symbols "western" {
include "am(eastern)"
name[Group1]="Armenian (western)";
// This is exactly the same layout for Western Armenian
// as in Windows XP, except:
// AE01 (the colon) has been replaced with the Armenian_full_stop and
// capital AE07 (ken) with the Armenian ligature ew
key <LatW> { [ Armenian_vev, Armenian_VEV ] };
key <LatT> { [ Armenian_da, Armenian_DA ] };
key <LatP> { [ Armenian_ben, Armenian_BEN ] };
key <LatD> { [ Armenian_tyun, Armenian_TYUN ] };
key <LatG> { [ Armenian_ken, Armenian_KEN ] };
key <LatK> { [ Armenian_ke, Armenian_KE ] };
key <LatC> { [ Armenian_gim, Armenian_GIM ] };
key <LatV> { [ Armenian_vyun, Armenian_VYUN ] };
key <LatB> { [ Armenian_pe, Armenian_PE ] };
};
partial alphanumeric_keys
xkb_symbols "eastern-alt" {
include "am(eastern)"
name[Group1]="Armenian (alt. eastern)";
// This replicates the Windows XP keyboard layout for Eastern
// Armenian exactly (including the bug), except:
// AE01 (the colon) has been replaced with the Armenian_full_stop and
// capital AE07 (ken) with the Armenian ligature ew
key <LatG> { [ Armenian_ke, Armenian_KE ] };
key <LatC> { [ Armenian_gim, Armenian_GIM ] };
};

View File

@@ -0,0 +1,617 @@
// EXTRAS:
//
// APL Keyboard Layouts
// This file supports:
// - The Sharp APL for Unix (SAX) layout
// - The IBM APL2 layout
// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout
// - The Dyalog APL layout - with additions for box drawing and commands
// Unicode APL table: http://aplwiki.com/UnicodeAplTable
// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A)
// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm
// Tim Nelson (this file's creator) says:
// This file does not deal with all the combining stuff -- I'm not an APL programmer,
// and am not quite sure what's needed here. However, it may be possible to get this
// working with dead keys and the like. Patches gratefully accepted.
// [Geoff Streeter: What has been done to is to support all of the APL overstrikes in the compose table]
// Some of the shift-key assignments may differ from the APL tradition. If
// that's not considered acceptable, it should be possible to remap the
// shift keys. I have striven, however, to ensure that the use of shift keys
// in these maps is at least self-consistent.
// I'm assuming that this will be used with another keyboard layout (ie. for
// your language), with a special shift key to use these maps.
// 2017-02-27 changed ¤ to ⌺, added ⊆
// 2012-09-26 changed "overbar" to macron which fixed some strangeness in xterm
// 2011-12-22 Geoff Streeter: geoff@dyalog.com
// Added the Dyalog support.
// Corrected (what he thinks) are some errors.
// Resolving the confusion between APL's and Unicode's concept of Left and Right tacks.
// Unsure about some of the inheritance from APL2 into APLPLUS. Patches welcome.
// Complied with freedesktop.org requirement that the keycodes be in sorted order. Which
// leads to the bottom to top (roughly) definitions.
// default layout seems to have to be the first one. Choosing the basic Dyalog layout is definitely
// better than using the "common" one. Choosing the complete Dyalog layout is not useful to non-Dyalog
// users.
default partial alphanumeric_keys
xkb_symbols "basic" {
include "apl(dyalog_base)" // forward reference good APL keyboard without Dyalogs extras
};
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// │ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ │ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ │ │ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ │ │ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial hidden alphanumeric_keys
xkb_symbols "common" {
name[Group1]= "APL";
key <AB01> { [ U2282 ] }; // Z: ⊂ -- Subset Of
key <AB02> { [ U2283 ] }; // X: ⊃ -- Superset Of
key <AB03> { [ U2229 ] }; // C: ∩ -- Intersection
key <AB04> { [ U222A ] }; // V: -- Union
key <AB05> { [ U22A5 ] }; // B: ⊥ -- Up Tack
key <AB06> { [ U22A4 ] }; // N: -- Down Tack
key <AB07> { [ U007C ] }; // M: | -- Vertical Line
key <AC01> { [ U237A ] }; // A: -- APL Functional Symbol Alpha
key <AC02> { [ U2308 ] }; // S: ⌈ -- Left Ceiling
key <AC03> { [ U230A ] }; // D: ⌊ -- Left Floor
key <AC04> { [ underscore ] }; // F:
key <AC05> { [ U2207 ] }; // G: ∇ -- Nabla
key <AC06> { [ U2206 ] }; // H: ∆ -- Increment
key <AC07> { [ U2218 ] }; // J: ∘ -- Ring Operator
key <AC08> { [ apostrophe ] }; // K:
key <AC09> { [ U2395 ] }; // L: ⎕ -- APL Functional Symbol Quad
key <AD01> { [ question ] }; // Q:
key <AD02> { [ U2375 ] }; // W: ⍵ -- APL Functional Symbol Omega
key <AD03> { [ U220A ] }; // E: ∊ -- Small Element Of
key <AD04> { [ U2374 ] }; // R: -- APL Functional Symbol Rho
key <AD05> { [ asciitilde ] }; // T:
key <AD06> { [ U2191 ] }; // Y: ↑ -- Upwards Arrow
key <AD07> { [ U2193 ] }; // U: ↓ -- Downwards Arrow
key <AD08> { [ U2373 ] }; // I: -- APL Functional Symbol Iota
key <AD09> { [ U25CB ] }; // O: ○ -- White Circle
key <AD10> { [ asterisk ] }; // P: * -- asterisk
key <AD11> { [ U2190 ] }; // [: ← -- Leftwards Arrow
key <AE01> { [ diaeresis ] };
key <AE02> { [ macron ] }; // ¯ -- Macron
key <AE03> { [ less ] };
key <AE04> { [ U2264 ] }; // ≤ -- Less-than Or Equal To
key <AE05> { [ equal ] };
key <AE06> { [ U2265 ] }; // ≥ -- Greater-than Or Equal To
key <AE07> { [ greater ] };
key <AE08> { [ U2260 ] }; // ≠ -- Not Equal To
key <AE09> { [ U2228 ] }; // -- Logical Or
key <AE10> { [ U2227 ] }; // ∧ -- Logical And
};
// Keys common to a number of keyboards that allow normal language usage alongside APL
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ │ │ │ │ │ │ │ │ ⍱ │ ⍲ │ │ ⌹ ┃ ┃
// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ × │ ÷ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ → ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ │ │ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ │ │ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "unified" {
name[Group1]= "APL Keyboard Symbols: Unified Layout";
include "apl(common)"
key <AD12> { [ U2192 ] }; // ]: → -- Rightwards Arrow
key <AE09> { [ NoSymbol, U2371 ] }; // 9: ⍱ -- APL Functional Symbol Down Caret Tilde
key <AE10> { [ NoSymbol, U2372 ] }; // 0: ⍲ -- APL Functional Symbol Up Caret Tilde
key <AE11> { [ U00D7 ] }; // -: × -- Multiplication Sign
key <AE12> { [ U00F7, U2339 ] }; // =: ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide
key <TLDE> { [ U22C4 ] }; // `: ⋄ -- Diamond Operator
};
// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ ¡ │ │ │ ¢ │ │ │ │ ⍂ │ ⍱ │ ⍲ │ ≡ │ ⌹ ┃ ┃
// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ × │ ÷ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ ¿ │ ⌽ │ ⍷ │ │ ⍉ │ │ │ ⍸ │ ⍥ │ ⍣ │ │ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ → ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ ⊖ │ │ │ ⍫ │ ⍒ │ ⍋ │ ⍤ │ ⌻ │ ⍞ │ │ │ ⍀ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⊢ │ ⊣ │ ⍝ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ ⍝ │ │ ⍎ │ ⍕ │ ⌶ │ ⍪ │ ⍙ │ ⌿ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ ⍞ │ ⍎ │ ⍕ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "sax" {
name[Group1]= "APL Keyboard Symbols: sax";
include "apl(unified)"
key <AB03> { [ NoSymbol, U235D ] }; // C: ⍝ -- APL Functional Symbol Up Shoe Jot
key <AB05> { [ NoSymbol, U234E ] }; // B: ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack")
key <AB06> { [ NoSymbol, U2355 ] }; // N: ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack")
key <AB07> { [ NoSymbol, U2336 ] }; // M: ⌶ -- APL Functional Symbol I-Beam
key <AB08> { [ U235E, U236A ] }; // ,: ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar
key <AB09> { [ U234E, U2359 ] }; // .: ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar
key <AB10> { [ U2355, U233F ] }; // /: ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar
key <AC01> { [ NoSymbol, U2296 ] }; // A: ⊖ -- Circled Minus
key <AC04> { [ NoSymbol, U236B ] }; // F: ⍫ -- APL Functional Symbol Del Tilde
key <AC05> { [ NoSymbol, U2352 ] }; // G: ∇ ⍒ -- APL Functional Symbol Del Stile
key <AC06> { [ NoSymbol, U234B ] }; // H: ∆ ⍋ -- APL Functional Symbol Delta Stile
key <AC07> { [ NoSymbol, U2364 ] }; // J: ⍤ -- APL Functional Symbol Jot Diaeresis
key <AC08> { [ NoSymbol, U233B ] }; // K: ⌻
key <AC09> { [ NoSymbol, U235E ] }; // L: ⍞ -- APL Functional Symbol Quote Quad
key <AC10> { [ U22A2 ] }; // ;: ⊢ -- Right Tack
key <AC11> { [ U22A3 ] }; // ': ⊣ -- Left Tack
key <AD01> { [ NoSymbol, U00BF ] }; // Q: ¿ -- Inverted Question Mark
key <AD02> { [ NoSymbol, U233D ] }; // W: ⌽ -- APL Functional Symbol Circle Stile
key <AD03> { [ NoSymbol, U2377 ] }; // E: ⍷ -- APL Functional Symbol Epsilon Underbar
key <AD05> { [ NoSymbol, U2349 ] }; // T: ⍉ -- APL Functional Symbol Circle Backslash
key <AD08> { [ NoSymbol, U2378 ] }; // I: ⍸ -- APL Functional Symbol Iota Underbar
key <AD09> { [ NoSymbol, U2365 ] }; // O: ⍥ -- APL Functional Symbol Circle Diaeresis
key <AD10> { [ NoSymbol, U235F ] }; // P: ⍟ -- APL Functional Symbol Circle Star
key <AE01> { [ NoSymbol, U00A1 ] }; // 1: ¡ -- Inverted Exclamation Mark
key <AE04> { [ NoSymbol, cent ] }; // 4:
key <AE08> { [ NoSymbol, U2342 ] }; // 8: ⍂ -- APL Functional Symbol Quad Backslash
key <AE11> { [ NoSymbol, U2261 ] }; // -: ≡ -- Identical To
key <BKSL> { [ U235D, U2340 ] }; // \: ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar
};
// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ⍂ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃
// │ ⌻ │ │ │ │ │ │ │ │ │ │ │ - │ ÷ ┃ ┃
// │ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ + │ × ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍞ │ ⍙ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ → │ ⍸ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ ⌷ ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ ⍎ │ ⍕ │ ⍤ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ ( │ ) │ ⍷ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ [ │ ] │ ≡ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ ⍝ │ ⍀ │ ⌿ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ ; │ : │ \ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ , │ . │ / ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "apl2" {
name[Group1]= "APL Keyboard Symbols: IBM APL2";
include "apl(common)"
// The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything
// AFS - short for APL Functional Symbol
key <AB08> { [ comma, semicolon, U235D ] }; // ,: ⍝ -- AFS Up Shoe Jot
key <AB09> { [ period, colon, U2340 ] }; // .: ⍀ -- AFS Backslash Bar
key <AB10> { [ slash, backslash, U233F ] }; // /: ⌿ -- AFS Slash Bar
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout]
key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
key <AD11> { [ NoSymbol, U2192, U235E ] }; // [: (←) → ⍞ -- Rightwards Arrow / AFS Quote Quad
key <AD12> { [ U2337, U2378, U2359 ] }; // ]: ⌷ ⍸ ⍙ -- AFS Squish Quad / AFS Iota Underbar / AFS Delta Underbar
key <AE01> { [ NoSymbol, NoSymbol, U2336 ] }; // 1: ⌶ -- AFS I-Beam
key <AE02> { [ NoSymbol, NoSymbol, U236B ] }; // 2: ⍫ -- AFS Del Tilde
key <AE03> { [ NoSymbol, NoSymbol, U2353 ] }; // 3: ⍒ -- AFS Del Stile
key <AE04> { [ NoSymbol, NoSymbol, U234B ] }; // 4: ⍋ -- AFS Delta Stile
key <AE05> { [ NoSymbol, NoSymbol, U233D ] }; // 5: ⌽ -- AFS Circle Stile
key <AE06> { [ NoSymbol, NoSymbol, U2349 ] }; // 6: ⍉ -- AFS Circle Backslash
key <AE07> { [ NoSymbol, NoSymbol, U2296 ] }; // 7: ⊖ -- Circled Minus
key <AE08> { [ NoSymbol, NoSymbol, U235F ] }; // 8: ⍟ -- AFS Circle Star
key <AE09> { [ NoSymbol, NoSymbol, U2371 ] }; // 9: ⍱ -- AFS Down Caret Tilde
key <AE10> { [ NoSymbol, NoSymbol, U2372 ] }; // 0: ⍲ -- AFS Up Caret Tilde
key <AE11> { [ plus, minus, exclam ] }; // -:
key <AE12> { [ U00D7, U00F7, U2339 ] }; // =: × ÷ ⌹ -- Multiplication Sign / Division Sign / AFS Quad Divide
key <BKSL> { [ U2261, U2377, U2364 ] }; // \: ≡ ⍷ ⍤ -- Identical To / AFS Epsilon Underbar / AFS Jot Diaeresis
key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // `: ⌻ ⍂ --
include "level3(ralt_switch)"
};
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ⍪ │ ≡ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃
// │ ⋄ │ │ │ │ │ │ │ │ │ │ │ - │ ÷ ┃ ┃
// │ $ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ + │ × ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍞ │ ⍬ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ → │ ⍸ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ → ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ ⍎ │ ⍕ │ ⍙ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ ( │ ) │ ⊣ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ [ │ ] │ ⊢ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ ⍝ │ ⍀ │ ⌿ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ ; │ : │ \ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ , │ . │ / ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "aplplusII" {
name[Group1]= "APL Keyboard Symbols: Manugistics APL*PLUS II";
// AFS - short for APL Functional Symbol
include "apl(apl2)"
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout]
key <AC11> { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout]
key <AD11> { [ U2190, NoSymbol, U235E ] }; // [: ← ⍞ -- Leftwards Arrow / AFS Quote Quad
key <AD12> { [ U2192, NoSymbol, U236C ] }; // ]: → ⍬ -- Rightwards Arrow / AFS Zilde
key <AE01> { [ NoSymbol, NoSymbol, U2261 ] }; // 1: ≡ -- Identical To
key <BKSL> { [ U22A2, U22A3, U2359 ] }; // \: ⊢ ⊣ ⍙ -- Left Tack / Right Tack / AFS Delta Underbar
key <TLDE> { [ dollar, U22C4, U236A ] }; // `: ⋄ ⍪ -- Diamond Operator / AFS Comma Bar
};
// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts
// I didn't do the old-style MicroAPL layout; patches gratefully accepted
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ⍞ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃
// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ × │ ÷ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍇ │ ⍈ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ → ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ ≡ │ ≢ │ ⊣ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⍎ │ ⍕ │ ⊢ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ ⍪ │ ⍤ │ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ ⍝ │ ⍀ │ ⌿ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "aplx" {
name[Group1]= "APL Keyboard Symbols: APLX Unified APL Layout";
include "apl(unified)"
key <AB08> { [ U235D, U236A ] }; // ,: ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar
key <AB09> { [ U2340, U2364 ] }; // .: ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis
key <AB10> { [ U233F ] }; // /: ⌿ -- APL Functional Symbol Slash Bar
key <AC10> { [ U234E, U2261 ] }; // ;: ⍎ ≡ -- [See B key in SAX layout] / Identical To
key <AC11> { [ U2355, U2262 ] }; // ': ⍕ ≢ -- [See N key in SAX layout] / Not Identical To
key <AD11> { [ NoSymbol, U2347 ] }; // [: ⍇ -- Box With Left Arrow
key <AD12> { [ NoSymbol, U2348 ] }; // ]: ⍈ -- Box With Right Arrow
key <AE01> { [ NoSymbol, U2336 ] }; // 1: ⌶ -- APL Functional Symbol I-Beam
key <AE02> { [ NoSymbol, U236B ] }; // 2: ⍫ -- APL Functional Symbol Del Tilde
key <AE03> { [ NoSymbol, U2353 ] }; // 3: ⍒ -- APL Functional Symbol Del Stile
key <AE04> { [ NoSymbol, U234B ] }; // 4: ⍋ -- APL Functional Symbol Delta Stile
key <AE05> { [ NoSymbol, U233D ] }; // 5: ⌽ -- APL Functional Symbol Circle Stile
key <AE06> { [ NoSymbol, U2349 ] }; // 6: ⍉ -- APL Functional Symbol Circle Backslash
key <AE07> { [ NoSymbol, U2296 ] }; // 7: ⊖ -- Circled Minus
key <AE08> { [ NoSymbol, U235F ] }; // 8: ⍟ -- APL Functional Symbol Circle Star
key <AE11> { [ NoSymbol, exclam ] }; // -:
key <BKSL> { [ U22A2, U22A3 ] }; // \: ⊢ ⊣ -- Right Tack / Left Tack
key <TLDE> { [ NoSymbol, U235E ] }; // `: ⍞ -- APL Functional Symbol Quote Quad
};
// APL language support for the Dyalog keyboard.
// Dyalog Ltd sell this keyboard with APL engravings. The current model is
// engraved on a Cherry G80. Base languages for US, UK and DK are availible.
// Geoff Streeter, Dyalog Ltd. 2007-09-03
// geoff@dyalog.com
// extended for APL special actions 2008-09-09
// add variant 2010-11-26
// made BKSL and LTGT keys the same to remove a compatibility issue with the UK physical keyboard
// add key (quad equals) 2013-03-12
// add currency 2014-05-23
// add parallel 2014-05-23
// add circle jot 2014-05-23
// add t diaeresis 2014-05-23
// add del diaerisis 2014-05-23
// add quad query 2014-05-23
// add dagger 2014-05-23
// correct spelling of key name LTGT→LSGT 2016-05-26
// The intention is that this keyboard layout overlays a base keyboard that provides
// the alphabet and similar. If this keyboard is placed as the 2nd layout then it can
// be reached with a latching shift to increase group by one.
partial alphanumeric_keys
xkb_symbols "dyalog_base" {
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ⌺ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃
// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ × │ ÷ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ ⍰ │ │ ⍷ │ ⌾ │ ⍨ │ │ │ ⍸ │ ⍥ │ ⍣ │ ⍞ │ ⍬ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ → ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ ⍢ │ │ ⍤ │ ⌸ │ ⌷ │ ≡ │ ≢ │ ⊣ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⍎ │ ⍕ │ ⊢ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ ⊣ │ ⊆ │ │ │ │ ⍭ │ ⍡ │ ∥ │ ⍪ │ ⍙ │ ⍠ ┃ ┃
// ┃ ┃ ⊢ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ ⍝ │ ⍀ │ ⌿ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
key <AB01> { [ U2282, U2286 ] }; // subset of, enclose if simple
key <AB02> { [ U2283 ] }; // superset of
key <AB03> { [ U2229 ] }; // intersection
key <AB04> { [ U222A ] }; // union
key <AB05> { [ U22a5, U236d ] }; // up tack, stile tide
key <AB06> { [ U22a4, U2361 ] }; // down tack, down tack diaeresis
key <AB07> { [ bar, U2225 ] }; // vertical line, parallel to
key <AB08> { [ U235d, U236a ] }; // up shoe jot, comma bar
key <AB09> { [ U2340, U2359 ] }; // backslash bar, delta underbar
key <AB10> { [ U233f, U2360 ] }; // slash bar, quad colon
key <AC01> { [ U237a ] }; // alpha
key <AC02> { [ U2308 ] }; // left ceiling
key <AC03> { [ U230a ] }; // left floor
key <AC04> { [ underscore ] }; // low line
key <AC05> { [ U2207, U2362 ] }; // nabla, del diaerisis
key <AC06> { [ U2206 ] }; // increment
key <AC07> { [ U2218, U2364 ] }; // ring operator, jot diaeresis
key <AC08> { [ apostrophe, U2338 ] }; // quote, key
key <AC09> { [ U2395, U2337 ] }; // quad, squish quad
key <AC10> { [ U234e, U2261 ] }; // up tack jot, identical to
key <AC11> { [ U2355, U2262 ] }; // down tack jot, not identical to
key <AD01> { [ question, U2370 ] }; // ?, quad question
key <AD02> { [ U2375 ] }; // omega
key <AD03> { [ U220a, U2377 ] }; // small element of, epsilon underbar
key <AD04> { [ U2374, U233E ] }; // rho, circle jot
key <AD05> { [ asciitilde, U2368 ] }; // tilde, tilde diaeresis
key <AD06> { [ U2191 ] }; // upwards arrow
key <AD07> { [ U2193 ] }; // downwards arrow
key <AD08> { [ U2373, U2378 ] }; // iota, iota underbar
key <AD09> { [ U25cb, U2365 ] }; // circle, circle diaeresis
key <AD10> { [ asterisk, U2363 ] }; // asterisk, star diaeresis
key <AD11> { [ U2190, U235e ] }; // left arrow, quote quad
key <AD12> { [ U2192, U236c ] }; // right arrow, zilde
key <AE01> { [ diaeresis, U2336 ] }; // i-beam
key <AE02> { [ macron, U236B ] }; // deltilde
key <AE03> { [ less, U2352 ] }; // downgrade
key <AE04> { [ U2264, U234b ] }; // lesseq upgrade
key <AE05> { [ equal, U233d ] }; // circlestile
key <AE06> { [ U2265, U2349 ] }; // greatereq circleslope
key <AE07> { [ greater, U2296 ] }; // circlebar
key <AE08> { [ U2260, U235f ] }; // notequal, circlestar
key <AE09> { [ U2228, U2371 ] }; // logical or, down caret tilde
key <AE10> { [ U2227, U2372 ] }; // logical and, up caret tilde
key <AE11> { [ multiply, exclam ] };
key <AE12> { [ division, U2339 ] }; // quad divide
key <BKSL> { [ U22a2, U22a3 ] }; // right tack, left tack
key <LSGT> { [ U22a2, U22a3 ] }; // right tack, left tack
key <TLDE> { [ U22c4, U233a ] }; // diamond, quad diamond
};
partial keypad_keys
xkb_symbols "dyalog_box" {
// ┌───┬───┬───┬───┐
// │ │ │ │ │
// ├───┼───┼───┼───┤
// │ ┌ │ ┬ │ ┐ │ │
// ├───┼───┼───┤ │
// │ ├ │ ┼ │ ┤ │ │
// ├───┼───┼───┼───┤
// │ └ │ ┴ │ ┘ │ │
// ├───┴───┼───┤ │
// │ ─ │ │ │ │
// └───────┴───┴───┘
key <KP0> { [ U2500 ] }; // box drawing light horizontal
key <KP1> { [ U2514 ] }; // box drawing light up and right
key <KP2> { [ U2534 ] }; // box drawing light up and horizontal
key <KP3> { [ U2518 ] }; // box drawing light up and left
key <KP4> { [ U251c ] }; // box drawing light vertical and right
key <KP5> { [ U253c ] }; // box drawing light vertical and horizontal
key <KP6> { [ U2524 ] }; // box drawing light vertical and left
key <KP7> { [ U250c ] }; // box drawing light down and right
key <KP8> { [ U252c ] }; // box drawing light down and horizontal
key <KP9> { [ U2510 ] }; // box drawing light down and left
key <KPDL> { [ U2502 ] }; // box drawing light vertical
};
xkb_symbols "dyalog_codes" {
// Layout of private use area for this. In the style of the Unicode book
//
// APL special actions F800-F88F
//
// │F800 F810 F820 F830 F840 F850 F860 F870 F880
// ├────┬────┬────┬────┬────┬────┬────┬────┬────┐
// 0│QT │LL │BK │FX │Rc │BP │PA │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 1│ER │HO │ZM │LN │LW │AB │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 2│TB │CT │SC │MC │RW │HT │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 3│BT │PT │RP │MR │Lw │TH │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 4│EP │IN │NX │JP │Rw │RM │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 5│UC │II │PV │D1 │Uc │CB │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 6│DC │DI │RT │D2 │Dc │PR │ │ │TO │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 7│RC │DP │RA │D3 │Ll │SR │ │ │MO │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 8│LC │DB │ED │D4 │Rl │ │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 9│US │RD │TC │D5 │Ul │TL │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// A│DS │TG │NB │U1 │Dl │UA │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// B│RS │DK │NS │U2 │Us │AO │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// C│LS │OP │ST │U3 │Ds │DO │ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// D│UL │CP │EN │U4 │DD │GL │ │ │S1 │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// E│DL │MV │IF │U5 │DH │CH │ │ │S2 │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// F│RL │FD │HK │Lc │BH │PU │ │ │OS │
// └────┴────┴────┴────┴────┴────┴────┴────┴────┘
//
// APL Function Keys F700-F7FF
//
// │F700 ... ... F7F0
// ├────┬────┬────┬────┬....┬────┬────┬────┬────┐
// 0│F0 │F16 │F32 │F48 │ │F192│F208│F224│F240│
// .
// .
// .
// F│F15 │F31 │F47 │F63 │ │F207│F223│F239│F255│
// └────┴────┴────┴────┴....┴────┴────┴────┴────┘
//
// whilst these locations are defined. Dyalog's "aplkeys/xterm" file copes with
// normal function keys from the base keyboard rather than this overlay
// ┌─────┐ ┌───┐
// │ │ │ZM │
// │ QT │ │ZM │
// └─────┘ └───┘
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ CB ┃
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ BP ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ BT ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ TB ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ TC ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ED ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ MO ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ TO ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
key <BKSP> { [ Uf850, Uf855 ] }; // BP CB
key <ESC> { [ Uf800 ] }; // QT
key <FK11> { [ Uf821, Uf821 ] }; // ZM, ZM put this on both, the unshifted one sometimes gets lost
key <RTRN> { [ Uf828, Uf829 ] }; // ED, TC
key <SPCE> { [ Uf886, Uf887 ] }; // TO, MO
key <TAB> { [ Uf802, Uf803 ] }; // TB, BT
// ┌─────┐
// │ │
// │ BK │
// ┌────┼─────┼────┐
// │ BH │ │ RM │
// │ PV │ FD │ NX │
// └────┴─────┴────┘
key <DOWN> { [ Uf81f ] }; // FD
key <LEFT> { [ Uf825, Uf84f ] }; // PV, BH
key <RGHT> { [ Uf824, Uf854 ] }; // NX, RM
key <UP> { [ Uf820 ] }; // BK
// ┌───┬───┬───┐
// │PT │LL │UL │
// │CP │LS │US │
// ├───┼───┼───┤
// │CT │RL │DL │
// │DK │RS │DS │
// └───┴───┴───┘
key <DELE> { [ Uf81b, Uf812 ] }; // DK, CT
key <END> { [ Uf80b, Uf80f ] }; // RS, RL
key <HOME> { [ Uf80c, Uf810 ] }; // LS, LL
key <INS> { [ Uf81d, Uf813 ] }; // CP, PT
key <PGDN> { [ Uf80a, Uf80e ] }; // DS, DL
key <PGUP> { [ Uf809, Uf80d ] }; // US, UL
// ┌───┬───┬───┬───┐
// │ │RD │TG │LN │
// ├───┼───┼───┼───┤
// │ │ │ │ │
// ├───┼───┼───┤TL │
// │ │ │ │ │
// ├───┼───┼───┼───┤
// │ │ │ │ │
// ├───┴───┼───┤ │
// │ │ │ │
// └───────┴───┴───┘
key <KPAD> { [ Uf859 ] }; // TL
key <KPDV> { [ Uf819 ] }; // RD
key <KPMU> { [ Uf81a ] }; // TG
key <KPSU> { [ Uf831 ] }; // LN
};
xkb_symbols "dyalog" {
include "apl(dyalog_base)"
include "apl(dyalog_box)"
include "apl(dyalog_codes)"
name[Group1] = "Dyalog APL complete";
};

View File

@@ -0,0 +1,344 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Arabic";
// NOTES:
//
// There is also a combined shadda diacritic in the AltGr position of the
// simple diacritics fatha, fathatan, damma, dammatan, kasra and kasratan. (??)
// Should a third state be added to Group2?
key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenright ] };
key <AE10> { [ 0, parenleft ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Arabic_dad, Arabic_fatha ] };
key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
key <AD03> { [ Arabic_theh, Arabic_damma ] };
key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
key <AD05> { [ Arabic_feh, 0x100fef9, 0x10006a4 ] };
key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef] };
key <AD07> { [ Arabic_ain, grave ] };
key <AD08> { [ Arabic_ha, division ] };
key <AD09> { [ Arabic_khah, multiply ] };
key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
key <AD11> { [ Arabic_jeem, less, 0x1000686 ] };
key <AD12> { [ Arabic_dal, greater ] };
key <AC01> { [ Arabic_sheen, Arabic_kasra ] };
key <AC02> { [ Arabic_seen, Arabic_kasratan ] };
key <AC03> { [ Arabic_yeh, bracketright ] };
key <AC04> { [ Arabic_beh, bracketleft, 0x100067e ] };
key <AC05> { [ Arabic_lam, 0x100fef7 ] };
// ARABIC LETTER ALEF WASLA on AltGr
key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, 0x1000671 ] };
key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
key <AC08> { [ Arabic_noon, Arabic_comma ] };
key <AC09> { [ Arabic_meem, slash ] };
key <AC10> { [ Arabic_kaf, colon, 0x10006af ] };
key <AC11> { [ Arabic_tah, quotedbl ] };
key <LSGT> { [ bar, brokenbar ] };
key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright ]};
key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft ]};
key <AB03> { [Arabic_hamzaonwaw, braceright ] };
key <AB04> { [ Arabic_ra, braceleft ] };
key <AB05> { [ 0x100fefb, 0x100fef5 ] };
// ARABIC LETTER SUPERSCRIPT ALEF on AltGr
key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef, 0x1000670 ] };
key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
key <AB08> { [ Arabic_waw, comma ] };
key <AB09> { [ Arabic_zain, period ] };
key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
};
partial alphanumeric_keys
xkb_symbols "qwerty" {
include "ara(basic)"
name[Group1]= "Arabic (QWERTY)";
};
partial alphanumeric_keys
xkb_symbols "azerty" {
include "ara(basic)"
name[Group1]= "Arabic (AZERTY)";
// The North African Arabic keyboard differs from the Middle East one
// by the numeric row; it follows French keyboard style.
//
// PROBLEM: some characters are inaccessible: ! @ # $ % ^ *
// Should they go elsewhere? Replacing " ' that are now doubled?
// Also, dead_circumflex and dead_diaeresis from French keyboard
// as well as ugrave are missing, which questions the utility of the
// other accentuated Latin letters. Maybe this is useful only with
// a French keyboard in Group1? Then, shouldn't Group1 be filled?
key <AE01> { [ ampersand, 1 ] };
key <AE02> { [ eacute, 2 ] };
key <AE03> { [ quotedbl, 3 ] };
key <AE04> { [ apostrophe, 4 ] };
key <AE05> { [ parenleft, 5 ] };
key <AE06> { [ minus, 6 ] };
key <AE07> { [ egrave, 7 ] };
key <AE08> { [ underscore, 8 ] };
key <AE09> { [ ccedilla, 9 ] };
key <AE10> { [ agrave, 0 ] };
key <AE11> { [ parenright, degree ] };
};
partial hidden alphanumeric_keys
xkb_symbols "digits_KP" {
// Use Arabic-script digits on the keypad.
key <KP7> { [ KP_Home, 0x1000667 ] };
key <KP8> { [ KP_Up, 0x1000668 ] };
key <KP9> { [ KP_Prior, 0x1000669 ] };
key <KP4> { [ KP_Left, 0x1000664 ] };
key <KP5> { [ KP_Begin, 0x1000665 ] };
key <KP6> { [ KP_Right, 0x1000666 ] };
key <KP1> { [ KP_End, 0x1000661 ] };
key <KP2> { [ KP_Down, 0x1000662 ] };
key <KP3> { [ KP_Next, 0x1000663 ] };
key <KP0> { [ KP_Insert, 0x1000660 ] };
};
partial alphanumeric_keys
xkb_symbols "digits" {
include "ara(basic)"
name[Group1]= "Arabic (digits)";
// Use Arabic-script digits on the numeric row.
key <AE01> { [ 0x1000661, exclam ] };
key <AE02> { [ 0x1000662, at ] };
key <AE03> { [ 0x1000663, numbersign ] };
key <AE04> { [ 0x1000664, dollar ] };
key <AE05> { [ 0x1000665, Arabic_percent ] };
key <AE06> { [ 0x1000666, asciicircum ] };
key <AE07> { [ 0x1000667, ampersand ] };
key <AE08> { [ 0x1000668, asterisk ] };
key <AE09> { [ 0x1000669, parenright ] };
key <AE10> { [ 0x1000660, parenleft ] };
include "ara(digits_KP)"
};
partial alphanumeric_keys
xkb_symbols "qwerty_digits" {
include "ara(digits)"
name[Group1]= "Arabic (qwerty/digits)";
};
partial alphanumeric_keys
xkb_symbols "azerty_digits" {
include "ara(azerty)"
name[Group1]= "Arabic (AZERTY/digits)";
key <AE01> { [ ampersand, 0x1000661 ] };
key <AE02> { [ eacute, 0x1000662 ] };
key <AE03> { [ quotedbl, 0x1000663 ] };
key <AE04> { [ apostrophe, 0x1000664 ] };
key <AE05> { [ parenleft, 0x1000665 ] };
key <AE06> { [ minus, 0x1000666 ] };
key <AE07> { [ egrave, 0x1000667 ] };
key <AE08> { [ underscore, 0x1000668 ] };
key <AE09> { [ ccedilla, 0x1000669 ] };
key <AE10> { [ agrave, 0x1000660 ] };
};
// Arabic keyboard using Buckwalter transliteration
// http://www.qamus.org/transliteration.htm
// Martin Vidner
partial alphanumeric_keys
xkb_symbols "buckwalter" {
name[Group1]= "Arabic (Buckwalter)";
// ARABIC LETTER SUPERSCRIPT ALEF
key <TLDE> { [ 0x1000670, Arabic_shadda ] };
// Arabic_0 .. Arabic_9 do not work in Kate,
// Unicode never seems to work worse.
key <AE01> { [ 0x1000661, VoidSymbol ] };
key <AE02> { [ 0x1000662, VoidSymbol ] };
key <AE03> { [ 0x1000663, VoidSymbol ] };
key <AE04> { [ 0x1000664, Arabic_sheen ] };
key <AE05> { [ 0x1000665, Arabic_percent ] };
key <AE06> { [ 0x1000666, VoidSymbol ] };
key <AE07> { [ 0x1000667, Arabic_hamzaonwaw ] };
key <AE08> { [ 0x1000668, Arabic_thal ] };
// ORNATE LEFT PARENTHESIS
key <AE09> { [ 0x1000669, 0x100fd3e ] };
// ORNATE RIGHT PARENTHESIS
key <AE10> { [ 0x1000660, 0x100fd3f ] };
key <AE11> { [ minus, Arabic_tatweel ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ Arabic_qaf, VoidSymbol ] };
key <AD02> { [ Arabic_waw, Arabic_hamzaonwaw ] };
key <AD03> { [ VoidSymbol, Arabic_ain ] };
key <AD04> { [ Arabic_ra, VoidSymbol ] };
key <AD05> { [ Arabic_teh, Arabic_tah ] };
key <AD06> { [ Arabic_yeh, Arabic_alefmaksura ] };
key <AD07> { [ Arabic_damma, VoidSymbol ] };
key <AD08> { [ Arabic_kasra, Arabic_hamzaunderalef ] };
key <AD09> { [ Arabic_sukun, Arabic_hamzaonalef ] };
key <AD10> { [ Arabic_tehmarbuta, VoidSymbol ] };
// ARABIC LETTER ALEF WASLA
key <AD11> { [ VoidSymbol, 0x1000671 ] };
key <AD12> { [ VoidSymbol, Arabic_hamzaonyeh ] };
key <AC01> { [ Arabic_fatha, Arabic_alef ] };
key <AC02> { [ Arabic_seen, Arabic_sad ] };
key <AC03> { [ Arabic_dal, Arabic_dad ] };
key <AC04> { [ Arabic_feh, Arabic_fathatan ] };
key <AC05> { [ Arabic_ghain, VoidSymbol ] };
key <AC06> { [ Arabic_ha, Arabic_hah ] };
key <AC07> { [ Arabic_jeem, VoidSymbol ] };
key <AC08> { [ Arabic_kaf, Arabic_kasratan ] };
key <AC09> { [ Arabic_lam, VoidSymbol ] };
key <AC10> { [ Arabic_semicolon, VoidSymbol ] };
key <AC11> { [ Arabic_hamza, VoidSymbol ] };
key <BKSL> { [ VoidSymbol, Arabic_maddaonalef ] };
key <AB01> { [ Arabic_zain, Arabic_zah ] };
key <AB02> { [ Arabic_khah, VoidSymbol ] };
key <AB03> { [ VoidSymbol, VoidSymbol ] };
key <AB04> { [ Arabic_theh, VoidSymbol ] };
key <AB05> { [ Arabic_beh, VoidSymbol ] };
key <AB06> { [ Arabic_noon, Arabic_dammatan ] };
key <AB07> { [ Arabic_meem, VoidSymbol ] };
key <AB08> { [ Arabic_comma, Arabic_hamzaunderalef ] };
// ARABIC FULL STOP (Urdu)
key <AB09> { [ 0x10006d4, Arabic_hamzaonalef ] };
key <AB10> { [ VoidSymbol, Arabic_question_mark ] };
};
partial alphanumeric_keys
xkb_symbols "olpc" {
include "ara(basic)"
// As part of the OLPC design, some changes were made to the Arabic
// keyboard design. Major changes are:
//
// * Removed the lam-alef single character. People type as they
// pronounce, and lam-alef is just a visual formatting of the
// sequence and is not often used on the keyboard. It is
// similar to the Allah single character, which is also not on
// the keyboard.
// * Moved the following keys:
// o Thal from TLDE to AB05: due to space limitation on the
// keyboard, but also accessibility.
// o Shadda from TLDE to AD05.
// * Placed currency letters on number keys and moved the ^ and &
// characters to lower keys. (This change is worth revisiting
// before end of test period).
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 0x1000661, exclam ] };
key <AE02> { [ 0x1000662, at ] };
key <AE03> { [ 0x1000663, numbersign ] };
key <AE04> { [ 0x1000664, dollar ] };
key <AE05> { [ 0x1000665, Arabic_percent ] };
key <AE06> { [ 0x1000666, sterling ] };
key <AE07> { [ 0x1000667, EuroSign ] };
key <AE08> { [ 0x1000668, asterisk ] };
key <AE09> { [ 0x1000669, parenright ] };
key <AE10> { [ 0x1000660, parenleft ] };
key <AD05> { [ Arabic_feh, Arabic_shadda ] };
key <AD08> { [ Arabic_heh, division ] };
key <AD11> { [ Arabic_jeem, braceright ] };
key <AD12> { [ Arabic_dal, braceleft ] };
key <AC01> { [ Arabic_sheen, greater ] };
key <AC02> { [ Arabic_seen, less ] };
key <AC05> { [ Arabic_lam, ampersand ] };
key <AC10> { [ Arabic_kaf ] };
key <AC11> { [ Arabic_tah ] };
key <BKSL> { [ backslash, bar ] };
// REH isolated form?
key <AB03> { [ Arabic_hamzaonwaw, Arabic_kasra ] };
key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
key <AB05> { [ Arabic_thal, asciicircum ] };
include "group(olpc)"
};
partial alphanumeric_keys
xkb_symbols "mac" {
//This is a layout that is compatible with macbooks
include "ara(digits)"
name[Group1]= "Arabic (Macintosh)";
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <TLDE> { [ Arabic_tatweel, VoidSymbol ] };
key <AD03> { [ Arabic_theh, Arabic_kasra ] };
key <AD04> { [ Arabic_qaf, Arabic_kasratan ] };
key <AD05> { [ Arabic_feh, Arabic_damma ] };
key <AD06> { [ Arabic_ghain, Arabic_dammatan ] };
key <AD07> { [ Arabic_ain, Arabic_sukun ] };
key <AD08> { [ Arabic_ha, Arabic_shadda ] };
key <AD09> { [ Arabic_khah, bracketright ] };
key <AD10> { [ Arabic_hah, bracketleft ] };
key <AD11> { [ Arabic_jeem, braceright ] };
key <AD12> { [Arabic_tehmarbuta, braceleft ] };
key <AC01> { [ Arabic_sheen, guillemotright ] };
key <AC02> { [ Arabic_seen, guillemotleft ] };
key <AC03> { [ Arabic_yeh, Arabic_alefmaksura] };
key <AC04> { [ Arabic_beh, 0x1000670 ] };
key <AC05> { [ Arabic_lam, VoidSymbol ] };
key <AC06> { [ Arabic_alef, Arabic_maddaonalef ] };
key <AC07> { [ Arabic_teh, 0x1000671 ] };
key <AC08> { [ Arabic_noon, VoidSymbol ] };
key <AC09> { [ Arabic_meem, VoidSymbol ] };
key <AC10> { [ Arabic_kaf, colon ] };
key <AC11> { [ Arabic_semicolon, quotedbl ] };
key <BKSL> { [ backslash, bar ] };
key <LSGT> { [ Arabic_tatweel, VoidSymbol ] };
key <AB01> { [ Arabic_zah, VoidSymbol ] };
key <AB02> { [ Arabic_tah, VoidSymbol ] };
key <AB03> { [ Arabic_thal, Arabic_hamzaonyeh ] };
key <AB04> { [ Arabic_dal, Arabic_hamza ] };
key <AB05> { [ Arabic_zain, Arabic_hamzaonalef ] };
key <AB06> { [ Arabic_ra, Arabic_hamzaunderalef ] };
key <AB07> { [ Arabic_waw, Arabic_hamzaonwaw ] };
key <AB08> { [ Arabic_comma, greater ] };
key <AB09> { [ period, less ] };
key <AB10> { [ slash, Arabic_question_mark ] };
};
// EXTRAS:
partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/ara(sun_type6)"
};

View File

@@ -0,0 +1,34 @@
// based on a keyboard map from an 'xkb/symbols/de' file
default
xkb_symbols "basic" {
include "de(basic)"
name[Group1]="German (Austria)";
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "de(nodeadkeys)"
name[Group1]="German (Austria, no dead keys)";
};
partial alphanumeric_keys
xkb_symbols "mac" {
include "de(mac)"
name[Group1]= "German (Austria, Macintosh)";
};
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
include "de(Sundeadkeys)"
name[Group1]="German (Austria, with Sun dead keys)";
};

View File

@@ -0,0 +1,9 @@
//
// Default Australian is the same as American
//
default partial alphanumeric_keys
xkb_symbols "basic" {
include "us(basic)"
name[Group1]= "English (Australian)";
};

View File

@@ -0,0 +1,87 @@
// Symbols definition for a Azerbaijani keyboard layout.
// Based on AZS 495-2010 standard.
// 2001 - Pablo Saratxaga <pablo@mandrakesoft.com>
// 2015 - Adil Aliyev <adilaliev@gmail.com>
default partial alphanumeric_keys
xkb_symbols "latin" {
include "us"
name[Group1]= "Azerbaijani";
key <TLDE> { [ grave, asciitilde ] };
key <AE02> { [ 2, quotedbl ] };
key <AE03> { [ 3, U2166 ] };
key <AE04> { [ 4, semicolon ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, colon ] };
key <AE07> { [ 7, question ] };
key <AE08> { [ 8, asterisk ] };
key <BKSL> { [ backslash, slash ] };
key <AD02> { [ udiaeresis, Udiaeresis ] };
key <AD08> { [ i, Iabovedot ] };
key <AD11> { [ odiaeresis, Odiaeresis ] };
key <AD12> { [ gbreve, Gbreve ] };
key <AC10> { [ idotless, I ] };
key <AC11> { [ schwa, SCHWA ] };
key <AB08> { [ ccedilla, Ccedilla ] };
key <AB09> { [ scedilla, Scedilla ] };
key <AB10> { [ period, comma ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "cyrillic" {
name[Group1]= "Azerbaijani (Cyrillic)";
key <AE02> {[ 2, quotedbl ] };
key <AE03> {[ 3, numbersign ] };
key <AE04> {[ 4, semicolon ] };
key <AE06> {[ 6, colon ] };
key <AE07> {[ 7, question ] };
key <AE08> {[ 8, asterisk, braceleft ] };
key <AE09> {[ 9, parenleft, bracketleft ] };
key <AE10> {[ 0, parenright, bracketright ] };
key <AE11> {[ minus, underscore, braceright ] };
key <AD01> {[ Cyrillic_je, Cyrillic_JE ] };
key <AD02> {[ Cyrillic_u_straight, Cyrillic_U_straight ] };
key <AD03> {[ Cyrillic_u, Cyrillic_U ] };
key <AD04> {[ Cyrillic_ka, Cyrillic_KA ] };
key <AD05> {[ Cyrillic_ie, Cyrillic_IE ] };
key <AD06> {[ Cyrillic_en, Cyrillic_EN ] };
key <AD07> {[ Cyrillic_ghe, Cyrillic_GHE ] };
key <AD08> {[ Cyrillic_sha, Cyrillic_SHA ] };
key <AD09> {[ Cyrillic_shha, Cyrillic_SHHA ] };
key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ] };
key <AD11> {[ Cyrillic_ha, Cyrillic_HA ] };
key <AD12> {[ Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] };
key <AC01> {[ Cyrillic_ef, Cyrillic_EF ] };
key <AC02> {[ Cyrillic_yeru, Cyrillic_YERU ] };
key <AC03> {[ Cyrillic_ve, Cyrillic_VE ] };
key <AC04> {[ Cyrillic_a, Cyrillic_A ] };
key <AC05> {[ Cyrillic_pe, Cyrillic_PE ] };
key <AC06> {[ Cyrillic_er, Cyrillic_ER ] };
key <AC07> {[ Cyrillic_o, Cyrillic_O ] };
key <AC08> {[ Cyrillic_el, Cyrillic_EL ] };
key <AC09> {[ Cyrillic_de, Cyrillic_DE ] };
key <AC10> {[ Cyrillic_zhe, Cyrillic_ZHE ] };
key <AC11> {[ Cyrillic_ka_vertstroke,Cyrillic_KA_vertstroke ] };
key <AB01> {[ Cyrillic_schwa, Cyrillic_SCHWA ] };
key <AB02> {[ Cyrillic_che, Cyrillic_CHE ] };
key <AB03> {[ Cyrillic_es, Cyrillic_ES ] };
key <AB04> {[ Cyrillic_em, Cyrillic_EM ] };
key <AB05> {[ Cyrillic_i, Cyrillic_I ] };
key <AB06> {[ Cyrillic_te, Cyrillic_TE ] };
key <AB07> {[ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
key <AB08> {[ Cyrillic_be, Cyrillic_BE ] };
key <AB09> {[ Cyrillic_o_bar, Cyrillic_O_bar ] };
key <AB10> {[ period, comma ] };
};

View File

@@ -0,0 +1,34 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
include "rs(latin)"
name[Group1]="Bosnian";
};
partial alphanumeric_keys
xkb_symbols "us" {
include "rs(latinyz)"
name[Group1]= "Bosnian (US, with Bosnian letters)";
};
partial alphanumeric_keys
xkb_symbols "alternatequotes" {
include "rs(latinalternatequotes)"
name[Group1]= "Bosnian (with guillemets)";
};
partial alphanumeric_keys
xkb_symbols "unicode" {
include "rs(latinunicode)"
name[Group1]= "Bosnian (with Bosnian digraphs)";
};
partial alphanumeric_keys
xkb_symbols "unicodeus" {
include "rs(latinunicodeyz)"
name[Group1]= "Bosnian (US, with Bosnian digraphs)";
};

View File

@@ -0,0 +1,96 @@
//
// XKB symbol :: National Bangla/Bengali Standard Keyboard Layout for Bangladesh
// Ref: http://www.bcc.net.bd/keyboard/bsti_kb_specification.pdf
//
// Author: Jamil Ahmed <jamil at bengalinux.org>
// Created: 18-12-2005
// Last Updated: 08-01-2006
// Version: 6.01.3
//
// Issues:
// <AC08> Khanda-Ta is given U-09CE; But BCC had U-09BA
// <AC07> U-09BB is added though it is not allocated in Original Unicode
// <AE06> U-09B3 is added though it is not allocated in Original Unicode
// 3 Conjunct characters are not included
//
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Bangla";
key <ESC> { [ Escape ] };
// numbers
key <TLDE> { [ grave, asciitilde, voidsymbol, voidsymbol ] };
key <AE01> { [ 0x10009E7, exclam, 0x10009F4, voidsymbol ] };
key <AE02> { [ 0x10009E8, at, 0x10009F5, voidsymbol ] };
key <AE03> { [ 0x10009E9, numbersign, 0x10009F6, voidsymbol ] };
key <AE04> { [ 0x10009EA, dollar, 0x10009F3, 0x10009F2 ] };
key <AE05> { [ 0x10009EB, percent, 0x10009F7, voidsymbol ] };
key <AE06> { [ 0x10009EC, asciicircum, 0x10009F8, 0x10009B3 ] };
key <AE07> { [ 0x10009ED, ampersand, 0x1000902, voidsymbol ] };
key <AE08> { [ 0x10009EE, asterisk, voidsymbol, voidsymbol ] };
key <AE09> { [ 0x10009EF, parenleft, voidsymbol, voidsymbol ] };
key <AE10> { [ 0x10009E6, parenright, 0x10009F9, voidsymbol ] };
key <AE11> { [ minus, underscore, 0x100200C, voidsymbol ] };
key <AE12> { [ equal, plus, 0x100200D, voidsymbol ] };
key <BKSP> { [ BackSpace ] };
// tab, q to ]
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> { [ 0x1000999, 0x1000982, 0x10009E2, 0x10009E3 ] };
key <AD02> { [ 0x10009AF, 0x10009DF, voidsymbol, voidsymbol ] };
key <AD03> { [ 0x10009A1, 0x10009A2, 0x10009C4, voidsymbol ] };
key <AD04> { [ 0x10009AA, 0x10009AB, voidsymbol, voidsymbol ] };
key <AD05> { [ 0x100099F, 0x10009A0, voidsymbol, voidsymbol ] };
key <AD06> { [ 0x100099A, 0x100099B, voidsymbol, voidsymbol ] };
key <AD07> { [ 0x100099C, 0x100099D, voidsymbol, voidsymbol ] };
key <AD08> { [ 0x10009B9, 0x100099E, 0x10009BD, voidsymbol ] };
key <AD09> { [ 0x1000997, 0x1000998, voidsymbol, voidsymbol ] };
key <AD10> { [ 0x10009DC, 0x10009DD, voidsymbol, voidsymbol ] };
key <AD11> { [ bracketleft, braceleft, voidsymbol, voidsymbol ] };
key <AD12> { [ bracketright, braceright, voidsymbol, voidsymbol ] };
key <RTRN> { [ Return ] };
// caps, a to '
// key <CAPS> { [ Caps_Lock ] };
key <AC01> { [ 0x10009C3, 0x10009D7, 0x100098B, 0x10009E0 ] };
key <AC02> { [ 0x10009C1, 0x10009C2, 0x1000989, 0x100098A ] };
key <AC03> { [ 0x10009BF, 0x10009C0, 0x1000987, 0x1000988 ] };
key <AC04> { [ 0x10009AC, 0x10009AD, 0x10009F0, 0x10009F1 ] };
key <AC05> { [ 0x10009CD, 0x1000964, 0x1000965, voidsymbol ] };
key <AC06> { [ 0x10009BE, 0x1000985, 0x1000986, voidsymbol ] };
key <AC07> { [ 0x1000995, 0x1000996, 0x10009BB, voidsymbol ] };
key <AC08> { [ 0x10009A4, 0x10009A5, 0x10009CE, voidsymbol ] };
key <AC09> { [ 0x10009A6, 0x10009A7, 0x100098C, 0x10009E1 ] };
key <AC10> { [ semicolon, colon, voidsymbol, voidsymbol ] };
key <AC11> { [ apostrophe, quotedbl, voidsymbol, voidsymbol ] };
// shift, z to /
// key <LFSH> { [ Shift_L ] };
key <AB01> { [ 0x1000981, 0x1000983, 0x10009FA, voidsymbol ] };
key <AB02> { [ 0x10009CB, 0x10009CC, 0x1000993, 0x1000994 ] };
key <AB03> { [ 0x10009C7, 0x10009C8, 0x100098F, 0x1000990 ] };
key <AB04> { [ 0x10009B0, 0x10009B2, voidsymbol, voidsymbol ] };
key <AB05> { [ 0x10009A8, 0x10009A3, voidsymbol, voidsymbol ] };
key <AB06> { [ 0x10009B8, 0x10009B7, voidsymbol, voidsymbol ] };
key <AB07> { [ 0x10009AE, 0x10009B6, voidsymbol, voidsymbol ] };
key <AB08> { [ comma, less, voidsymbol, voidsymbol ] };
key <AB09> { [ period, greater, 0x10009BC, voidsymbol ] };
key <AB10> { [ slash, question, voidsymbol, voidsymbol ] };
key <BKSL> { [ backslash, bar, voidsymbol, voidsymbol ] };
// third level with right-Alt
include "level3(ralt_switch)"
};
//
// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout
// Ref: www.ankurbangla.org/images/probhat_layout.png
//
xkb_symbols "probhat" {
include "in(ben_probhat)"
name[Group1]= "Bangla (Probhat)";
};

View File

@@ -0,0 +1,239 @@
// based on a keyboard map from an 'xkb/symbols/be' file
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin"
name[Group1]="Belgian";
key <AE01> { [ ampersand, 1, bar, exclamdown ] };
key <AE02> { [ eacute, 2, at, oneeighth ] };
key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
key <AE04> { [apostrophe, 4, onequarter, dollar ] };
key <AE05> { [ parenleft, 5, onehalf, threeeighths ] };
key <AE06> { [ section, 6, asciicircum, fiveeighths ] };
key <AE07> { [ egrave, 7, braceleft, seveneighths ] };
key <AE08> { [ exclam, 8, bracketleft, trademark ] };
key <AE09> { [ ccedilla, 9, braceleft, plusminus ] };
key <AE10> { [ agrave, 0, braceright, degree ] };
key <AE11> { [parenright, degree, backslash, questiondown ] };
key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
key <AD01> { [ a, A, at, Greek_OMEGA ] };
key <AD02> { [ z, Z, lstroke, Lstroke ] };
key <AD03> { [ e, E, EuroSign, cent ] };
key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] };
key <AD12> { [ dollar, asterisk, bracketright, dead_macron ] };
key <AC01> { [ q, Q, ae, AE ] };
key <AC10> { [ m, M, dead_acute, dead_doubleacute ] };
key <AC11> { [ ugrave, percent, dead_acute, dead_caron ] };
key <TLDE> { [twosuperior, threesuperior, notsign, notsign ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] };
key <AB01> { [ w, W, guillemotleft, less ] };
key <AB07> { [ comma, question, dead_cedilla, masculine ] };
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ equal, plus, dead_tilde, dead_abovedot] };
key <LSGT> { [ less, greater, backslash, backslash ] };
include "level3(ralt_switch)"
};
// Variant of the fr(oss) layout for Belgium
// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ┃ arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃ ⏎ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ Q Ä │ S „ │ D Ë │ F │ G ¥ │ H Ð │ J Ü │ K Ï │ L │ M Ö │ % Ù │ £ ̄ ┃ ┃
// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f │ g │ h ð │ j ü │ k ï │ l / │ m ö │ ù ' │ µ ` ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / │ + ┃ ┃
// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃
// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "oss" {
include "fr(oss)"
include "be(oss_frbe)"
name[Group1]="Belgian (alt.)";
};
partial alphanumeric_keys
xkb_symbols "oss_frbe" {
// First row
key <TLDE> { [ twosuperior, threesuperior, onesuperior, lessthanequal ] }; // ² ³ ¹ ≤
key <AE01> { [ ampersand, 1, bar, greaterthanequal ] }; // & 1 | ≥
key <AE02> { [ eacute, 2, at, Eacute ] }; // é 2 @ É
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
key <AE05> { [ parenleft, 5, dead_caron, 0x1002013 ] }; // ( 5 ˇ (tiret demi-cadratin)
key <AE06> { [ section, 6, asciicircum, trademark ] }; // § 6 ^ ™
key <AE08> { [ exclam, 8, asciitilde, exclamdown ] }; // ! 8 ~ ¡
key <AE09> { [ ccedilla, 9, braceleft, Ccedilla ] }; // ç 9 { Ç
key <AE10> { [ agrave, 0, braceright, Agrave ] }; // à 0 } À
key <AE11> { [ parenright, degree, oslash, Ooblique ] }; // ) ° ø Ø
key <AE12> { [ minus, underscore, 0x1002011, plusminus ] }; // - _ - (tiret insécable) ±
// Second row
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
key <AD12> { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨
// Third row
key <AC09> { [ l, L, dead_stroke ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
// Fourth row
key <LSGT> { [ less, greater, backslash, notequal ] }; // < > \ ≠
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~
};
partial alphanumeric_keys
xkb_symbols "oss_latin9" {
// Restricts the be(oss) layout to latin9 symbols
include "fr(oss_latin9)"
include "be(oss_frbe)"
include "keypad(oss_latin9)"
name[Group1]="Belgian (alt., Latin-9 only)";
// First row
key <TLDE> { [ twosuperior, threesuperior, onesuperior, less ] }; // ² ³ ¹ <
key <AE01> { [ ampersand, 1, bar, greater ] }; // & 1 | >
key <AE04> { [ apostrophe, 4, dead_cedilla, minus ] }; // ' 4 ¸ -
key <AE05> { [ parenleft, 5, dead_caron, minus ] }; // ( 5 ˇ -
key <AE06> { [ section, 6, asciicircum, asciicircum ] }; // § 6 ^ ^
key <AE12> { [ minus, underscore, minus, plusminus ] }; // - _ - ±
// Second row
key <AD12> { [ dollar, asterisk, bracketright, dead_cedilla ] }; // $ * ] ¸
// Third row
key <AC09> { [ l, L, l, L ] }; // l L l L
key <BKSL> { [ mu, sterling, dead_grave, dead_circumflex ] }; // µ £ ` ^
// Fourth row
key <LSGT> { [ less, greater, backslash, equal ] }; // < > \ =
key <AB10> { [ equal, plus, dead_tilde, minus ] }; // = + ~ -
};
partial alphanumeric_keys
xkb_symbols "oss_Sundeadkeys" {
// Modifies the basic be(oss) layout to use the Sun dead keys
include "be(oss)"
// First row
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
// Second row
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
//Third row
key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
// Fourth row
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~
};
partial alphanumeric_keys
xkb_symbols "oss_sundeadkeys" {
include "be(oss_Sundeadkeys)"
name[Group1]="Belgian (alt., with Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "iso-alternate" {
include "be(basic)"
name[Group1]="Belgian (alt. ISO)";
key <AD01> { [ a, A, ae, AE ] };
key <AD02> { [ z, Z, guillemotleft, less ] };
key <AC01> { [ q, Q, at, Greek_OMEGA ] };
key <AC10> { [ m, M, mu, masculine ] };
key <AB01> { [ w, W, lstroke, Lstroke ] };
key <AB07> { [ comma, question, dead_cedilla, dead_doubleacute ] };
};
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
// Use the Sun dead keys
include "be(basic)"
name[Group1]="Belgian (with Sun dead keys)";
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, bracketleft] };
key <AC11> { [ ugrave, percent, dead_acute, dead_acute ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_grave ] };
key <AB07> { [ comma, question, dead_cedilla, dead_cedilla] };
key <AB10> { [ equal, plus, dead_tilde, dead_tilde ] };
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
// Use the Sun dead keys
include "be(sundeadkeys)"
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// Eliminates dead keys from the basic Belgian layout
include "be(basic)"
name[Group1]="Belgian (no dead keys)";
key <AE12> { [ minus, underscore, cedilla, ogonek ] };
key <AD11> { [asciicircum, diaeresis, bracketleft, bracketleft] };
key <AD12> { [ dollar, asterisk, bracketright, macron ] };
key <AC10> { [ m, M, acute, doubleacute ] };
key <AC11> { [ ugrave, percent, apostrophe, apostrophe ] };
key <BKSL> { [ mu, sterling, grave, grave ] };
key <AB07> { [ comma, question, cedilla, masculine ] };
key <AB10> { [ equal, plus, asciitilde, asciitilde ] };
};
// Wang model 724 azerty Belgium keyboard
partial alphanumeric_keys
xkb_symbols "wang" {
include "be(basic)"
include "keypad(legacy_wang)"
name[Group1]="Belgian (Wang 724 AZERTY)";
// Engravings on Wang 725-3771-ae
key <TLDE> { [ twosuperior, threesuperior, notsign, asciitilde ] };
key <LSGT> { [ less, greater, backslash, brokenbar ] };
};
// EXTRAS:
partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/be(sun_type6)"
};

Some files were not shown because too many files have changed in this diff Show More