🚀 feat(kali): thanks to kalilinux.org

This commit is contained in:
Eshan Roy
2024-12-01 12:52:25 +05:30
parent 59d73ef931
commit 4f4507ec21
5352 changed files with 187554 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
-dp----- -------- accessx(basic)
--p----- -------- accessx(full)
-d------ -------- basic(basic)
--p----- -------- caps(caps_lock)
-d------ -------- complete(complete)
-dp----- -------- iso9995(default)
-dp----- -------- japan(japan)
--p----- -------- japan(kana_lock)
-dp----- -------- ledcaps(caps_lock)
--p----- -------- ledcaps(group_lock)
--p----- -------- ledcaps(shift_lock)
-dp----- -------- ledcompose(compose)
-dp----- -------- lednum(num_lock)
--p----- -------- lednum(group_lock)
--p----- -------- lednum(shift_lock)
-dp----- -------- ledscroll(scroll_lock)
--p----- -------- ledscroll(group_lock)
--p----- -------- ledscroll(shift_lock)
-dp----- -------- level5(default)
--p----- -------- level5(level5_lock)
-dp----- -------- misc(misc)
--p----- -------- misc(assign_shift_left_action)
-dp----- -------- mousekeys(mousekeys)
-d------ -------- olpc(olpc)
-dp----- -------- pc(pc)
-d------ -------- pc98(basic)
-dp----- -------- xfree86(basic)
--p----- -------- xfree86(grab_break)
-d------ -------- xtest(xtest)

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,16 @@
default partial xkb_compatibility "compose" {
virtual_modifiers Compose;
interpret Multi_key+Any {
virtualModifier= Compose;
action = LatchMods(modifiers=modMapMods);
};
indicator "Compose" {
allowExplicit;
whichModState= Latched;
modifiers= Compose;
};
};

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,90 @@
-d------ -------- amiga(usa1)
-------- -------- amiga(de)
-d------ -------- ataritt(us)
-------- -------- ataritt(de)
-d------ -------- chicony(us)
-d------ -------- dell(dell101)
-------- -------- dell(dell65)
-------- -------- dell(dell65x)
-------- -------- dell(dellm65)
-------- -------- dell(latitude)
--p----- -------- digital_vndr/pc(common)
--p----- -------- digital_vndr/pc(leds_on_keys)
--p----- -------- digital_vndr/pc(leds_alone)
-------- -------- digital_vndr/pc(pc101)
-------- -------- digital_vndr/pc(pc102)
-------- -------- digital_vndr/pc(pcxaj)
-d------ -------- everex(STEPnote)
-d------ -------- fujitsu(138)
-------- -------- fujitsu(140)
-d------ -------- hhk(win1)
-------- -------- hhk(win2)
-------- -------- hhk(win3)
-------- -------- hhk(win4)
-------- -------- hhk(jp1)
-------- -------- hhk(jp2)
-------- -------- hhk(jp3)
-------- -------- hhk(jp4)
h-p----- -------- hhk(basic)
-d------ -------- hp(pc101)
-------- -------- hp(hil)
-------- -------- hp(omnibook)
-------- -------- hp(omnibook_intl)
-------- -------- hp(mini110)
-------- -------- hp(dv5)
-d------ -------- keytronic(FlexPro)
-d------ -------- kinesis(model100)
-d------ -------- macintosh(macintosh)
-------- -------- macintosh(applepro)
-------- -------- macintosh(macbook78)
-------- -------- macintosh(macbook79)
-------- -------- macintosh(applealu_ansi)
-------- -------- macintosh(applealu_iso)
-------- -------- macintosh(applealu_jis)
-d------ -------- microsoft(natural)
-------- -------- microsoft(elite)
-d------ -------- nec(pc98)
-d------ -------- nokia(nokiarx51)
-d------ -------- northgate(omnikey101)
-d------ -------- pc(pc101)
-------- -------- pc(pc102)
-------- -------- pc(pc104)
-------- -------- pc(pc105)
-------- -------- pc(pc86)
-------- -------- pc(pc104alt)
-d------ -------- sanwa(sanwaskbkg3)
-d------ -------- sony(nwp5461)
-d------ -------- steelseries(apex300)
-------- -------- sun(t6)
-------- -------- sun(t6tuv)
-------- -------- sun(t6jp)
-------- -------- sun(t6unix)
-d------ -------- sun(type6)
-------- -------- sun(type6jp)
-------- -------- sun(type6tuv)
-------- -------- sun(type6unix)
-------- -------- sun(type7)
-------- -------- sun(type7jp)
-------- -------- sun(type7tuv)
-------- -------- sun(type7unix)
-d------ -------- teck(teck227)
-------- -------- teck(teck229)
-------- -------- thinkpad(common)
-------- -------- thinkpad(us)
-------- -------- thinkpad(intl)
-------- -------- thinkpad(60)
-------- -------- typematrix(tm2020)
-------- -------- typematrix(tm2030_shape)
-------- -------- typematrix(tm2030_MiscDiod_dvk)
-------- -------- typematrix(tm2030_MiscDiod_102)
-------- -------- typematrix(tm2030_MiscDiod_106)
-------- -------- typematrix(tm2030_MiscDiod_off)
-------- -------- typematrix(tm2030_MiscDiod_on)
-------- -------- typematrix(tm2030USB_func)
-------- -------- typematrix(tm2030USB_alpha)
-------- -------- typematrix(tm2030USB_ctrl)
-------- -------- typematrix(tm2030PS2)
-------- -------- typematrix(tm2030USB)
-------- -------- typematrix(tm2030USB-102)
-------- -------- typematrix(tm2030USB-106)
-d------ -------- winbook(XP5)

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,36 @@
-d------ -------- aliases(qwerty)
-------- -------- aliases(azerty)
-------- -------- aliases(qwertz)
-d------ -------- amiga(usa1)
-------- -------- amiga(de)
-d------ -------- ataritt(us)
-------- -------- ataritt(de)
-d------ -------- empty(empty)
-d------ -------- evdev(evdev)
-d------ -------- fujitsu(138)
-d------ -------- hp(hp-101)
-------- -------- hp(hil)
-------- -------- ibm(rs6k-101)
-------- -------- ibm(rs6k-102)
-d------ -------- jolla(jolla)
-d------ -------- macintosh(macintosh)
-------- -------- macintosh(old)
-------- -------- macintosh(hhk)
-------- -------- macintosh(alukbd)
-------- -------- macintosh(jisevdev)
-d------ -------- olpc(olpc)
-------- -------- olpc(olpcm)
-------- -------- sony(nwp5461)
-------- -------- sun(type6)
-------- -------- sun(type6tuv)
-------- -------- sun(type6_jp)
-------- -------- sun(type6_euro)
-------- -------- sun(type6unix)
-d------ -------- sun(type6_usb)
-------- -------- sun(type6tuv_usb)
-------- -------- sun(type6_jp_usb)
-d------ -------- xfree86(xfree86)
-------- -------- xfree86(basic)
-------- -------- xfree86(102)
-------- -------- xfree86(thinkpadz60)
-d------ -------- xfree98(pc98)

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,598 @@
// 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
// 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;
alias <OUTP> = <I235>;
alias <KITG> = <I236>;
alias <KIDN> = <I237>;
alias <KIUP> = <I238>;
// Extended keys that may be generated on "Internet" keyboards.
// evdev has standardize names for these.
<LNFD> = 109; // #define KEY_LINEFEED 101
// Key codes below are autogenerated
<I120> = 120; // #define KEY_MACRO 112
alias <I121> = <MUTE>; // #define KEY_MUTE 113
alias <I122> = <VOL->; // #define KEY_VOLUMEDOWN 114
alias <I123> = <VOL+>; // #define KEY_VOLUMEUP 115
alias <I124> = <POWR>; // #define KEY_POWER 116
alias <I125> = <KPEQ>; // #define KEY_KPEQUAL 117
<I126> = 126; // #define KEY_KPPLUSMINUS 118
alias <I127> = <PAUS>; // #define KEY_PAUSE 119
<I128> = 128; // #define KEY_SCALE 120
<I129> = 129; // #define KEY_KPCOMMA 121
alias <I130> = <HNGL>; // #define KEY_HANGEUL 122
alias <I131> = <HJCV>; // #define KEY_HANJA 123
alias <I132> = <AE13>; // #define KEY_YEN 124
alias <I133> = <LWIN>; // #define KEY_LEFTMETA 125
alias <I134> = <RWIN>; // #define KEY_RIGHTMETA 126
alias <I135> = <COMP>; // #define KEY_COMPOSE 127
alias <I136> = <STOP>; // #define KEY_STOP 128
alias <I137> = <AGAI>; // #define KEY_AGAIN 129
alias <I138> = <PROP>; // #define KEY_PROPS 130
alias <I139> = <UNDO>; // #define KEY_UNDO 131
alias <I140> = <FRNT>; // #define KEY_FRONT 132
alias <I141> = <COPY>; // #define KEY_COPY 133
alias <I142> = <OPEN>; // #define KEY_OPEN 134
alias <I143> = <PAST>; // #define KEY_PASTE 135
alias <I144> = <FIND>; // #define KEY_FIND 136
alias <I145> = <CUT>; // #define KEY_CUT 137
alias <I146> = <HELP>; // #define KEY_HELP 138
<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_ROTATE_DISPLAY 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
alias <I191> = <FK13>; // #define KEY_F13 183
alias <I192> = <FK14>; // #define KEY_F14 184
alias <I193> = <FK15>; // #define KEY_F15 185
alias <I194> = <FK16>; // #define KEY_F16 186
alias <I195> = <FK17>; // #define KEY_F17 187
alias <I196> = <FK18>; // #define KEY_F18 188
alias <I197> = <FK19>; // #define KEY_F19 189
alias <I198> = <FK20>; // #define KEY_F20 190
alias <I199> = <FK21>; // #define KEY_F21 191
alias <I200> = <FK22>; // #define KEY_F22 192
alias <I201> = <FK23>; // #define KEY_F23 193
alias <I202> = <FK24>; // #define KEY_F24 194
<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_AUTO 244
<I253> = 253; // #define KEY_DISPLAY_OFF 245
<I254> = 254; // #define KEY_WWAN 246
<I255> = 255; // #define KEY_RFKILL 247
// Key codes below cannot be used in X
<I256> = 256; // #define KEY_MICMUTE 248
<I360> = 360; // #define KEY_OK 352
<I361> = 361; // #define KEY_SELECT 353
<I362> = 362; // #define KEY_GOTO 354
<I363> = 363; // #define KEY_CLEAR 355
<I364> = 364; // #define KEY_POWER2 356
<I365> = 365; // #define KEY_OPTION 357
<I366> = 366; // #define KEY_INFO 358
<I367> = 367; // #define KEY_TIME 359
<I368> = 368; // #define KEY_VENDOR 360
<I369> = 369; // #define KEY_ARCHIVE 361
<I370> = 370; // #define KEY_PROGRAM 362
<I371> = 371; // #define KEY_CHANNEL 363
<I372> = 372; // #define KEY_FAVORITES 364
<I373> = 373; // #define KEY_EPG 365
<I374> = 374; // #define KEY_PVR 366
<I375> = 375; // #define KEY_MHP 367
<I376> = 376; // #define KEY_LANGUAGE 368
<I377> = 377; // #define KEY_TITLE 369
<I378> = 378; // #define KEY_SUBTITLE 370
<I379> = 379; // #define KEY_ANGLE 371
<I380> = 380; // #define KEY_FULL_SCREEN 372
<I381> = 381; // #define KEY_MODE 373
<I382> = 382; // #define KEY_KEYBOARD 374
<I383> = 383; // #define KEY_ASPECT_RATIO 375
<I384> = 384; // #define KEY_PC 376
<I385> = 385; // #define KEY_TV 377
<I386> = 386; // #define KEY_TV2 378
<I387> = 387; // #define KEY_VCR 379
<I388> = 388; // #define KEY_VCR2 380
<I389> = 389; // #define KEY_SAT 381
<I390> = 390; // #define KEY_SAT2 382
<I391> = 391; // #define KEY_CD 383
<I392> = 392; // #define KEY_TAPE 384
<I393> = 393; // #define KEY_RADIO 385
<I394> = 394; // #define KEY_TUNER 386
<I395> = 395; // #define KEY_PLAYER 387
<I396> = 396; // #define KEY_TEXT 388
<I397> = 397; // #define KEY_DVD 389
<I398> = 398; // #define KEY_AUX 390
<I399> = 399; // #define KEY_MP3 391
<I400> = 400; // #define KEY_AUDIO 392
<I401> = 401; // #define KEY_VIDEO 393
<I402> = 402; // #define KEY_DIRECTORY 394
<I403> = 403; // #define KEY_LIST 395
<I404> = 404; // #define KEY_MEMO 396
<I405> = 405; // #define KEY_CALENDAR 397
<I406> = 406; // #define KEY_RED 398
<I407> = 407; // #define KEY_GREEN 399
<I408> = 408; // #define KEY_YELLOW 400
<I409> = 409; // #define KEY_BLUE 401
<I410> = 410; // #define KEY_CHANNELUP 402
<I411> = 411; // #define KEY_CHANNELDOWN 403
<I412> = 412; // #define KEY_FIRST 404
<I413> = 413; // #define KEY_LAST 405
<I414> = 414; // #define KEY_AB 406
<I415> = 415; // #define KEY_NEXT 407
<I416> = 416; // #define KEY_RESTART 408
<I417> = 417; // #define KEY_SLOW 409
<I418> = 418; // #define KEY_SHUFFLE 410
<I419> = 419; // #define KEY_BREAK 411
<I420> = 420; // #define KEY_PREVIOUS 412
<I421> = 421; // #define KEY_DIGITS 413
<I422> = 422; // #define KEY_TEEN 414
<I423> = 423; // #define KEY_TWEN 415
<I424> = 424; // #define KEY_VIDEOPHONE 416
<I425> = 425; // #define KEY_GAMES 417
<I426> = 426; // #define KEY_ZOOMIN 418
<I427> = 427; // #define KEY_ZOOMOUT 419
<I428> = 428; // #define KEY_ZOOMRESET 420
<I429> = 429; // #define KEY_WORDPROCESSOR 421
<I430> = 430; // #define KEY_EDITOR 422
<I431> = 431; // #define KEY_SPREADSHEET 423
<I432> = 432; // #define KEY_GRAPHICSEDITOR 424
<I433> = 433; // #define KEY_PRESENTATION 425
<I434> = 434; // #define KEY_DATABASE 426
<I435> = 435; // #define KEY_NEWS 427
<I436> = 436; // #define KEY_VOICEMAIL 428
<I437> = 437; // #define KEY_ADDRESSBOOK 429
<I438> = 438; // #define KEY_MESSENGER 430
<I439> = 439; // #define KEY_DISPLAYTOGGLE 431
<I440> = 440; // #define KEY_SPELLCHECK 432
<I441> = 441; // #define KEY_LOGOFF 433
<I442> = 442; // #define KEY_DOLLAR 434
<I443> = 443; // #define KEY_EURO 435
<I444> = 444; // #define KEY_FRAMEBACK 436
<I445> = 445; // #define KEY_FRAMEFORWARD 437
<I446> = 446; // #define KEY_CONTEXT_MENU 438
<I447> = 447; // #define KEY_MEDIA_REPEAT 439
<I448> = 448; // #define KEY_10CHANNELSUP 440
<I449> = 449; // #define KEY_10CHANNELSDOWN 441
<I450> = 450; // #define KEY_IMAGES 442
<I452> = 452; // #define KEY_NOTIFICATION_CENTER 444
<I453> = 453; // #define KEY_PICKUP_PHONE 445
<I454> = 454; // #define KEY_HANGUP_PHONE 446
<I456> = 456; // #define KEY_DEL_EOL 448
<I457> = 457; // #define KEY_DEL_EOS 449
<I458> = 458; // #define KEY_INS_LINE 450
<I459> = 459; // #define KEY_DEL_LINE 451
<I472> = 472; // #define KEY_FN 464
<I473> = 473; // #define KEY_FN_ESC 465
<I474> = 474; // #define KEY_FN_F1 466
<I475> = 475; // #define KEY_FN_F2 467
<I476> = 476; // #define KEY_FN_F3 468
<I477> = 477; // #define KEY_FN_F4 469
<I478> = 478; // #define KEY_FN_F5 470
<I479> = 479; // #define KEY_FN_F6 471
<I480> = 480; // #define KEY_FN_F7 472
<I481> = 481; // #define KEY_FN_F8 473
<I482> = 482; // #define KEY_FN_F9 474
<I483> = 483; // #define KEY_FN_F10 475
<I484> = 484; // #define KEY_FN_F11 476
<I485> = 485; // #define KEY_FN_F12 477
<I486> = 486; // #define KEY_FN_1 478
<I487> = 487; // #define KEY_FN_2 479
<I488> = 488; // #define KEY_FN_D 480
<I489> = 489; // #define KEY_FN_E 481
<I490> = 490; // #define KEY_FN_F 482
<I491> = 491; // #define KEY_FN_S 483
<I492> = 492; // #define KEY_FN_B 484
<I493> = 493; // #define KEY_FN_RIGHT_SHIFT 485
<I505> = 505; // #define KEY_BRL_DOT1 497
<I506> = 506; // #define KEY_BRL_DOT2 498
<I507> = 507; // #define KEY_BRL_DOT3 499
<I508> = 508; // #define KEY_BRL_DOT4 500
<I509> = 509; // #define KEY_BRL_DOT5 501
<I510> = 510; // #define KEY_BRL_DOT6 502
<I511> = 511; // #define KEY_BRL_DOT7 503
<I512> = 512; // #define KEY_BRL_DOT8 504
<I513> = 513; // #define KEY_BRL_DOT9 505
<I514> = 514; // #define KEY_BRL_DOT10 506
<I520> = 520; // #define KEY_NUMERIC_0 512
<I521> = 521; // #define KEY_NUMERIC_1 513
<I522> = 522; // #define KEY_NUMERIC_2 514
<I523> = 523; // #define KEY_NUMERIC_3 515
<I524> = 524; // #define KEY_NUMERIC_4 516
<I525> = 525; // #define KEY_NUMERIC_5 517
<I526> = 526; // #define KEY_NUMERIC_6 518
<I527> = 527; // #define KEY_NUMERIC_7 519
<I528> = 528; // #define KEY_NUMERIC_8 520
<I529> = 529; // #define KEY_NUMERIC_9 521
<I530> = 530; // #define KEY_NUMERIC_STAR 522
<I531> = 531; // #define KEY_NUMERIC_POUND 523
<I532> = 532; // #define KEY_NUMERIC_A 524
<I533> = 533; // #define KEY_NUMERIC_B 525
<I534> = 534; // #define KEY_NUMERIC_C 526
<I535> = 535; // #define KEY_NUMERIC_D 527
<I536> = 536; // #define KEY_CAMERA_FOCUS 528
<I537> = 537; // #define KEY_WPS_BUTTON 529
<I538> = 538; // #define KEY_TOUCHPAD_TOGGLE 530
<I539> = 539; // #define KEY_TOUCHPAD_ON 531
<I540> = 540; // #define KEY_TOUCHPAD_OFF 532
<I541> = 541; // #define KEY_CAMERA_ZOOMIN 533
<I542> = 542; // #define KEY_CAMERA_ZOOMOUT 534
<I543> = 543; // #define KEY_CAMERA_UP 535
<I544> = 544; // #define KEY_CAMERA_DOWN 536
<I545> = 545; // #define KEY_CAMERA_LEFT 537
<I546> = 546; // #define KEY_CAMERA_RIGHT 538
<I547> = 547; // #define KEY_ATTENDANT_ON 539
<I548> = 548; // #define KEY_ATTENDANT_OFF 540
<I549> = 549; // #define KEY_ATTENDANT_TOGGLE 541
<I550> = 550; // #define KEY_LIGHTS_TOGGLE 542
<I568> = 568; // #define KEY_ALS_TOGGLE 560
<I569> = 569; // #define KEY_ROTATE_LOCK_TOGGLE 561
<I584> = 584; // #define KEY_BUTTONCONFIG 576
<I585> = 585; // #define KEY_TASKMANAGER 577
<I586> = 586; // #define KEY_JOURNAL 578
<I587> = 587; // #define KEY_CONTROLPANEL 579
<I588> = 588; // #define KEY_APPSELECT 580
<I589> = 589; // #define KEY_SCREENSAVER 581
<I590> = 590; // #define KEY_VOICECOMMAND 582
<I591> = 591; // #define KEY_ASSISTANT 583
<I592> = 592; // #define KEY_KBD_LAYOUT_NEXT 584
<I600> = 600; // #define KEY_BRIGHTNESS_MIN 592
<I601> = 601; // #define KEY_BRIGHTNESS_MAX 593
<I616> = 616; // #define KEY_KBDINPUTASSIST_PREV 608
<I617> = 617; // #define KEY_KBDINPUTASSIST_NEXT 609
<I618> = 618; // #define KEY_KBDINPUTASSIST_PREVGROUP 610
<I619> = 619; // #define KEY_KBDINPUTASSIST_NEXTGROUP 611
<I620> = 620; // #define KEY_KBDINPUTASSIST_ACCEPT 612
<I621> = 621; // #define KEY_KBDINPUTASSIST_CANCEL 613
<I622> = 622; // #define KEY_RIGHT_UP 614
<I623> = 623; // #define KEY_RIGHT_DOWN 615
<I624> = 624; // #define KEY_LEFT_UP 616
<I625> = 625; // #define KEY_LEFT_DOWN 617
<I626> = 626; // #define KEY_ROOT_MENU 618
<I627> = 627; // #define KEY_MEDIA_TOP_MENU 619
<I628> = 628; // #define KEY_NUMERIC_11 620
<I629> = 629; // #define KEY_NUMERIC_12 621
<I630> = 630; // #define KEY_AUDIO_DESC 622
<I631> = 631; // #define KEY_3D_MODE 623
<I632> = 632; // #define KEY_NEXT_FAVORITE 624
<I633> = 633; // #define KEY_STOP_RECORD 625
<I634> = 634; // #define KEY_PAUSE_RECORD 626
<I635> = 635; // #define KEY_VOD 627
<I636> = 636; // #define KEY_UNMUTE 628
<I637> = 637; // #define KEY_FASTREVERSE 629
<I638> = 638; // #define KEY_SLOWREVERSE 630
<I639> = 639; // #define KEY_DATA 631
<I640> = 640; // #define KEY_ONSCREEN_KEYBOARD 632
<I641> = 641; // #define KEY_PRIVACY_SCREEN_TOGGLE 633
<I642> = 642; // #define KEY_SELECTIVE_SCREENSHOT 634
<I664> = 664; // #define KEY_MACRO1 656
<I665> = 665; // #define KEY_MACRO2 657
<I666> = 666; // #define KEY_MACRO3 658
<I667> = 667; // #define KEY_MACRO4 659
<I668> = 668; // #define KEY_MACRO5 660
<I669> = 669; // #define KEY_MACRO6 661
<I670> = 670; // #define KEY_MACRO7 662
<I671> = 671; // #define KEY_MACRO8 663
<I672> = 672; // #define KEY_MACRO9 664
<I673> = 673; // #define KEY_MACRO10 665
<I674> = 674; // #define KEY_MACRO11 666
<I675> = 675; // #define KEY_MACRO12 667
<I676> = 676; // #define KEY_MACRO13 668
<I677> = 677; // #define KEY_MACRO14 669
<I678> = 678; // #define KEY_MACRO15 670
<I679> = 679; // #define KEY_MACRO16 671
<I680> = 680; // #define KEY_MACRO17 672
<I681> = 681; // #define KEY_MACRO18 673
<I682> = 682; // #define KEY_MACRO19 674
<I683> = 683; // #define KEY_MACRO20 675
<I684> = 684; // #define KEY_MACRO21 676
<I685> = 685; // #define KEY_MACRO22 677
<I686> = 686; // #define KEY_MACRO23 678
<I687> = 687; // #define KEY_MACRO24 679
<I688> = 688; // #define KEY_MACRO25 680
<I689> = 689; // #define KEY_MACRO26 681
<I690> = 690; // #define KEY_MACRO27 682
<I691> = 691; // #define KEY_MACRO28 683
<I692> = 692; // #define KEY_MACRO29 684
<I693> = 693; // #define KEY_MACRO30 685
<I696> = 696; // #define KEY_MACRO_RECORD_START 688
<I697> = 697; // #define KEY_MACRO_RECORD_STOP 689
<I698> = 698; // #define KEY_MACRO_PRESET_CYCLE 690
<I699> = 699; // #define KEY_MACRO_PRESET1 691
<I700> = 700; // #define KEY_MACRO_PRESET2 692
<I701> = 701; // #define KEY_MACRO_PRESET3 693
<I704> = 704; // #define KEY_KBD_LCD_MENU1 696
<I705> = 705; // #define KEY_KBD_LCD_MENU2 697
<I706> = 706; // #define KEY_KBD_LCD_MENU3 698
<I707> = 707; // #define KEY_KBD_LCD_MENU4 699
<I708> = 708; // #define KEY_KBD_LCD_MENU5 700
// End of autogenerated key codes
// 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>;
};

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,993 @@
! model
pc86 Generic 86-key PC
pc101 Generic 101-key PC
pc102 Generic 102-key PC
pc104 Generic 104-key PC
pc104alt Generic 104-key PC with L-shaped Enter key
pc105 Generic 105-key PC
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
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
microsoftsurface Microsoft Surface
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
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
chromebook Chromebook
! layout
us English (US)
af Dari
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 N'Ko (AZERTY)
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
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 (Latin)
jv Indonesian (Javanese)
my Malay (Jawi, Arabic Keyboard)
custom A user-defined custom Layout
! variant
chr us: Cherokee
haw us: Hawaiian
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)
colemak_dh us: English (Colemak-DH)
colemak_dh_iso us: English (Colemak-DH ISO)
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)
dvorak-mac us: English (Dvorak, Macintosh)
symbolic us: English (US, Symbolic)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply toggle the layout)
hbs us: Serbo-Croatian (US)
norman us: English (Norman)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
ps-olpc af: Pashto (Afghanistan, OLPC)
fa-olpc af: Dari (Afghanistan, OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals)
digits ara: Arabic (Eastern Arabic numerals)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals)
buckwalter ara: Arabic (Buckwalter)
olpc ara: Arabic (OLPC)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
veqilharxhi al: Albanian (Veqilharxhi)
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)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
ru by: Russian (Belarus)
intl by: Belarusian (intl.)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (Latin-9 only, alt.)
iso-alternate be: Belgian (ISO, alt.)
nodeadkeys be: Belgian (no 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, 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
ori-bolnagri in: Oriya (Bolnagri)
ori-wx in: Oriya (Wx)
olck in: Ol Chiki
tam_tamilnet in: Tamil (TamilNet '99)
tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals)
tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding)
tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding)
tam in: Tamil (InScript)
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 (Windows)
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)
iipa in: Indic IPA
marathi in: Marathi (enhanced InScript)
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US)
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)
bekl bg: Bulgarian (enhanced)
azerty-deadkeys dz: Kabyle (AZERTY, with dead keys)
qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys)
qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys)
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 phonetic, alt.)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
rif ma: Tarifit
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY, intl.)
azerty cm: Cameroon (AZERTY, intl.)
dvorak cm: Cameroon (Dvorak, intl.)
mmuock cm: Mmuock
zawgyi mm: Burmese Zawgyi
shn mm: Shan
zgt mm: Shan (Zawgyi Tai)
mnw mm: Mon
mnw-a1 mm: Mon (A1)
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian (intl.)
multi ca: Canadian (intl., 1st part)
multi-2gr ca: Canadian (intl., 2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
mon_trad cn: Mongolian (Bichig)
mon_trad_todo cn: Mongolian (Todo)
mon_trad_xibe cn: Mongolian (Xibe)
mon_trad_manchu cn: Mongolian (Manchu)
mon_trad_galik cn: Mongolian (Galik)
mon_todo_galik cn: Mongolian (Todo Galik)
mon_manchu_galik cn: Mongolian (Manchu Galik)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys)
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
qwerty-mac cz: Czech (QWERTY, Macintosh)
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 (Windows)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
us nl: Dutch (US)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US)
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)
winkeys fi: Finnish (Windows)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
bepo fr: French (BEPO)
bepo_latin9 fr: French (BEPO, Latin-9 only)
bepo_afnor fr: French (BEPO, AFNOR)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
afnor fr: French (AZERTY, AFNOR)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
us fr: French (US)
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)
e1 de: German (E1)
e2 de: German (E2)
T3 de: German (T3)
us de: German (US)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
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 (QWERTZ, 101-key, comma, dead keys)
101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys)
101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys)
101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys)
101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys)
101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys)
101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys)
101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys)
102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys)
102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys)
102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys)
102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys)
102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys)
102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys)
102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys)
102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, 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 (Windows)
mac it: Italian (Macintosh)
us it: Italian (US)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
intl it: Italian (intl., with dead keys)
scn it: Sicilian
fur it: Friulian (Italy)
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)
latin kz: Kazakh (Latin)
stea la: Lao (STEA)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
dvorak latam: Spanish (Latin American, Dvorak)
colemak latam: Spanish (Latin American, Colemak)
colemak-gaming latam: Spanish (Latin American, Colemak for gaming)
std lt: Lithuanian (standard)
us lt: Lithuanian (US)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
sgs lt: Samogitian
ratise lt: Lithuanian (Ratise)
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 (US)
alt-us mt: Maltese (US, with AltGr overrides)
alt-gb mt: Maltese (UK, with AltGr overrides)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Windows)
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)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
std ro: Romanian (standard)
winkeys ro: Romanian (Windows)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, Windows)
phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY)
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 (Windows)
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)
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 (Windows)
deadtilde es: Spanish (dead tilde)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and 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 (Dvorak, intl.)
us se: Swedish (US)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no 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, TamilNet '99)
tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding)
us lk: Sinhala (US)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
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)
ot tr: Ottoman (Q)
otf tr: Ottoman (F)
otk tr: Old Turkic
otkf tr: Old Turkic (F)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Windows)
macOS ua: Ukrainian (macOS)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
crh ua: Crimean Tatar (Turkish Q)
crh_f ua: Crimean Tatar (Turkish F)
crh_alt ua: Crimean Tatar (Turkish Alt-Q)
extd gb: English (UK, extended, Windows)
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, Macintosh, intl.)
colemak gb: English (UK, Colemak)
colemak_dh gb: English (UK, Colemak-DH)
pl gb: Polish (British keyboard)
gla gb: Scottish Gaelic
latin uz: Uzbek (Latin)
us vn: Vietnamese (US)
fr vn: Vietnamese (French)
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 (legacy)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
left_hand_invert brai: Braille (left-handed inverted thumb)
right_hand brai: Braille (right-handed)
right_hand_invert brai: Braille (right-handed inverted thumb)
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 id: Indonesian (Arab Pegon, phonetic)
phoneticx id: Indonesian (Arab Pegon, extended phonetic)
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 Right 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
lv2 Key to choose the 2nd level
lv2:lsgt_switch The "&lt; &gt;" key
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 The "&lt; &gt;" key
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 The "&lt; &gt;" key; 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:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper
ctrl:ac_ctrl To the left of "A"
ctrl:aa_ctrl At the 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
mod_led Use keyboard LED to indicate modifiers
mod_led:compose Compose
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode arrows and math operators
keypad:future Unicode arrows and math operators on default level
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators
keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level
keypad:hex Hexadecimal
keypad:atm Phone and ATM 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 Shift Lock (affects all keys)
caps:swapescape Swap Esc and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock
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 Make Caps Lock an additional Ctrl
caps:none Caps Lock is disabled
altwin Alt and Win behavior
altwin:menu Add the standard behavior to Menu key
altwin:menu_win Menu is mapped to Win
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
altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt 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 The "&lt; &gt;" key
compose:102-altgr 3rd level of the "&lt; &gt;" key
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat 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 arrows. Num Lock off: arrows (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 emulates Pause, PrtSc, Scroll Lock
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:apl Enable APL overlay 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 Currency signs
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 The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch_lock_cancel The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
nbsp Non-breaking space input
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:ralt_hangul Make right Alt a Hangul key
korean:rctrl_hangul Make right Ctrl a Hangul key
korean:ralt_hanja Make right Alt a Hanja key
korean:rctrl_hanja Make right Ctrl a Hanja key
esperanto Esperanto letters with superscripts
esperanto:qwerty At the corresponding key in a QWERTY layout
esperanto:dvorak At the corresponding key in a Dvorak layout
esperanto:colemak At the corresponding key in a Colemak layout
solaris Old Solaris keycodes compatibility
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,993 @@
! model
pc86 Generic 86-key PC
pc101 Generic 101-key PC
pc102 Generic 102-key PC
pc104 Generic 104-key PC
pc104alt Generic 104-key PC with L-shaped Enter key
pc105 Generic 105-key PC
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
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
microsoftsurface Microsoft Surface
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
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
chromebook Chromebook
! layout
us English (US)
af Dari
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 N'Ko (AZERTY)
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
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 (Latin)
jv Indonesian (Javanese)
my Malay (Jawi, Arabic Keyboard)
custom A user-defined custom Layout
! variant
chr us: Cherokee
haw us: Hawaiian
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)
colemak_dh us: English (Colemak-DH)
colemak_dh_iso us: English (Colemak-DH ISO)
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)
dvorak-mac us: English (Dvorak, Macintosh)
symbolic us: English (US, Symbolic)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply toggle the layout)
hbs us: Serbo-Croatian (US)
norman us: English (Norman)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
ps-olpc af: Pashto (Afghanistan, OLPC)
fa-olpc af: Dari (Afghanistan, OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals)
digits ara: Arabic (Eastern Arabic numerals)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals)
buckwalter ara: Arabic (Buckwalter)
olpc ara: Arabic (OLPC)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
veqilharxhi al: Albanian (Veqilharxhi)
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)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
ru by: Russian (Belarus)
intl by: Belarusian (intl.)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (Latin-9 only, alt.)
iso-alternate be: Belgian (ISO, alt.)
nodeadkeys be: Belgian (no 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, 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
ori-bolnagri in: Oriya (Bolnagri)
ori-wx in: Oriya (Wx)
olck in: Ol Chiki
tam_tamilnet in: Tamil (TamilNet '99)
tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals)
tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding)
tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding)
tam in: Tamil (InScript)
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 (Windows)
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)
iipa in: Indic IPA
marathi in: Marathi (enhanced InScript)
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US)
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)
bekl bg: Bulgarian (enhanced)
azerty-deadkeys dz: Kabyle (AZERTY, with dead keys)
qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys)
qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys)
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 phonetic, alt.)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
rif ma: Tarifit
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY, intl.)
azerty cm: Cameroon (AZERTY, intl.)
dvorak cm: Cameroon (Dvorak, intl.)
mmuock cm: Mmuock
zawgyi mm: Burmese Zawgyi
shn mm: Shan
zgt mm: Shan (Zawgyi Tai)
mnw mm: Mon
mnw-a1 mm: Mon (A1)
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian (intl.)
multi ca: Canadian (intl., 1st part)
multi-2gr ca: Canadian (intl., 2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
mon_trad cn: Mongolian (Bichig)
mon_trad_todo cn: Mongolian (Todo)
mon_trad_xibe cn: Mongolian (Xibe)
mon_trad_manchu cn: Mongolian (Manchu)
mon_trad_galik cn: Mongolian (Galik)
mon_todo_galik cn: Mongolian (Todo Galik)
mon_manchu_galik cn: Mongolian (Manchu Galik)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys)
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
qwerty-mac cz: Czech (QWERTY, Macintosh)
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 (Windows)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
us nl: Dutch (US)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US)
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)
winkeys fi: Finnish (Windows)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
bepo fr: French (BEPO)
bepo_latin9 fr: French (BEPO, Latin-9 only)
bepo_afnor fr: French (BEPO, AFNOR)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
afnor fr: French (AZERTY, AFNOR)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
us fr: French (US)
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)
e1 de: German (E1)
e2 de: German (E2)
T3 de: German (T3)
us de: German (US)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
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 (QWERTZ, 101-key, comma, dead keys)
101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys)
101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys)
101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys)
101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys)
101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys)
101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys)
101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys)
102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys)
102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys)
102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys)
102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys)
102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys)
102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys)
102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys)
102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, 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 (Windows)
mac it: Italian (Macintosh)
us it: Italian (US)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
intl it: Italian (intl., with dead keys)
scn it: Sicilian
fur it: Friulian (Italy)
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)
latin kz: Kazakh (Latin)
stea la: Lao (STEA)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
dvorak latam: Spanish (Latin American, Dvorak)
colemak latam: Spanish (Latin American, Colemak)
colemak-gaming latam: Spanish (Latin American, Colemak for gaming)
std lt: Lithuanian (standard)
us lt: Lithuanian (US)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
sgs lt: Samogitian
ratise lt: Lithuanian (Ratise)
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 (US)
alt-us mt: Maltese (US, with AltGr overrides)
alt-gb mt: Maltese (UK, with AltGr overrides)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Windows)
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)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
std ro: Romanian (standard)
winkeys ro: Romanian (Windows)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, Windows)
phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY)
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 (Windows)
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)
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 (Windows)
deadtilde es: Spanish (dead tilde)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and 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 (Dvorak, intl.)
us se: Swedish (US)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no 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, TamilNet '99)
tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding)
us lk: Sinhala (US)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
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)
ot tr: Ottoman (Q)
otf tr: Ottoman (F)
otk tr: Old Turkic
otkf tr: Old Turkic (F)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Windows)
macOS ua: Ukrainian (macOS)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
crh ua: Crimean Tatar (Turkish Q)
crh_f ua: Crimean Tatar (Turkish F)
crh_alt ua: Crimean Tatar (Turkish Alt-Q)
extd gb: English (UK, extended, Windows)
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, Macintosh, intl.)
colemak gb: English (UK, Colemak)
colemak_dh gb: English (UK, Colemak-DH)
pl gb: Polish (British keyboard)
gla gb: Scottish Gaelic
latin uz: Uzbek (Latin)
us vn: Vietnamese (US)
fr vn: Vietnamese (French)
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 (legacy)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
left_hand_invert brai: Braille (left-handed inverted thumb)
right_hand brai: Braille (right-handed)
right_hand_invert brai: Braille (right-handed inverted thumb)
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 id: Indonesian (Arab Pegon, phonetic)
phoneticx id: Indonesian (Arab Pegon, extended phonetic)
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 Right 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
lv2 Key to choose the 2nd level
lv2:lsgt_switch The "&lt; &gt;" key
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 The "&lt; &gt;" key
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 The "&lt; &gt;" key; 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:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper
ctrl:ac_ctrl To the left of "A"
ctrl:aa_ctrl At the 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
mod_led Use keyboard LED to indicate modifiers
mod_led:compose Compose
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode arrows and math operators
keypad:future Unicode arrows and math operators on default level
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators
keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level
keypad:hex Hexadecimal
keypad:atm Phone and ATM 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 Shift Lock (affects all keys)
caps:swapescape Swap Esc and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock
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 Make Caps Lock an additional Ctrl
caps:none Caps Lock is disabled
altwin Alt and Win behavior
altwin:menu Add the standard behavior to Menu key
altwin:menu_win Menu is mapped to Win
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
altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt 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 The "&lt; &gt;" key
compose:102-altgr 3rd level of the "&lt; &gt;" key
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat 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 arrows. Num Lock off: arrows (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 emulates Pause, PrtSc, Scroll Lock
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:apl Enable APL overlay 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 Currency signs
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 The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch_lock_cancel The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
nbsp Non-breaking space input
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:ralt_hangul Make right Alt a Hangul key
korean:rctrl_hangul Make right Ctrl a Hangul key
korean:ralt_hanja Make right Alt a Hanja key
korean:rctrl_hanja Make right Ctrl a Hanja key
esperanto Esperanto letters with superscripts
esperanto:qwerty At the corresponding key in a QWERTY layout
esperanto:dvorak At the corresponding key in a Dvorak layout
esperanto:colemak At the corresponding key in a Colemak layout
solaris Old Solaris keycodes compatibility
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,30 @@
//
// 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:swapcaps_hyper = +ctrl(swapcaps_hyper)
ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout)
ctrl:ctrl_ac = +ctrl(ctrl_ac)
ctrl:ctrl_aa = +ctrl(ctrl_aa)

View File

@@ -0,0 +1,56 @@
<!--
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)>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,993 @@
! model
pc86 Generic 86-key PC
pc101 Generic 101-key PC
pc102 Generic 102-key PC
pc104 Generic 104-key PC
pc104alt Generic 104-key PC with L-shaped Enter key
pc105 Generic 105-key PC
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
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
microsoftsurface Microsoft Surface
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
teck227 Truly Ergonomic 227
teck229 Truly Ergonomic 229
apex300 SteelSeries Apex 300 (Apex RAW)
chromebook Chromebook
! layout
us English (US)
af Dari
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 N'Ko (AZERTY)
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
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 (Latin)
jv Indonesian (Javanese)
my Malay (Jawi, Arabic Keyboard)
custom A user-defined custom Layout
! variant
chr us: Cherokee
haw us: Hawaiian
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)
colemak_dh us: English (Colemak-DH)
colemak_dh_iso us: English (Colemak-DH ISO)
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)
dvorak-mac us: English (Dvorak, Macintosh)
symbolic us: English (US, Symbolic)
rus us: Russian (US, phonetic)
mac us: English (Macintosh)
altgr-intl us: English (intl., with AltGr dead keys)
olpc2 us: English (the divide/multiply toggle the layout)
hbs us: Serbo-Croatian (US)
norman us: English (Norman)
workman us: English (Workman)
workman-intl us: English (Workman, intl., with dead keys)
ps af: Pashto
uz af: Uzbek (Afghanistan)
ps-olpc af: Pashto (Afghanistan, OLPC)
fa-olpc af: Dari (Afghanistan, OLPC)
uz-olpc af: Uzbek (Afghanistan, OLPC)
azerty ara: Arabic (AZERTY)
azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals)
digits ara: Arabic (Eastern Arabic numerals)
qwerty ara: Arabic (QWERTY)
qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals)
buckwalter ara: Arabic (Buckwalter)
olpc ara: Arabic (OLPC)
mac ara: Arabic (Macintosh)
plisi al: Albanian (Plisi)
veqilharxhi al: Albanian (Veqilharxhi)
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)
mac at: German (Austria, Macintosh)
cyrillic az: Azerbaijani (Cyrillic)
legacy by: Belarusian (legacy)
latin by: Belarusian (Latin)
ru by: Russian (Belarus)
intl by: Belarusian (intl.)
oss be: Belgian (alt.)
oss_latin9 be: Belgian (Latin-9 only, alt.)
iso-alternate be: Belgian (ISO, alt.)
nodeadkeys be: Belgian (no 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, 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
ori-bolnagri in: Oriya (Bolnagri)
ori-wx in: Oriya (Wx)
olck in: Ol Chiki
tam_tamilnet in: Tamil (TamilNet '99)
tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals)
tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding)
tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding)
tam in: Tamil (InScript)
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 (Windows)
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)
iipa in: Indic IPA
marathi in: Marathi (enhanced InScript)
alternatequotes ba: Bosnian (with guillemets)
unicode ba: Bosnian (with Bosnian digraphs)
unicodeus ba: Bosnian (US, with Bosnian digraphs)
us ba: Bosnian (US)
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)
bekl bg: Bulgarian (enhanced)
azerty-deadkeys dz: Kabyle (AZERTY, with dead keys)
qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys)
qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys)
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 phonetic, alt.)
tifinagh-extended ma: Berber (Morocco, Tifinagh extended)
tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic)
tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic)
rif ma: Tarifit
french cm: French (Cameroon)
qwerty cm: Cameroon Multilingual (QWERTY, intl.)
azerty cm: Cameroon (AZERTY, intl.)
dvorak cm: Cameroon (Dvorak, intl.)
mmuock cm: Mmuock
zawgyi mm: Burmese Zawgyi
shn mm: Shan
zgt mm: Shan (Zawgyi Tai)
mnw mm: Mon
mnw-a1 mm: Mon (A1)
fr-dvorak ca: French (Canada, Dvorak)
fr-legacy ca: French (Canada, legacy)
multix ca: Canadian (intl.)
multi ca: Canadian (intl., 1st part)
multi-2gr ca: Canadian (intl., 2nd part)
ike ca: Inuktitut
eng ca: English (Canada)
mon_trad cn: Mongolian (Bichig)
mon_trad_todo cn: Mongolian (Todo)
mon_trad_xibe cn: Mongolian (Xibe)
mon_trad_manchu cn: Mongolian (Manchu)
mon_trad_galik cn: Mongolian (Galik)
mon_todo_galik cn: Mongolian (Todo Galik)
mon_manchu_galik cn: Mongolian (Manchu Galik)
tib cn: Tibetan
tib_asciinum cn: Tibetan (with ASCII numerals)
ug cn: Uyghur
altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys)
alternatequotes hr: Croatian (with guillemets)
unicode hr: Croatian (with Croatian digraphs)
unicodeus hr: Croatian (US, with Croatian digraphs)
us hr: Croatian (US)
bksl cz: Czech (with &lt;\|&gt; key)
qwerty cz: Czech (QWERTY)
qwerty_bksl cz: Czech (QWERTY, extended backslash)
qwerty-mac cz: Czech (QWERTY, Macintosh)
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 (Windows)
mac dk: Danish (Macintosh)
mac_nodeadkeys dk: Danish (Macintosh, no dead keys)
dvorak dk: Danish (Dvorak)
us nl: Dutch (US)
mac nl: Dutch (Macintosh)
std nl: Dutch (standard)
nodeadkeys ee: Estonian (no dead keys)
dvorak ee: Estonian (Dvorak)
us ee: Estonian (US)
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)
winkeys fi: Finnish (Windows)
classic fi: Finnish (classic)
nodeadkeys fi: Finnish (classic, no dead keys)
smi fi: Northern Saami (Finland)
mac fi: Finnish (Macintosh)
nodeadkeys fr: French (no dead keys)
oss fr: French (alt.)
oss_latin9 fr: French (alt., Latin-9 only)
oss_nodeadkeys fr: French (alt., no dead keys)
latin9 fr: French (legacy, alt.)
latin9_nodeadkeys fr: French (legacy, alt., no dead keys)
bepo fr: French (BEPO)
bepo_latin9 fr: French (BEPO, Latin-9 only)
bepo_afnor fr: French (BEPO, AFNOR)
dvorak fr: French (Dvorak)
mac fr: French (Macintosh)
azerty fr: French (AZERTY)
afnor fr: French (AZERTY, AFNOR)
bre fr: French (Breton)
oci fr: Occitan
geo fr: Georgian (France, AZERTY Tskapo)
us fr: French (US)
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)
e1 de: German (E1)
e2 de: German (E2)
T3 de: German (T3)
us de: German (US)
ro de: Romanian (Germany)
ro_nodeadkeys de: Romanian (Germany, no dead keys)
dvorak de: German (Dvorak)
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 (QWERTZ, 101-key, comma, dead keys)
101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys)
101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys)
101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys)
101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys)
101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys)
101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys)
101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys)
102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys)
102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys)
102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys)
102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys)
102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys)
102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys)
102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys)
102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, 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 (Windows)
mac it: Italian (Macintosh)
us it: Italian (US)
geo it: Georgian (Italy)
ibm it: Italian (IBM 142)
intl it: Italian (intl., with dead keys)
scn it: Sicilian
fur it: Friulian (Italy)
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)
latin kz: Kazakh (Latin)
stea la: Lao (STEA)
nodeadkeys latam: Spanish (Latin American, no dead keys)
deadtilde latam: Spanish (Latin American, dead tilde)
dvorak latam: Spanish (Latin American, Dvorak)
colemak latam: Spanish (Latin American, Colemak)
colemak-gaming latam: Spanish (Latin American, Colemak for gaming)
std lt: Lithuanian (standard)
us lt: Lithuanian (US)
ibm lt: Lithuanian (IBM LST 1205-92)
lekp lt: Lithuanian (LEKP)
lekpa lt: Lithuanian (LEKPa)
sgs lt: Samogitian
ratise lt: Lithuanian (Ratise)
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 (US)
alt-us mt: Maltese (US, with AltGr overrides)
alt-gb mt: Maltese (UK, with AltGr overrides)
nodeadkeys no: Norwegian (no dead keys)
winkeys no: Norwegian (Windows)
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)
mac pt: Portuguese (Macintosh)
mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys)
nativo pt: Portuguese (Nativo)
nativo-us pt: Portuguese (Nativo for US keyboards)
nativo-epo pt: Esperanto (Portugal, Nativo)
std ro: Romanian (standard)
winkeys ro: Romanian (Windows)
phonetic ru: Russian (phonetic)
phonetic_winkeys ru: Russian (phonetic, Windows)
phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY)
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 (Windows)
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)
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 (Windows)
deadtilde es: Spanish (dead tilde)
dvorak es: Spanish (Dvorak)
ast es: Asturian (Spain, with bottom-dot H and 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 (Dvorak, intl.)
us se: Swedish (US)
swl se: Swedish Sign Language
legacy ch: German (Switzerland, legacy)
de_nodeadkeys ch: German (Switzerland, no dead keys)
fr ch: French (Switzerland)
fr_nodeadkeys ch: French (Switzerland, no 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, TamilNet '99)
tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding)
us lk: Sinhala (US)
tis th: Thai (TIS-820.2538)
pat th: Thai (Pattachote)
f tr: Turkish (F)
alt tr: Turkish (Alt-Q)
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)
ot tr: Ottoman (Q)
otf tr: Ottoman (F)
otk tr: Old Turkic
otkf tr: Old Turkic (F)
indigenous tw: Taiwanese (indigenous)
saisiyat tw: Saisiyat (Taiwan)
phonetic ua: Ukrainian (phonetic)
typewriter ua: Ukrainian (typewriter)
winkeys ua: Ukrainian (Windows)
macOS ua: Ukrainian (macOS)
legacy ua: Ukrainian (legacy)
rstu ua: Ukrainian (standard RSTU)
rstu_ru ua: Russian (Ukraine, standard RSTU)
homophonic ua: Ukrainian (homophonic)
crh ua: Crimean Tatar (Turkish Q)
crh_f ua: Crimean Tatar (Turkish F)
crh_alt ua: Crimean Tatar (Turkish Alt-Q)
extd gb: English (UK, extended, Windows)
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, Macintosh, intl.)
colemak gb: English (UK, Colemak)
colemak_dh gb: English (UK, Colemak-DH)
pl gb: Polish (British keyboard)
gla gb: Scottish Gaelic
latin uz: Uzbek (Latin)
us vn: Vietnamese (US)
fr vn: Vietnamese (French)
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 (legacy)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)
left_hand brai: Braille (left-handed)
left_hand_invert brai: Braille (left-handed inverted thumb)
right_hand brai: Braille (right-handed)
right_hand_invert brai: Braille (right-handed inverted thumb)
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 id: Indonesian (Arab Pegon, phonetic)
phoneticx id: Indonesian (Arab Pegon, extended phonetic)
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 Right 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
lv2 Key to choose the 2nd level
lv2:lsgt_switch The "&lt; &gt;" key
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 The "&lt; &gt;" key
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 The "&lt; &gt;" key; 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:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper
ctrl:ac_ctrl To the left of "A"
ctrl:aa_ctrl At the 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
mod_led Use keyboard LED to indicate modifiers
mod_led:compose Compose
keypad Layout of numeric keypad
keypad:legacy Legacy
keypad:oss Unicode arrows and math operators
keypad:future Unicode arrows and math operators on default level
keypad:legacy_wang Legacy Wang 724
keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators
keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level
keypad:hex Hexadecimal
keypad:atm Phone and ATM 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 Shift Lock (affects all keys)
caps:swapescape Swap Esc and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock
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 Make Caps Lock an additional Ctrl
caps:none Caps Lock is disabled
altwin Alt and Win behavior
altwin:menu Add the standard behavior to Menu key
altwin:menu_win Menu is mapped to Win
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
altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl
altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt 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 The "&lt; &gt;" key
compose:102-altgr 3rd level of the "&lt; &gt;" key
compose:paus Pause
compose:prsc PrtSc
compose:sclk Scroll Lock
compat 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 arrows. Num Lock off: arrows (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 emulates Pause, PrtSc, Scroll Lock
shift:breaks_caps Shift cancels Caps Lock
misc:typo Enable extra typographic characters
misc:apl Enable APL overlay 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 Currency signs
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 The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch_lock_cancel The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lsgt_switch The "&lt; &gt;" key chooses 5th level
lv5:ralt_switch Right Alt chooses 5th level
lv5:menu_switch Menu chooses 5th level
lv5:lsgt_switch_lock The "&lt; &gt;" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser
nbsp Non-breaking space input
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:ralt_hangul Make right Alt a Hangul key
korean:rctrl_hangul Make right Ctrl a Hangul key
korean:ralt_hanja Make right Alt a Hanja key
korean:rctrl_hanja Make right Ctrl a Hanja key
esperanto Esperanto letters with superscripts
esperanto:qwerty At the corresponding key in a QWERTY layout
esperanto:dvorak At the corresponding key in a Dvorak layout
esperanto:colemak At the corresponding key in a Colemak layout
solaris Old Solaris keycodes compatibility
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

View File

@@ -0,0 +1,370 @@
// Keyboard layouts for Dari, Pashto, and Southern Uzbek.
// Created by M. Emal Alekozai <memala@gmx.net> in February 2006.
//
// Based on the "Computer Locale Requirements for Afghanistan" [1]
// from the "United Nations Development Programme for Afghanistan" and the
// "Afghan Transitional Islamic Administration Ministry of Communications".
// [1] https://www.evertype.com/standards/af/
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Dari";
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)"
};
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)"
};
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 "ps-olpc" {
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 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]= "Dari (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 ] }; // 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 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 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,153 @@
// Albanian keyboard layout, 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_belowcomma ] };
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)"
};
// EXTRAS:
// Veqilharxhi layout (https://arberisht.wordpress.com/2019/09/13/an-xkb-layout-for-the-veqilharxhi-alphabet/)
// by Arbër Boriçi (illyriensis@protonmail.com)
// 2019-09-12
partial alphanumeric_keys
xkb_symbols "veqilharxhi" {
include "us"
name[Group1]="Albanian (Veqilharxhi)";
// QWERTYUIOP
key <AD01> { [ U105B0, U10589 ] }; // 𐖰, 𐖉
key <AD02> { [ U1059F, U10578, w, W ] }; // 𐖟, 𐕸, w, W
key <AD03> { [ U1059E, U10577 ] }; // 𐖞, 𐕷
key <AD04> { [ U105B1, U1058A, U105B2, U1058B ] }; // 𐖱, 𐖊, 𐖲, 𐖋
key <AD05> { [ U105B5, U1058E, U105B6, U1058F ] }; // 𐖵, 𐖎, 𐖶, 𐖏
key <AD06> { [ U105BB, U10594 ] }; // 𐖻, 𐖔
key <AD07> { [ U105B7, U10590 ] }; // 𐖷, 𐖐
key <AD08> { [ U105A5, U1057E ] }; // 𐖥, 𐕾
key <AD09> { [ U105AE, U10587 ] }; // 𐖮, 𐖇
key <AD10> { [ U105AF, U10588 ] }; // 𐖯, 𐖈
// ASDFGHJKL
key <AC01> { [ U10597, U10570 ] }; // 𐖗, 𐕰
key <AC02> { [ U105B3, U1058C, U105B4, U1058D ] }; // 𐖳, 𐖌, 𐖴, 𐖍
key <AC03> { [ U1059C, U10575, U1059D, U10576 ] }; // 𐖜, 𐕵, 𐖝, 𐕶
key <AC04> { [ U105A0, U10579 ] }; // 𐖠, 𐕹
key <AC05> { [ U105A1, U1057A, U105A2, U1057B ] }; // 𐖡, 𐕺, 𐖢, 𐕻
key <AC06> { [ U105A3, U1057C ] }; // 𐖣, 𐕼
key <AC07> { [ U105A7, U10580 ] }; // 𐖧, 𐖀
key <AC08> { [ U105A8, U10581 ] }; // 𐖨, 𐖁
key <AC09> { [ U105A9, U10582, U105AA, U10583 ] }; // 𐖩, 𐖂, 𐖪, 𐖃
// ZXCVBNM
key <AB01> { [ U105BC, U10595, U105BD, U10596 ] }; // 𐖼, 𐖕, 𐖽, 𐖖
key <AB02> { [ U105B9, U10592, U105BA, U10593 ] }; // 𐖹, 𐖒, 𐖺, 𐖓
key <AB03> { [ U1059A, U10573, U1059B, U10574 ] }; // 𐖚, 𐕳, 𐖛, 𐕴
key <AB04> { [ U105B8, U10591 ] }; // 𐖸, 𐖑
key <AB05> { [ U10598, U10571 ] }; // 𐖘, 𐕱
key <AB06> { [ U105AC, U10585, U105AD, U10586 ] }; // 𐖬, 𐖅, 𐖭, 𐖆
key <AB07> { [ U105AB, U10584 ] }; // 𐖫, 𐖄
include "level3(ralt_switch)"
};

View File

@@ -0,0 +1,129 @@
// 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 Right Super and the usual Ctrl key.
partial modifier_keys
xkb_symbols "ctrl_rwin" {
key <RWIN> { [ Control_R ] };
modifier_map Control { <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 ] };
};
// Menu is mapped to the right Win key.
partial modifier_keys
xkb_symbols "menu_win" {
key <MENU> { [ Super_R ] };
};
// 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,235 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Armenian";
key <TLDE> { [ Armenian_separation_mark, Armenian_exclam ] };
key <LSGT> { [ question, Armenian_hyphen ] };
key <BKSL> { [ guillemotright, guillemotleft ] };
key <AE01> { [ Armenian_fe, Armenian_FE ] };
key <AE02> { [ Armenian_dza, Armenian_DZA ] };
key <AE03> { [ Armenian_hyphen, 0x1002014 ] };
key <AE04> { [ comma, dollar ] };
key <AE05> { [ Armenian_full_stop, 0x1002026 ] };
key <AE06> { [ Armenian_question, percent ] };
key <AE07> { [ 0x1002024, Armenian_ligature_ew ] };
key <AE08> { [ Armenian_accent, Armenian_apostrophe ] };
key <AE09> { [ parenright, parenleft ] };
key <AE10> { [ Armenian_o, Armenian_O ] };
key <AE11> { [ Armenian_e, Armenian_E ] };
key <AE12> { [ Armenian_ghat, Armenian_GHAT ] };
key <AD01> { [ Armenian_tche, Armenian_TCHE ] };
key <AD02> { [ Armenian_pyur, Armenian_PYUR ] };
key <AD03> { [ Armenian_ben, Armenian_BEN ] };
key <AD04> { [ Armenian_se, Armenian_SE ] };
key <AD05> { [ Armenian_men, Armenian_MEN ] };
key <AD06> { [ Armenian_vo, Armenian_VO ] };
key <AD07> { [ Armenian_vyun, Armenian_VYUN ] };
key <AD08> { [ Armenian_ken, Armenian_KEN ] };
key <AD09> { [ Armenian_at, Armenian_AT ] };
key <AD10> { [ Armenian_to, Armenian_TO ] };
key <AD11> { [ Armenian_tsa, Armenian_TSA ] };
key <AD12> { [ Armenian_tso, Armenian_TSO ] };
key <AC01> { [ Armenian_je, Armenian_JE ] };
key <AC02> { [ Armenian_vev, Armenian_VEV ] };
key <AC03> { [ Armenian_gim, Armenian_GIM ] };
key <AC04> { [ Armenian_yech, Armenian_YECH ] };
key <AC05> { [ Armenian_ayb, Armenian_AYB ] };
key <AC06> { [ Armenian_nu, Armenian_NU ] };
key <AC07> { [ Armenian_ini, Armenian_INI ] };
key <AC08> { [ Armenian_tyun, Armenian_TYUN ] };
key <AC09> { [ Armenian_ho, Armenian_HO ] };
key <AC10> { [ Armenian_pe, Armenian_PE ] };
key <AC11> { [ Armenian_re, Armenian_RE ] };
key <AB01> { [ Armenian_zhe, Armenian_ZHE ] };
key <AB02> { [ Armenian_da, Armenian_DA ] };
key <AB03> { [ Armenian_cha, Armenian_CHA ] };
key <AB04> { [ Armenian_hi, Armenian_HI ] };
key <AB05> { [ Armenian_za, Armenian_ZA ] };
key <AB06> { [ Armenian_lyun, Armenian_LYUN ] };
key <AB07> { [ Armenian_ke, Armenian_KE ] };
key <AB08> { [ Armenian_khe, Armenian_KHE ] };
key <AB09> { [ Armenian_sha, Armenian_SHA ] };
key <AB10> { [ Armenian_ra, Armenian_RA ] };
};
partial alphanumeric_keys
xkb_symbols "olpc" {
include "am(basic)"
include "group(olpc)"
};
xkb_symbols "phonetic" {
include "am(basic)"
name[Group1]= "Armenian (phonetic)";
key <BKSL> { [ Armenian_sha, Armenian_SHA ] };
key <AE01> { [ Armenian_e, Armenian_E ] };
key <AE02> { [ Armenian_to, Armenian_TO ] };
key <AE03> { [ Armenian_pyur, Armenian_PYUR ] };
key <AE04> { [ Armenian_dza, Armenian_DZA ] };
key <AE05> { [ Armenian_je, Armenian_JE ] };
key <AE06> { [ Armenian_vyun, Armenian_VYUN ] };
key <AE07> { [ Armenian_ligature_ew, 0x100058f ] };
key <AE08> { [ Armenian_ra, Armenian_RA ] };
key <AE09> { [ Armenian_cha, Armenian_CHA ] };
key <AE10> { [ Armenian_tche, Armenian_TCHE ] };
key <AE11> { [ Armenian_hyphen, 0x1002015 ] };
key <AE12> { [ Armenian_zhe, Armenian_ZHE ] };
key <LatQ> { [ Armenian_ke, Armenian_KE ] };
key <LatW> { [ Armenian_vo, Armenian_VO ] };
key <LatE> { [ Armenian_yech, Armenian_YECH ] };
key <LatR> { [ Armenian_re, Armenian_RE ] };
key <LatT> { [ Armenian_tyun, Armenian_TYUN ] };
key <LatY> { [ Armenian_at, Armenian_AT ] };
key <LatU> { [ Armenian_vyun, Armenian_VYUN ] };
key <LatI> { [ Armenian_ini, Armenian_INI ] };
key <LatO> { [ Armenian_o, Armenian_O ] };
key <LatP> { [ Armenian_pe, Armenian_PE ] };
key <AD11> { [ Armenian_khe, Armenian_KHE ] };
key <AD12> { [ Armenian_tsa, Armenian_TSA ] };
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_hi, Armenian_HI ] };
key <LatK> { [ Armenian_ken, Armenian_KEN ] };
key <LatL> { [ Armenian_lyun, Armenian_LYUN ] };
key <AC10> { [ semicolon, Armenian_full_stop ] };
key <AC11> { [ Armenian_accent, 0x1000022 ] };
key <LatZ> { [ Armenian_za, Armenian_ZA ] };
key <LatX> { [ Armenian_ghat, Armenian_GHAT ] };
key <LatC> { [ Armenian_tso, Armenian_TSO ] };
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> { [ 0x100002C, 0x10000AB ] };
key <AB09> { [ 0x1002024, 0x10000BB ] };
key <AB10> { [ 0x100002F, Armenian_question ] };
};
partial alphanumeric_keys
xkb_symbols "phonetic-alt" {
include "am(phonetic)"
name[Group1]= "Armenian (alt. phonetic)";
key <AE08> { [ Armenian_re, Armenian_RE ] };
key <LatR> { [ Armenian_ra, Armenian_RA ] };
};
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,687 @@
// 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 doesn't 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.
// 2018-07-02 added some codes to the Unicode Private Use page.
// 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 to a good APL keyboard without Dyalogs extras
name[Group1]="APL";
};
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// │ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ │ ∧ │ │ ┃ ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ ? │ ⍵ │ ∊ │ │ ~ │ ↑ │ ↓ │ │ ○ │ * │ ← │ ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ │ │ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ │ ⊥ │ │ | │ │ │ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
hidden partial alphanumeric_keys
xkb_symbols "common" {
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" {
include "apl(common)"
name[Group1]= "APL symbols (unified)";
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" {
include "apl(unified)"
name[Group1]= "APL symbols (SAX, Sharp APL for Unix)";
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" {
include "apl(common)"
name[Group1]= "APL symbols (IBM APL2)";
// 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" {
include "apl(apl2)"
name[Group1]= "APL symbols (Manugistics APL*PLUS II)";
// AFS is short for APL Functional Symbol
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" {
include "apl(unified)"
name[Group1]= "APL symbols (APLX 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
// add enclose underbar 2017-02-27
// add alpha underbar 2019-03-22
// add omega underbar 2019-03-22
// change all "partial hidden" to "hidden partial" - seems to be a compiler change
// 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.
hidden 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, U2376 ] }; // alpha, alpha underscore
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, U2379 ] }; // omega, omega underscore
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
};
hidden 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
};
hidden partial
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 │SA │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 2│TB │CT │SC │MC │RW │HT │RZ │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 3│BT │PT │RP │MR │Lw │TH │AC │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 4│EP │IN │NX │JP │Rw │RM │MA │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 5│UC │II │PV │D1 │Uc │CB │OF │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 6│DC │DI │RT │D2 │Dc │PR │FS │ │TO │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 7│RC │DP │RA │D3 │Ll │SR │FA │ │MO │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 8│LC │DB │ED │D4 │Rl │IS │TT │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 9│US │RD │TC │D5 │Ul │TL │FT │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// A│DS │TG │NB │U1 │Dl │UA │PL │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// B│RS │DK │NS │U2 │Us │AO │CA │ │ │
// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤
// 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
// ┌─────┐ ┌───┐
// │ CA │ │ZM │
// │ QT │ │ZM │
// └─────┘ └───┘
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ CB ┃
// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ BP ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ BT ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ TB ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ TC ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ED ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ MO ┃ ┃ ┃ ┃
// ┃ ┃ ┃ ┃ TO ┃ ┃ ┃ ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
key <BKSP> { [ Uf850, Uf855 ] }; // BP CB
key <ESC> { [ Uf800, Uf86b ] }; // QT CA
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] = "APL symbols (Dyalog APL)";
};
partial
xkb_symbols "level3" {
// #UNREGISTERED
name[Group1] = "APL on Level3";
//from apl(dyalog_base) -- any way to just include it shifted to level3?
key <AB01> { [ NoSymbol, NoSymbol, U2282, U2286 ] }; // subset of, enclose if simple
key <AB02> { [ NoSymbol, NoSymbol, U2283 ] }; // superset of
key <AB03> { [ NoSymbol, NoSymbol, U2229 ] }; // intersection
key <AB04> { [ NoSymbol, NoSymbol, U222A ] }; // union
key <AB05> { [ NoSymbol, NoSymbol, U22a5, U236d ] }; // up tack, stile tide
key <AB06> { [ NoSymbol, NoSymbol, U22a4, U2361 ] }; // down tack, down tack diaeresis
key <AB07> { [ NoSymbol, NoSymbol, bar, U2225 ] }; // vertical line, parallel to
key <AB08> { [ NoSymbol, NoSymbol, U235d, U236a ] }; // up shoe jot, comma bar
key <AB09> { [ NoSymbol, NoSymbol, U2340, U2359 ] }; // backslash bar, delta underbar
key <AB10> { [ NoSymbol, NoSymbol, U233f, U2360 ] }; // slash bar, quad colon
key <AC01> { [ NoSymbol, NoSymbol, U237a, U2376 ] }; // alpha, alpha underscore
key <AC02> { [ NoSymbol, NoSymbol, U2308 ] }; // left ceiling
key <AC03> { [ NoSymbol, NoSymbol, U230a ] }; // left floor
key <AC04> { [ NoSymbol, NoSymbol, underscore ] }; // low line
key <AC05> { [ NoSymbol, NoSymbol, U2207, U2362 ] }; // nabla, del diaerisis
key <AC06> { [ NoSymbol, NoSymbol, U2206 ] }; // increment
key <AC07> { [ NoSymbol, NoSymbol, U2218, U2364 ] }; // ring operator, jot diaeresis
key <AC08> { [ NoSymbol, NoSymbol, apostrophe, U2338 ] }; // quote, key
key <AC09> { [ NoSymbol, NoSymbol, U2395, U2337 ] }; // quad, squish quad
key <AC10> { [ NoSymbol, NoSymbol, U234e, U2261 ] }; // up tack jot, identical to
key <AC11> { [ NoSymbol, NoSymbol, U2355, U2262 ] }; // down tack jot, not identical to
key <AD01> { [ NoSymbol, NoSymbol, question, U2370 ] }; // ?, quad question
key <AD02> { [ NoSymbol, NoSymbol, U2375, U2379 ] }; // omega, omega underscore
key <AD03> { [ NoSymbol, NoSymbol, U220a, U2377 ] }; // small element of, epsilon underbar
key <AD04> { [ NoSymbol, NoSymbol, U2374, U233E ] }; // rho, circle jot
key <AD05> { [ NoSymbol, NoSymbol, asciitilde, U2368 ] }; // tilde, tilde diaeresis
key <AD06> { [ NoSymbol, NoSymbol, U2191 ] }; // upwards arrow
key <AD07> { [ NoSymbol, NoSymbol, U2193 ] }; // downwards arrow
key <AD08> { [ NoSymbol, NoSymbol, U2373, U2378 ] }; // iota, iota underbar
key <AD09> { [ NoSymbol, NoSymbol, U25cb, U2365 ] }; // circle, circle diaeresis
key <AD10> { [ NoSymbol, NoSymbol, asterisk, U2363 ] }; // asterisk, star diaeresis
key <AD11> { [ NoSymbol, NoSymbol, U2190, U235e ] }; // left arrow, quote quad
key <AD12> { [ NoSymbol, NoSymbol, U2192, U236c ] }; // right arrow, zilde
key <AE01> { [ NoSymbol, NoSymbol, diaeresis, U2336 ] }; // i-beam
key <AE02> { [ NoSymbol, NoSymbol, macron, U236B ] }; // deltilde
key <AE03> { [ NoSymbol, NoSymbol, less, U2352 ] }; // downgrade
key <AE04> { [ NoSymbol, NoSymbol, U2264, U234b ] }; // lesseq upgrade
key <AE05> { [ NoSymbol, NoSymbol, equal, U233d ] }; // circlestile
key <AE06> { [ NoSymbol, NoSymbol, U2265, U2349 ] }; // greatereq circleslope
key <AE07> { [ NoSymbol, NoSymbol, greater, U2296 ] }; // circlebar
key <AE08> { [ NoSymbol, NoSymbol, U2260, U235f ] }; // notequal, circlestar
key <AE09> { [ NoSymbol, NoSymbol, U2228, U2371 ] }; // logical or, down caret tilde
key <AE10> { [ NoSymbol, NoSymbol, U2227, U2372 ] }; // logical and, up caret tilde
key <AE11> { [ NoSymbol, NoSymbol, multiply, exclam ] };
key <AE12> { [ NoSymbol, NoSymbol, division, U2339 ] }; // quad divide
key <BKSL> { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack
key <LSGT> { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack
key <TLDE> { [ NoSymbol, NoSymbol, U22c4, U233a ] }; // diamond, quad diamond
};

View File

@@ -0,0 +1,558 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "Arabic";
key.type[Group1]="FOUR_LEVEL";
key <TLDE> { [ Arabic_thal, Arabic_shadda, Arabic_percent, U0609 ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎؉‎
key <AE01> { [ 1, exclam, Arabic_1, NoSymbol ]}; // 1 ! ١
key <AE02> { [ 2, at, Arabic_2, NoSymbol ]}; // 2 @ ٢
key <AE03> { [ 3, numbersign, Arabic_3, NoSymbol ]}; // 3 # ٣
key <AE04> { [ 4, dollar, Arabic_4, NoSymbol ]}; // 4 $ ٤
key <AE05> { [ 5, percent, Arabic_5, U2030 ]}; // 5 % ٥
key <AE06> { [ 6, asciicircum, Arabic_6, NoSymbol ]}; // 6 ^ ٦
key <AE07> { [ 7, ampersand, Arabic_7, NoSymbol ]}; // 7 & ٧
key <AE08> { [ 8, asterisk, Arabic_8, NoSymbol ]}; // 8 * ٨
key <AE09> { [ 9, parenright, Arabic_9, NoSymbol ]}; // 9 ) ٩
key <AE10> { [ 0, parenleft, Arabic_0, NoSymbol ]}; // 0 ( ٠
key <AE11> { [ minus, underscore, endash, U2011 ]}; // - _ Non-Breaking-Hyphen
key <AE12> { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈
key <AD01> { [ Arabic_dad, Arabic_fatha, NoSymbol, U2066 ]}; // ‎ض‎ ‎◌َ LEFTTORIGHT ISOLATE
key <AD02> { [ Arabic_sad, Arabic_fathatan, NoSymbol, U2067 ]}; // ‎ص‎ ‎◌ً RIGHTTOLEFT ISOLATE
key <AD03> { [ Arabic_theh, Arabic_damma, NoSymbol, U2068 ]}; // ‎ث‎ ‎◌ُ FIRST STRONG ISOLATE
key <AD04> { [ Arabic_qaf, Arabic_dammatan, NoSymbol, U2069 ]}; // ‎ق‎ ‎◌ٌ POP DIRECTIONAL ISOLATE
key <AD05> { [ Arabic_feh, UFEF9, Arabic_veh, NoSymbol ]}; // ‎ف‎ ‎ﻹ ‎ڤ
key <AD06> { [ Arabic_ghain,Arabic_hamzaunderalef, NoSymbol, U202A ]}; // ‎غ‎ ‎إ‎ LEFT-TO-RIGHT-EMBEDDING
key <AD07> { [ Arabic_ain, grave, NoSymbol, U202B ]}; // ‎ع‎ ` RIGHT-TO-LEFT EMBEDDING
key <AD08> { [ Arabic_ha, division, NoSymbol, U202C ]}; // ه ÷ POP DIRECTIONAL FORMATTING
key <AD09> { [ Arabic_khah, multiply, NoSymbol, NoSymbol ]}; // ‎خ‎ ×
key <AD10> { [ Arabic_hah, Arabic_semicolon, NoSymbol, U200E ]}; // ‎ح‎ ؛ LEFT-TO-RIGHT MARK
key <AD11> { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK
key <AD12> { [ Arabic_dal, greater, NoSymbol, U061C ]}; // ‎د‎ > ARABIC LETTER MARK
key <AC01> { [ Arabic_sheen, Arabic_kasra, NoSymbol, NoSymbol ]}; // ‎ش‎ ‎◌ِ‎
key <AC02> { [ Arabic_seen, Arabic_kasratan, NoSymbol, NoSymbol ]}; // ‎س‎ ‎◌ٍ‎
key <AC03> { [ Arabic_yeh, bracketright, NoSymbol, NoSymbol ]}; // ‎ي‎ ]
key <AC04> { [ Arabic_beh, bracketleft, Arabic_peh, NoSymbol ]}; // ‎ب‎ [ ‎پ‎
key <AC05> { [ Arabic_lam, U0FEF7, NoSymbol, NoSymbol ]}; // ‎ل‎ ‎ﻷ‎
key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, U0671, NoSymbol ]}; // ا ‎أ ‎ٱ‎
key <AC07> { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; // ‎ت‎ ‎ـ‎
key <AC08> { [ Arabic_noon, Arabic_comma, U066B, NoSymbol ]}; // ‎ن‎ ‎،‎ ٫
key <AC09> { [ Arabic_meem, slash, NoSymbol, NoSymbol ]}; // ‎م‎ /
key <AC10> { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; // ‎ك‎ : ‎گ‎
key <AC11> { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ
key <BKSL> { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP
key <LSGT> { [ bar, brokenbar, NoSymbol, NoSymbol ]}; // | ¦
key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ »
key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ «
key <AB03> { [Arabic_hamzaonwaw, braceright, NoSymbol, NoSymbol ]}; // ‎ؤ }
key <AB04> { [ Arabic_ra, braceleft, NoSymbol, NoSymbol ]}; // ‎ر‎ {
key <AB05> { [ UFEFB, UFEF5, NoSymbol, NoSymbol ]}; // ‎ﻻ‎ ‎ﻵ‎
key <AB06> {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, NoSymbol ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎
key <AB07> { [Arabic_tehmarbuta, apostrophe, NoSymbol, NoSymbol ]}; // ‎ة‎ '
key <AB08> { [ Arabic_waw, comma, U066C, NoSymbol ]}; // ‎و‎ , ‎٬
key <AB09> { [ Arabic_zain, period, Arabic_jeh, NoSymbol ]}; // ‎ز‎ . ‎ژ‎
key <AB10> { [ Arabic_zah, Arabic_question_mark, U066D, U200C ]}; // ‎ظ‎ ‎؟‎ ٭ ZWNJ
include "level3(ralt_switch)"
};
// Synonym for the default
partial alphanumeric_keys
xkb_symbols "qwerty" {
include "ara(basic)"
name[Group1]= "Arabic (QWERTY)";
};
// Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key.
// As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(digits) layout which includes it.
partial hidden keypad_keys
xkb_symbols "digits_KP" {
key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
key <KP7> { [ KP_Home, Arabic_7, 7, NoSymbol ] };
key <KP8> { [ KP_Up, Arabic_8, 8, NoSymbol ] };
key <KP9> { [ KP_Prior, Arabic_9, 9, NoSymbol ] };
key <KP4> { [ KP_Left, Arabic_4, 4, NoSymbol ] };
key <KP5> { [ KP_Begin, Arabic_5, 5, NoSymbol ] };
key <KP6> { [ KP_Right, Arabic_6, 6, NoSymbol ] };
key <KP1> { [ KP_End, Arabic_1, 1, NoSymbol ] };
key <KP2> { [ KP_Down, Arabic_2, 2, NoSymbol ] };
key <KP3> { [ KP_Next, Arabic_3, 3, NoSymbol ] };
key <KP0> { [ KP_Insert, Arabic_0, 0, NoSymbol ] };
include "kpdl(momayyezoss)"
};
// Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key.
partial alphanumeric_keys
xkb_symbols "digits" {
include "ara(basic)"
name[Group1]= "Arabic (Eastern Arabic numerals)";
key <TLDE> { [Arabic_thal,Arabic_shadda, percent,U2030]};
key <AE01> { [ Arabic_1, exclam, 1, NoSymbol ] };
key <AE02> { [ Arabic_2, at, 2, NoSymbol ] };
key <AE03> { [ Arabic_3, numbersign, 3, NoSymbol ] };
key <AE04> { [ Arabic_4, dollar, 4, NoSymbol ] };
key <AE05> { [ Arabic_5, Arabic_percent, 5, U0609 ] };
key <AE06> { [ Arabic_6, asciicircum, 6, NoSymbol ] };
key <AE07> { [ Arabic_7, ampersand, 7, NoSymbol ] };
key <AE08> { [ Arabic_8, asterisk, 8, NoSymbol ] };
key <AE09> { [ Arabic_9, parenright, 9, NoSymbol ] };
key <AE10> { [ Arabic_0, parenleft, 0, NoSymbol ] };
include "ara(digits_KP)"
};
// Synonym for the layout with the Latin-script and Arabic-script digits switched
partial alphanumeric_keys
xkb_symbols "qwerty_digits" {
include "ara(digits)"
name[Group1]= "Arabic (QWERTY, Eastern Arabic numerals)";
};
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 alphanumeric_keys
xkb_symbols "azerty_digits" {
include "ara(azerty)"
name[Group1]= "Arabic (AZERTY, Eastern Arabic numerals)";
key <AE01> { [ ampersand, Arabic_1, 1, NoSymbol ] };
key <AE02> { [ eacute, Arabic_2, 2, NoSymbol ] };
key <AE03> { [ quotedbl, Arabic_3, 3, NoSymbol ] };
key <AE04> { [ apostrophe, Arabic_4, 4, NoSymbol ] };
key <AE05> { [ parenleft, Arabic_5, 5, NoSymbol ] };
key <AE06> { [ minus, Arabic_6, 6, NoSymbol ] };
key <AE07> { [ egrave, Arabic_7, 7, NoSymbol ] };
key <AE08> { [ underscore, Arabic_8, 8, NoSymbol ] };
key <AE09> { [ ccedilla, Arabic_9, 9, NoSymbol ] };
key <AE10> { [ agrave, Arabic_0, 0, NoSymbol ] };
};
// 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)"
name[Group1]= "Arabic (OLPC)";
// This OLPC layout comprises the following changes in comparison to the default Arabic one:
// ‣ Arabic and European digits are swapped (which entails swapping of the percent and permille signs).
// ‣ Lām-ʾalif is eliminated. People type as they pronounce, and lam-alef is just a visual formatting of the
// sequence and thus arguably not used on the keyboard. This frees four slots which are used for the following three changes.
// ‣ The <TLDE> characters move:
// • Thal from <TLDE> to <AB05>
// • Shadda from <TLDE> to <AD05>
// ‣ £ and € obtain the <AE06> and <AE07> keys, the ^ and & signs previously occupying them take seat at <AB05> and <AC05>.
// ‣ The <TLDE> key gets grave ` and asciitilde ~ as on English keyboards.
// ‣ In sum the grave and asciitilde are present twice, as their erstwhile places are not removed.
// ‣ The braces }{ take the place of the less-than and greater-than >< signs,
// but these the place of kasra and kasratan which establish themselves in the braces former steads.
// ‣ The … character on <BKSL> is replaced by |, because OLPC laptops have no <LSGT> key installed where the bar is else placed.
key <TLDE> { [ grave, asciitilde, percent, U2030 ] };
key <AE01> { [ Arabic_1, exclam, 1 ] };
key <AE02> { [ Arabic_2, at, 2 ] };
key <AE03> { [ Arabic_3, numbersign, 3 ] };
key <AE04> { [ Arabic_4, dollar, 4 ] };
key <AE05> { [ Arabic_5, Arabic_percent, 5, U0609 ] };
key <AE06> { [ Arabic_6, sterling, 6 ] };
key <AE07> { [ Arabic_7, EuroSign, 7 ] };
key <AE08> { [ Arabic_8, asterisk, 8 ] };
key <AE09> { [ Arabic_9, parenright, 9 ] };
key <AE10> { [ Arabic_0, parenleft, 0 ] };
key <AD05> { [ Arabic_feh, Arabic_shadda ] };
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 <BKSL> { [ backslash, bar ] };
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)"
};
partial alphanumeric_keys
xkb_symbols "basic_ext" {
name[Group1]= "Arabic (Arabic numerals, extensions in the 4th level)";
key.type[Group1]="FOUR_LEVEL";
key <TLDE> { [ Arabic_thal, Arabic_shadda, Arabic_percent, Arabic_ddal ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎ڈ‎
key <AE01> { [ 1, exclam, Arabic_1, Farsi_1 ]}; // 1 ! ١ ۱
key <AE02> { [ 2, at, Arabic_2, Farsi_2 ]}; // 2 @ ٢ ۲
key <AE03> { [ 3, numbersign, Arabic_3, Farsi_3 ]}; // 3 # ٣ ۳
key <AE04> { [ 4, dollar, Arabic_4, Farsi_4 ]}; // 4 $ ٤ ۴
key <AE05> { [ 5, percent, Arabic_5, Farsi_5 ]}; // 5 % ٥ ۵
key <AE06> { [ 6, Farsi_yeh, Arabic_6, Farsi_6 ]}; // 6 ‎ی‎ ٦ ۶
key <AE07> { [ 7, ampersand, Arabic_7, Farsi_7 ]}; // 7 & ٧ ۷
key <AE08> { [ 8, asterisk, Arabic_8, Farsi_8 ]}; // 8 * ٨ ۸
key <AE09> { [ 9, parenright, Arabic_9, Farsi_9 ]}; // 9 ) ٩ ۹
key <AE10> { [ 0, parenleft, Arabic_0, Farsi_0 ]}; // 0 ( ٠۰
key <AE11> { [ minus, underscore, endash, U2011 ]}; // - _ Non-Breaking-Hyphen
key <AE12> { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈
key <AD01> { [ Arabic_dad, Arabic_fatha, U0689, U2066 ]}; // ‎ض‎ ‎◌َ ډ LEFTTORIGHT ISOLATE
key <AD02> { [ Arabic_sad, Arabic_fathatan, U06D5, U2067 ]}; // ‎ص‎ ‎◌ً ە RIGHTTOLEFT ISOLATE
key <AD03> { [ Arabic_theh, Arabic_damma, U067F, U2068 ]}; // ‎ث‎ ‎◌ُ ٿ FIRST STRONG ISOLATE
key <AD04> { [ Arabic_qaf, Arabic_dammatan, U06A6, U2069 ]}; // ‎ق‎ ‎◌ٌ ڦ POP DIRECTIONAL ISOLATE
key <AD05> { [ Arabic_feh, UFEF9, Arabic_veh, U068D ]}; // ‎ف‎ ‎ﻹ ‎ڤ ‎ڍ‎
key <AD06> { [ Arabic_ghain,Arabic_hamzaunderalef, U0685, U202A ]}; // ‎غ‎ ‎إ‎ ‎څ‎ LEFT-TO-RIGHT-EMBEDDING
key <AD07> { [ Arabic_ain, Arabic_rreh, Arabic_heh_goal, U202B ]}; // ‎ع‎ ‎ڑ‎ ہ RIGHT-TO-LEFT EMBEDDING
key <AD08> { [ Arabic_ha, division, Arabic_heh_doachashmee, U202C ]}; // ه ÷ ھ POP DIRECTIONAL FORMATTING
key <AD09> { [ Arabic_khah, multiply, U0681, U0687 ]}; // ‎خ‎ × ‎ځ‎ ‎ڇ‎
key <AD10> { [ Arabic_hah, Arabic_semicolon, U0683, U200E ]}; // ‎ح‎ ؛ ‎ڃ‎ LEFT-TO-RIGHT MARK
key <AD11> { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK
key <AD12> { [ Arabic_dal, greater, U0684, U061C ]}; // ‎د‎ > ‎ڄ‎ ARABIC LETTER MARK
key <AC01> { [ Arabic_sheen, Arabic_kasra, U06C6, U06C9 ]}; // ‎ش‎ ‎◌ِ‎ ‎ۆ‎ ‎ۉ‎
key <AC02> { [ Arabic_seen, Arabic_kasratan, U067C, U0680 ]}; // ‎س‎ ‎◌ٍ‎ ‎ټ‎ ‎ڀ‎
key <AC03> { [ Arabic_yeh, bracketright, U06D0, U06CD ]}; // ‎ي‎ ] ‎ې‎ ‎ۍ‎
key <AC04> { [ Arabic_beh, bracketleft, Arabic_peh, U067B ]}; // ‎ب‎ [ ‎پ‎ ‎ٻ‎
key <AC05> { [ Arabic_lam, U0FEF7, U076A, U0658 ]}; // ‎ل‎ ‎ﻷ‎ ‎ݪ‎ ٘‎◌‎
key <AC06> { [ Arabic_alef, Arabic_hamzaonalef, U0671, Arabic_noon_ghunna ]}; // ا ‎أ ‎ٱ‎ ‎ں‎
key <AC07> { [ Arabic_teh, Arabic_tatweel, U067D, U067A ]}; // ‎ت‎ ‎ـ‎ ‎ٽ‎ ٺ‎
key <AC08> { [ Arabic_noon, Arabic_comma, U066B, U06BB ]}; // ‎ن‎ ‎،‎ ٫ ڻ‎
key <AC09> { [ Arabic_meem, slash, U06B3, U06B1 ]}; // ‎م‎ / ‎ڳ‎ ‎ڱ‎
key <AC10> { [ Arabic_kaf, colon, Arabic_gaf, Arabic_keheh ]}; // ‎ك‎ : ‎گ‎ ‎ک‎
key <AC11> { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ
key <BKSL> { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP
key <LSGT> { [ bar, brokenbar, U06C0, U0620 ]}; // | ¦ ‎ۀ‎ ‎ؠ‎
key <AB01> { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ »
key <AB02> { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ «
key <AB03> { [Arabic_hamzaonwaw, braceright, U06C7, U0677 ]}; // ‎ؤ } ‎ۇ‎ ‎ٷ‎
key <AB04> { [ Arabic_ra, braceleft, U0693, U0699 ]}; // ‎ر‎ { ‎ړ ‎ڙ‎
key <AB05> { [ UFEFB, UFEF5, U06AB, U06AD ]}; // ‎ﻻ‎ ‎ﻵ‎ ‎ګ‎ ‎ڭ‎
key <AB06> {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, Arabic_yeh_baree ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ ‎ے‎
key <AB07> { [Arabic_tehmarbuta, apostrophe, Arabic_fullstop, U06AA ]}; // ‎ة‎ ' ۔ ‎ڪ‎
key <AB08> { [ Arabic_waw, comma, U066C, U06CB ]}; // ‎و‎ , ‎٬‎ ‎ۋ‎
key <AB09> { [ Arabic_zain, period, Arabic_jeh, U0696 ]}; // ‎ز‎ . ‎ژ‎ ‎ږ‎
key <AB10> { [ Arabic_zah, Arabic_question_mark, Arabic_tteh, U200C ]}; // ‎ظ‎ ‎؟‎ ‎ٹ‎ ZWNJ
include "level3(ralt_switch)"
};
// Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key.
// As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(basic_ext_digits) layout which includes it.
partial hidden keypad_keys
xkb_symbols "basic_ext_digits_KP" {
key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
key <KP7> { [ KP_Home, Arabic_7, 7, Farsi_7 ] };
key <KP8> { [ KP_Up, Arabic_8, 8, Farsi_8 ] };
key <KP9> { [ KP_Prior, Arabic_9, 9, Farsi_9 ] };
key <KP4> { [ KP_Left, Arabic_4, 4, Farsi_4 ] };
key <KP5> { [ KP_Begin, Arabic_5, 5, Farsi_5 ] };
key <KP6> { [ KP_Right, Arabic_6, 6, Farsi_6 ] };
key <KP1> { [ KP_End, Arabic_1, 1, Farsi_1 ] };
key <KP2> { [ KP_Down, Arabic_2, 2, Farsi_2 ] };
key <KP3> { [ KP_Next, Arabic_3, 3, Farsi_3 ] };
key <KP0> { [ KP_Insert, Arabic_0, 0, Farsi_0 ] };
include "kpdl(momayyezoss)"
};
// Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key.
// The alternative numeral glyphs used in some languages that employ the Arabic script are featured in the fourth layer.
partial alphanumeric_keys
xkb_symbols "basic_ext_digits" {
include "ara(basic_ext)"
name[Group1]= "Arabic (Eastern Arabic numerals, extensions in the 4th level)";
key <TLDE> { [Arabic_thal,Arabic_shadda, percent, Arabic_ddal ]};
key <AE01> { [ Arabic_1, exclam, 1, Farsi_1 ] };
key <AE02> { [ Arabic_2, at, 2, Farsi_2 ] };
key <AE03> { [ Arabic_3, numbersign, 3, Farsi_3 ] };
key <AE04> { [ Arabic_4, dollar, 4, Farsi_4 ] };
key <AE05> { [ Arabic_5, Arabic_percent, 5, Farsi_5 ] };
key <AE06> { [ Arabic_6, Farsi_yeh, 6, Farsi_6 ] };
key <AE07> { [ Arabic_7, ampersand, 7, Farsi_7 ] };
key <AE08> { [ Arabic_8, asterisk, 8, Farsi_8 ] };
key <AE09> { [ Arabic_9, parenright, 9, Farsi_9 ] };
key <AE10> { [ Arabic_0, parenleft, 0, Farsi_0 ] };
include "ara(basic_ext_digits_KP)"
};
// In this layout the Ugaritic characters get the places of the Arabic characters with the matching sound values.
partial alphanumeric_keys
xkb_symbols "uga" {
name[Group1]= "Ugaritic instead of Arabic";
key.type[Group1]="TWO_LEVEL";
key <TLDE> { [ U1038F, NoSymbol ]}; // 𐎏
key <AE01> { [ 1, exclam ]}; // 1 !
key <AE02> { [ 2, at ]}; // 2 @
key <AE03> { [ 3, numbersign ]}; // 3 #
key <AE04> { [ 4, dollar ]}; // 4 $
key <AE05> { [ 5, percent ]}; // 5 %
key <AE06> { [ 6, asciicircum ]}; // 6 ^
key <AE07> { [ 7, ampersand ]}; // 7 &
key <AE08> { [ 8, asterisk ]}; // 8 *
key <AE09> { [ 9, parenleft ]}; // 9 (
key <AE10> { [ 0, parenright ]}; // 0 )
key <AE11> { [ minus, underscore ]}; // - _
key <AE12> { [ equal, plus ]}; // = +
key <AD01> { [ U1039D, NoSymbol ]}; // 𐎝
key <AD02> { [ U10395, NoSymbol ]}; // 𐎕
key <AD03> { [ U10398, NoSymbol ]}; // 𐎘
key <AD04> { [ U10396, NoSymbol ]}; // 𐎖
key <AD05> { [ U10394, NoSymbol ]}; // 𐎔
key <AD06> { [ U10399, NoSymbol ]}; // 𐎙
key <AD07> { [ U10393, grave ]}; // 𐎓 `
key <AD08> { [ U10385, division ]}; // 𐎅 ÷
key <AD09> { [ U10383, multiply ]}; // 𐎃 ×
key <AD10> { [ U10388, semicolon ]}; // 𐎈 ;
key <AD11> { [ U10382, greater ]}; // 𐎂 >
key <AD12> { [ U10384, less ]}; // 𐎄 <
key <AC01> { [ U1038C, U27E8 ]}; // 𐎌 ⟨
key <AC02> { [ U10392, U27E9 ]}; // 𐎒 ⟩
key <AC03> { [ U1038A, bracketleft ]}; // 𐎊 [
key <AC04> { [ U10381, bracketright ]}; // 𐎁 ]
key <AC05> { [ U1038D, NoSymbol ]}; // 𐎍
key <AC06> { [ U10380, NoSymbol ]}; // 𐎀
key <AC07> { [ U1039A, NoSymbol ]}; // 𐎚
key <AC08> { [ U10390, NoSymbol ]}; // 𐎐
key <AC09> { [ U1038E, slash ]}; // 𐎎 /
key <AC10> { [ U1038B, colon ]}; // 𐎋:
key <AC11> { [ U10389, quotedbl ]}; // 𐎉 "
key <BKSL> { [backslash, ellipsis ]}; // \ …
key <LSGT> { [ bar, endash ]}; // |
key <AB01> { [ U1039B, guillemotleft ]}; // 𐎛 «
key <AB02> { [ NoSymbol, guillemotright ]}; // »
key <AB03> { [ U1039C, braceleft ]}; // 𐎜 {
key <AB04> { [ U10397, braceright ]}; // 𐎗 }
key <AB05> { [ U1039F, U2039 ]}; // 𐎟
key <AB06> { [ question, U203A ]}; // ?
key <AB07> { [ U002BC, apostrophe ]}; // ʼ '
key <AB08> { [ U10386, comma ]}; // 𐎆 ,
key <AB09> { [ U10387, period ]}; // 𐎇 .
key <AB10> { [ U10391, periodcentered ]}; // 𐎑 ·
};
// An Ergonomic implementation of the basic Arabic keyboard (PC). Brings all letters to the middle 30 keys.
xkb_symbols "ergoarabic" {
include "ara(basic)"
name[Group1]= "Arabic (ErgoArabic)";
key <TLDE> { [ grave, asciitilde, NoSymbol, NoSymbol ]};
key <AD01> { [ Arabic_dal, Arabic_thal, NoSymbol, U2066 ]};
key <AD02> { [ Arabic_sad, Arabic_dad, NoSymbol, U2067 ]};
key <AD05> { [ Arabic_feh, Arabic_shadda, Arabic_veh, NoSymbol ]};
key <AD06> { [ Arabic_hamza, Arabic_hamzaunderalef, NoSymbol, U202A ]};
key <AD07> { [ Arabic_ain, Arabic_ghain, NoSymbol, U202B ]};
key <AD08> { [ Arabic_ha, division, NoSymbol, U202C ]};
key <AD09> { [ Arabic_waw, Arabic_hamzaonwaw, NoSymbol, NoSymbol ]};
key <AD10> { [ Arabic_tehmarbuta, Arabic_semicolon, NoSymbol, U200E ]};
key <AD11> { [ bracketright, braceright, NoSymbol, U200F ]};
key <AD12> { [ bracketleft, braceleft, NoSymbol, U061C ]};
key <AC03> { [ Arabic_yeh, Arabic_fatha, NoSymbol, NoSymbol ]};
key <AC04> { [ Arabic_beh, Arabic_fathatan, Arabic_peh, NoSymbol ]};
key <AC05> { [ Arabic_lam, Arabic_maddaonalef,Arabic_superscript_alef, NoSymbol ]};
key <AC07> { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]};
key <AC08> { [ Arabic_noon, multiply, U066B, NoSymbol ]};
key <AC09> { [ Arabic_meem, comma, NoSymbol, NoSymbol ]};
key <AC10> { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]};
key <AC11> { [ apostrophe, quotedbl, U27E9, U200D ]};
key <BKSL> { [ backslash, bar, U27E8, U202F ]};
key <AB01> { [ Arabic_hamzaonyeh, NoSymbol, U203A, NoSymbol ]};
key <AB02> { [Arabic_alefmaksura, Arabic_sukun, U2039, NoSymbol ]};
key <AB03> { [ Arabic_tah, Arabic_zah, NoSymbol, NoSymbol ]};
key <AB04> { [ Arabic_ra, Arabic_zain, Arabic_jeh, NoSymbol ]};
key <AB05> { [ Arabic_khah, ellipsis, NoSymbol, NoSymbol ]};
key <AB06> { [ Arabic_hah, guillemotright, NoSymbol, NoSymbol ]};
key <AB07> { [ Arabic_jeem, guillemotleft, Arabic_tcheh, NoSymbol ]};
key <AB08> { [ Arabic_comma, greater, NoSymbol, NoSymbol ]};
key <AB09> { [ period, less, NoSymbol, NoSymbol ]};
key <AB10> { [ slash, Arabic_question_mark, U066D, U200C ]};
};

View File

@@ -0,0 +1,23 @@
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)";
};

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)";
};
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,95 @@
//
// 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)";
};

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