From 8a191c08ddda2e66fa26f148d6c21959bb08f923 Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 20 Feb 2011 12:29:25 +0000 Subject: xserver xkeyboard-config libX11 pixman mesa git update 2011 --- xorg-server/xkeyboard-config/types/basic | 60 ++-- xorg-server/xkeyboard-config/types/cancel | 23 +- xorg-server/xkeyboard-config/types/caps | 338 +++++++++++---------- xorg-server/xkeyboard-config/types/complete | 26 +- xorg-server/xkeyboard-config/types/default | 21 +- xorg-server/xkeyboard-config/types/extra | 368 ++++++++++++----------- xorg-server/xkeyboard-config/types/iso9995 | 38 ++- xorg-server/xkeyboard-config/types/level5 | 430 +++++++++++++-------------- xorg-server/xkeyboard-config/types/mousekeys | 23 +- xorg-server/xkeyboard-config/types/numpad | 143 +++++---- xorg-server/xkeyboard-config/types/pc | 219 +++++++------- 11 files changed, 829 insertions(+), 860 deletions(-) (limited to 'xorg-server/xkeyboard-config/types') diff --git a/xorg-server/xkeyboard-config/types/basic b/xorg-server/xkeyboard-config/types/basic index cf1ee648b..70292ea38 100644 --- a/xorg-server/xkeyboard-config/types/basic +++ b/xorg-server/xkeyboard-config/types/basic @@ -1,31 +1,29 @@ -// $Xorg: basic,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ - -default xkb_types "basic" { - - // Fairly standard definitions for - // the four required key types - - virtual_modifiers NumLock; - - type "ONE_LEVEL" { - modifiers = None; - map[None] = Level1; - level_name[Level1]= "Any"; - }; - - type "TWO_LEVEL" { - modifiers = Shift; - map[Shift] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - }; - - type "ALPHABETIC" { - modifiers = Shift+Lock; - map[Shift] = Level2; - map[Lock] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Caps"; - }; - -}; +default xkb_types "basic" { + + // Fairly standard definitions for + // the four required key types + + virtual_modifiers NumLock; + + type "ONE_LEVEL" { + modifiers = None; + map[None] = Level1; + level_name[Level1]= "Any"; + }; + + type "TWO_LEVEL" { + modifiers = Shift; + map[Shift] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + }; + + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + +}; diff --git a/xorg-server/xkeyboard-config/types/cancel b/xorg-server/xkeyboard-config/types/cancel index 478c99c4b..ec5d7191d 100644 --- a/xorg-server/xkeyboard-config/types/cancel +++ b/xorg-server/xkeyboard-config/types/cancel @@ -1,12 +1,11 @@ -// $Xorg: cancel,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ -partial default xkb_types "Shift_Cancels_Caps" { - -override type "TWO_LEVEL" { - modifiers = Shift+Lock; - map[Shift] = Level2; - preserve[Lock]= Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; -}; - -}; +partial default xkb_types "Shift_Cancels_Caps" { + +override type "TWO_LEVEL" { + modifiers = Shift+Lock; + map[Shift] = Level2; + preserve[Lock]= Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; +}; + +}; diff --git a/xorg-server/xkeyboard-config/types/caps b/xorg-server/xkeyboard-config/types/caps index 7936df12f..08a7211b9 100644 --- a/xorg-server/xkeyboard-config/types/caps +++ b/xorg-server/xkeyboard-config/types/caps @@ -1,170 +1,168 @@ -// $XFree86: xc/programs/xkbcomp/types/caps,v 1.3 2002/11/26 02:14:02 dawes Exp $ - -// CapsLock uses internal capitalization rules -// Shift "pauses" CapsLock -partial xkb_types "internal" { - type "ALPHABETIC" { - modifiers = Shift+Lock; - map[Shift] = Level2; - preserve[Lock] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Caps"; - }; - - type "FOUR_LEVEL_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - preserve[Lock] = Lock; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level3; - preserve[Lock+LevelThree] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - preserve[Lock] = Lock; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - preserve[Lock+LevelThree] = Lock; - preserve[Lock+Shift+LevelThree] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; -}; -// CapsLock uses internal capitalization rules -// Shift doesn't cancel CapsLock -partial xkb_types "internal_nocancel" { - type "ALPHABETIC" { - modifiers = Shift; - map[Shift] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Caps"; - }; - - type "FOUR_LEVEL_ALPHABETIC" { - modifiers = Shift+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_SEMIALPHABETIC" { - // the same as FOUR_LEVEL_ALPHABETIC - modifiers = Shift+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; -}; -// CapsLock acts as Shift with locking -// Shift "pauses" CapsLock -partial xkb_types "shift" { - type "ALPHABETIC" { - modifiers = Shift+Lock; - map[Shift] = Level2; - map[Lock] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Caps"; - }; - - type "FOUR_LEVEL_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - map[Shift+Lock+LevelThree] = Level3; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - preserve[Lock+LevelThree] = Lock; - preserve[Lock+Shift+LevelThree] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; -}; -// CapsLock acts as Shift with locking -// Shift doesn't cancel CapsLock -partial xkb_types "shift_nocancel" { - type "ALPHABETIC" { - modifiers = Shift+Lock; - map[Shift] = Level2; - map[Lock] = Level2; - map[Shift+Lock] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Caps"; - }; - - type "FOUR_LEVEL_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[Shift+Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - map[Shift+Lock+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[Shift+Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - preserve[Lock+LevelThree] = Lock; - preserve[Lock+Shift+LevelThree] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; -}; +// CapsLock uses internal capitalization rules +// Shift "pauses" CapsLock +partial xkb_types "internal" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + preserve[Lock] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + preserve[Lock] = Lock; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + preserve[Lock+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + preserve[Lock] = Lock; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; +// CapsLock uses internal capitalization rules +// Shift doesn't cancel CapsLock +partial xkb_types "internal_nocancel" { + type "ALPHABETIC" { + modifiers = Shift; + map[Shift] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + // the same as FOUR_LEVEL_ALPHABETIC + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; +// CapsLock acts as Shift with locking +// Shift "pauses" CapsLock +partial xkb_types "shift" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Shift+Lock+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; +// CapsLock acts as Shift with locking +// Shift doesn't cancel CapsLock +partial xkb_types "shift_nocancel" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Shift+Lock+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; diff --git a/xorg-server/xkeyboard-config/types/complete b/xorg-server/xkeyboard-config/types/complete index 96d4fd572..2ac68082e 100644 --- a/xorg-server/xkeyboard-config/types/complete +++ b/xorg-server/xkeyboard-config/types/complete @@ -1,17 +1,9 @@ -// $XKeyboardConfig$ -// $Xorg: complete,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ -// -// -// -// -// $XFree86: xc/programs/xkbcomp/types/complete,v 1.2 2001/05/18 23:35:35 dawes Exp $ - -default xkb_types "complete" { - include "basic" - include "mousekeys" - include "pc" - include "iso9995" - include "level5" - include "extra" - include "numpad" -}; +default xkb_types "complete" { + include "basic" + include "mousekeys" + include "pc" + include "iso9995" + include "level5" + include "extra" + include "numpad" +}; diff --git a/xorg-server/xkeyboard-config/types/default b/xorg-server/xkeyboard-config/types/default index 18859b742..45e1ad18c 100644 --- a/xorg-server/xkeyboard-config/types/default +++ b/xorg-server/xkeyboard-config/types/default @@ -1,12 +1,9 @@ -// $XKeyboardConfig$ -// $Xorg: default,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ - -default xkb_types "default" { - include "basic" - include "pc" - include "iso9995" - include "extra" - include "numpad" - include "level5" - include "mousekeys" -}; +default xkb_types "default" { + include "basic" + include "pc" + include "iso9995" + include "extra" + include "numpad" + include "level5" + include "mousekeys" +}; diff --git a/xorg-server/xkeyboard-config/types/extra b/xorg-server/xkeyboard-config/types/extra index a82fd10d2..06b1fec78 100644 --- a/xorg-server/xkeyboard-config/types/extra +++ b/xorg-server/xkeyboard-config/types/extra @@ -1,185 +1,183 @@ -// $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $ - -partial default xkb_types "default" { - // Definition for a key type used for the czech keymap, for instance. - // Defines style a with four level shift. It is similar to three_level - // type used for iso9995 but it lets the shift key behave "normally". - - virtual_modifiers LevelThree; - - type "FOUR_LEVEL" { - modifiers = Shift+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - map[Lock+Shift+LevelThree] = Level3; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - preserve[Lock+LevelThree] = Lock; - preserve[Lock+Shift+LevelThree] = Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - // Another four level keypad variant - // First two levels are controled by NumLock (with active Shift-ing like - // in KEYPAD). LevelThree overrides this mode, with two additional - // Shift-ed levels - // NumLock state is intentionnaly ignored when LevelThree is active - type "FOUR_LEVEL_MIXED_KEYPAD" { - modifiers = Shift+NumLock+LevelThree; - map[None] = Level1; - map[Shift+NumLock] = Level1; - map[NumLock] = Level2; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[NumLock+LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Shift+NumLock+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Number"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - }; - - // Base level, two Shift-ed LevelThree levels, one Ctrl+Alt command level - type "FOUR_LEVEL_X" { - modifiers = Shift+LevelThree+Control+Alt; - map[None] = Level1; - map[LevelThree] = Level2; - map[Shift+LevelThree] = Level3; - map[Control+Alt] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Alt Base"; - level_name[Level3] = "Shift Alt"; - level_name[Level4] = "Ctrl+Alt"; - }; - -// Special type for keys used in Serbian Latin Unicode map -// It makes it possible to use all three forms of latin letters -// present in Unicode that are made up of two separate letters -// (forms like LJ, Lj, and lj; NJ, Nj, and nj; etc) - - type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level4; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level3; - preserve[Lock]= Lock; - preserve[Lock+LevelThree]= Lock; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "AltGr Base"; - level_name[Level4] = "Shift AltGr"; - }; - -// type for e.g. german ssharp which is capitalized SS. -// CHARACTERISTICS: -// It is FOUR_LEVEL with the exception that the fifth level -// is mapped to the Lock modifier. -// If other modifiers are used, the Lock state is ignored. -// DETAILS ABOUT GERMAN: -// The capital form of ssharp (called sharp s) only exists for -// completely capitalized Text, not at the beginning of sentences -// or nouns (nouns have a captial letter at the beginning in german). -// The ssharp key, to the right of the zero key, takes this into -// account and has a questionmark mapped on shift-ssharp since -// normally no capital version is needed. -// When typing with active capsLock, this key type is needed to -// output two capital letters S because this is the only german key -// whose capital letter is not the same as the one typed with shift. - - type "FOUR_LEVEL_PLUS_LOCK" { - modifiers = Shift+Lock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock] = Level5; - map[Lock+Shift] = Level2; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "Lock"; - }; -}; - -// This enables the four level shifting also for the keypad. -partial xkb_types "keypad" { - virtual_modifiers LevelThree; - - type "FOUR_LEVEL_KEYPAD" { - modifiers = Shift+NumLock+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[NumLock] = Level2; - map[Shift+NumLock] = Level1; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[NumLock+LevelThree] = Level4; - map[Shift+NumLock+LevelThree] = Level3; - level_name[Level1] = "Base"; - level_name[Level2] = "Number"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Alt Number"; - }; -}; - -// This enables the four level shifting also for the keypad, -// but levels 1 and 2, and 3 and 4 are swapped on Mac keypads. -partial xkb_types "mac_keypad" { - virtual_modifiers LevelThree; - - type "FOUR_LEVEL_KEYPAD" { - modifiers = Shift+NumLock+LevelThree; - map[None] = Level2; - map[Shift] = Level1; - map[NumLock] = Level1; - map[Shift+NumLock] = Level2; - map[LevelThree] = Level4; - map[Shift+LevelThree] = Level3; - map[NumLock+LevelThree] = Level3; - map[Shift+NumLock+LevelThree] = Level4; - level_name[Level2] = "Base"; - level_name[Level1] = "Number"; - level_name[Level4] = "Alt Base"; - level_name[Level3] = "Alt Number"; - }; -}; +partial default xkb_types "default" { + // Definition for a key type used for the czech keymap, for instance. + // Defines style a with four level shift. It is similar to three_level + // type used for iso9995 but it lets the shift key behave "normally". + + virtual_modifiers LevelThree; + + type "FOUR_LEVEL" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Lock+Shift+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + // Another four level keypad variant + // First two levels are controled by NumLock (with active Shift-ing like + // in KEYPAD). LevelThree overrides this mode, with two additional + // Shift-ed levels + // NumLock state is intentionnaly ignored when LevelThree is active + type "FOUR_LEVEL_MIXED_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level1; + map[Shift+NumLock] = Level1; + map[NumLock] = Level2; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[NumLock+LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Shift+NumLock+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + // Base level, two Shift-ed LevelThree levels, one Ctrl+Alt command level + type "FOUR_LEVEL_X" { + modifiers = Shift+LevelThree+Control+Alt; + map[None] = Level1; + map[LevelThree] = Level2; + map[Shift+LevelThree] = Level3; + map[Control+Alt] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Alt Base"; + level_name[Level3] = "Shift Alt"; + level_name[Level4] = "Ctrl+Alt"; + }; + +// Special type for keys used in Serbian Latin Unicode map +// It makes it possible to use all three forms of latin letters +// present in Unicode that are made up of two separate letters +// (forms like LJ, Lj, and lj; NJ, Nj, and nj; etc) + + type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level4; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + preserve[Lock]= Lock; + preserve[Lock+LevelThree]= Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "AltGr Base"; + level_name[Level4] = "Shift AltGr"; + }; + +// type for e.g. german ssharp which is capitalized SS. +// CHARACTERISTICS: +// It is FOUR_LEVEL with the exception that the fifth level +// is mapped to the Lock modifier. +// If other modifiers are used, the Lock state is ignored. +// DETAILS ABOUT GERMAN: +// The capital form of ssharp (called sharp s) only exists for +// completely capitalized Text, not at the beginning of sentences +// or nouns (nouns have a captial letter at the beginning in german). +// The ssharp key, to the right of the zero key, takes this into +// account and has a questionmark mapped on shift-ssharp since +// normally no capital version is needed. +// When typing with active capsLock, this key type is needed to +// output two capital letters S because this is the only german key +// whose capital letter is not the same as the one typed with shift. + + type "FOUR_LEVEL_PLUS_LOCK" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock] = Level5; + map[Lock+Shift] = Level2; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "Lock"; + }; +}; + +// This enables the four level shifting also for the keypad. +partial xkb_types "keypad" { + virtual_modifiers LevelThree; + + type "FOUR_LEVEL_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[NumLock+LevelThree] = Level4; + map[Shift+NumLock+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Alt Number"; + }; +}; + +// This enables the four level shifting also for the keypad, +// but levels 1 and 2, and 3 and 4 are swapped on Mac keypads. +partial xkb_types "mac_keypad" { + virtual_modifiers LevelThree; + + type "FOUR_LEVEL_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level2; + map[Shift] = Level1; + map[NumLock] = Level1; + map[Shift+NumLock] = Level2; + map[LevelThree] = Level4; + map[Shift+LevelThree] = Level3; + map[NumLock+LevelThree] = Level3; + map[Shift+NumLock+LevelThree] = Level4; + level_name[Level2] = "Base"; + level_name[Level1] = "Number"; + level_name[Level4] = "Alt Base"; + level_name[Level3] = "Alt Number"; + }; +}; diff --git a/xorg-server/xkeyboard-config/types/iso9995 b/xorg-server/xkeyboard-config/types/iso9995 index 80f3ee5cf..893a6b341 100644 --- a/xorg-server/xkeyboard-config/types/iso9995 +++ b/xorg-server/xkeyboard-config/types/iso9995 @@ -1,20 +1,18 @@ -// $Xorg: iso9995,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ -partial default xkb_types "default" { - - // Definition for a key type which - // can be used to implement ISO9995 - // style level three shift - virtual_modifiers LevelThree; - - type "THREE_LEVEL" { - modifiers = Shift+LevelThree; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level3; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Level3"; - }; -}; - +partial default xkb_types "default" { + + // Definition for a key type which + // can be used to implement ISO9995 + // style level three shift + virtual_modifiers LevelThree; + + type "THREE_LEVEL" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Level3"; + }; +}; diff --git a/xorg-server/xkeyboard-config/types/level5 b/xorg-server/xkeyboard-config/types/level5 index 05dafecf6..671f4b3e8 100644 --- a/xorg-server/xkeyboard-config/types/level5 +++ b/xorg-server/xkeyboard-config/types/level5 @@ -1,217 +1,213 @@ -// $XKeyboardConfig$ -// $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $ - -partial default xkb_types "default" { - // Definition for a key type used for the czech keymap, for instance. - // Defines style a with four level shift. It is similar to three_level - // type used for iso9995 but it lets the shift key behave "normally". - - virtual_modifiers LevelThree,ScrollLock,LevelFive; - - type "EIGHT_LEVEL" { - modifiers = Shift+LevelThree+LevelFive; - map[None] = Level1; - map[Shift] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[LevelFive] = Level5; - map[Shift+LevelFive] = Level6; - map[LevelThree+LevelFive] = Level7; - map[Shift+LevelThree+LevelFive] = Level8; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "X"; - level_name[Level6] = "X Shift"; - level_name[Level7] = "X Alt Base"; - level_name[Level8] = "X Shift Alt"; - }; - - type "EIGHT_LEVEL_ALPHABETIC" { - modifiers = Shift+Lock+LevelThree+LevelFive; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - map[Lock+Shift+LevelThree] = Level3; - - map[LevelFive] = Level5; - map[Shift+LevelFive] = Level6; - map[Lock+LevelFive] = Level6; - map[LevelThree+LevelFive] = Level7; - map[Shift+LevelThree+LevelFive] = Level8; - map[Lock+LevelThree+LevelFive] = Level8; - map[Lock+Shift+LevelThree+LevelFive] = Level7; - - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "X"; - level_name[Level6] = "X Shift"; - level_name[Level7] = "X Alt Base"; - level_name[Level8] = "X Shift Alt"; - }; - -// type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { -// // Level5-Lock is implemented by using NumLock, because a real modifier -// // is required. -// -// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; -// -// map[None] = Level1; -// map[Shift] = Level2; -// map[LevelThree] = Level3; -// map[LevelThree+Shift] = Level4; -// -// map[LevelFive] = Level5; -// map[LevelFive+Shift] = Level6; -// map[LevelFive+LevelThree] = Level7; -// map[LevelFive+LevelThree+Shift] = Level8; -// -// map[NumLock] = Level5; -// map[NumLock+Shift] = Level6; -// map[NumLock+LevelThree] = Level7; -// map[NumLock+LevelThree+Shift] = Level8; -// -// map[NumLock+LevelFive] = Level1; -// map[NumLock+LevelFive+Shift] = Level2; -// map[NumLock+LevelFive+LevelThree] = Level3; -// map[NumLock+LevelFive+LevelThree+Shift] = Level4; -// -// // Lock has no effect -// map[Lock] = Level1; -// map[Lock+Shift] = Level2; -// map[Lock+LevelThree] = Level3; -// map[Lock+LevelThree+Shift] = Level4; -// -// map[Lock+LevelFive] = Level5; -// map[Lock+LevelFive+Shift] = Level6; -// map[Lock+LevelFive+LevelThree] = Level7; -// map[Lock+LevelFive+LevelThree+Shift] = Level8; -// -// map[Lock+NumLock] = Level5; -// map[Lock+NumLock+Shift] = Level6; -// map[Lock+NumLock+LevelThree] = Level7; -// map[Lock+NumLock+LevelThree+Shift] = Level8; -// -// map[Lock+NumLock+LevelFive] = Level1; -// map[Lock+NumLock+LevelFive+Shift] = Level2; -// map[Lock+NumLock+LevelFive+LevelThree] = Level3; -// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; -// -// preserve[LevelFive+Shift] = Shift; -// preserve[NumLock+Shift] = Shift; -// preserve[Lock+LevelFive+Shift] = Shift; -// preserve[Lock+NumLock+Shift] = Shift; -// -// level_name[Level1] = "Base"; -// level_name[Level2] = "Shift"; -// level_name[Level3] = "Alt Base"; -// level_name[Level4] = "Shift Alt"; -// level_name[Level5] = "X"; -// level_name[Level6] = "X Shift"; -// level_name[Level7] = "X Alt Base"; -// level_name[Level8] = "X Shift Alt"; -// }; -// -// type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { -// // Level5-Lock is implemented by using NumLock, because a real modifier -// // is required. -// -// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; -// -// map[None] = Level1; -// map[Shift] = Level2; -// map[LevelThree] = Level3; -// map[LevelThree+Shift] = Level4; -// -// map[LevelFive] = Level5; -// map[LevelFive+Shift] = Level6; -// map[LevelFive+LevelThree] = Level7; -// map[LevelFive+LevelThree+Shift] = Level8; -// -// map[NumLock] = Level5; -// map[NumLock+Shift] = Level6; -// map[NumLock+LevelThree] = Level7; -// map[NumLock+LevelThree+Shift] = Level8; -// -// map[NumLock+LevelFive] = Level1; -// map[NumLock+LevelFive+Shift] = Level2; -// map[NumLock+LevelFive+LevelThree] = Level3; -// map[NumLock+LevelFive+LevelThree+Shift] = Level4; -// -// // Lock interchanges Level1 and Level2 -// map[Lock] = Level2; -// map[Lock+Shift] = Level1; -// map[Lock+LevelThree] = Level3; -// map[Lock+LevelThree+Shift] = Level4; -// -// map[Lock+LevelFive] = Level5; -// map[Lock+LevelFive+Shift] = Level6; -// map[Lock+LevelFive+LevelThree] = Level7; -// map[Lock+LevelFive+LevelThree+Shift] = Level8; -// -// map[Lock+NumLock] = Level5; -// map[Lock+NumLock+Shift] = Level6; -// map[Lock+NumLock+LevelThree] = Level7; -// map[Lock+NumLock+LevelThree+Shift] = Level8; -// -// map[Lock+NumLock+LevelFive] = Level2; -// map[Lock+NumLock+LevelFive+Shift] = Level1; -// map[Lock+NumLock+LevelFive+LevelThree] = Level4; -// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; -// -// preserve[LevelFive+Shift] = Shift; -// preserve[NumLock+Shift] = Shift; -// -// level_name[Level1] = "Base"; -// level_name[Level2] = "Shift"; -// level_name[Level3] = "Alt Base"; -// level_name[Level4] = "Shift Alt"; -// level_name[Level5] = "X"; -// level_name[Level6] = "X Shift"; -// level_name[Level7] = "X Alt Base"; -// level_name[Level8] = "X Shift Alt"; -// }; - - type "EIGHT_LEVEL_SEMIALPHABETIC" { - modifiers = Shift+Lock+LevelThree+LevelFive; - map[None] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - map[LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level4; - - map[LevelFive] = Level5; - map[Shift+LevelFive] = Level6; - map[Lock+LevelFive] = Level6; - map[LevelThree+LevelFive] = Level7; - map[Shift+LevelThree+LevelFive] = Level8; - map[Lock+LevelThree+LevelFive] = Level7; - map[Lock+Shift+LevelThree+LevelFive] = Level8; - - preserve[Lock+LevelThree] = Lock; - preserve[Lock+Shift+LevelThree] = Lock; - preserve[Lock+LevelFive] = Lock; - preserve[Lock+Shift+LevelFive] = Lock; - preserve[Lock+LevelThree+LevelFive] = Lock; - preserve[Lock+Shift+LevelThree+LevelFive] = Lock; - - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Alt Base"; - level_name[Level4] = "Shift Alt"; - level_name[Level5] = "X"; - level_name[Level6] = "X Shift"; - level_name[Level7] = "X Alt Base"; - level_name[Level8] = "X Shift Alt"; - }; - -}; - +partial default xkb_types "default" { + // Definition for a key type used for the czech keymap, for instance. + // Defines style a with four level shift. It is similar to three_level + // type used for iso9995 but it lets the shift key behave "normally". + + virtual_modifiers LevelThree,ScrollLock,LevelFive; + + type "EIGHT_LEVEL" { + modifiers = Shift+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + + type "EIGHT_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Lock+Shift+LevelThree] = Level3; + + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[Lock+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + map[Lock+LevelThree+LevelFive] = Level8; + map[Lock+Shift+LevelThree+LevelFive] = Level7; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + +// type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { +// // Level5-Lock is implemented by using NumLock, because a real modifier +// // is required. +// +// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; +// +// map[None] = Level1; +// map[Shift] = Level2; +// map[LevelThree] = Level3; +// map[LevelThree+Shift] = Level4; +// +// map[LevelFive] = Level5; +// map[LevelFive+Shift] = Level6; +// map[LevelFive+LevelThree] = Level7; +// map[LevelFive+LevelThree+Shift] = Level8; +// +// map[NumLock] = Level5; +// map[NumLock+Shift] = Level6; +// map[NumLock+LevelThree] = Level7; +// map[NumLock+LevelThree+Shift] = Level8; +// +// map[NumLock+LevelFive] = Level1; +// map[NumLock+LevelFive+Shift] = Level2; +// map[NumLock+LevelFive+LevelThree] = Level3; +// map[NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// // Lock has no effect +// map[Lock] = Level1; +// map[Lock+Shift] = Level2; +// map[Lock+LevelThree] = Level3; +// map[Lock+LevelThree+Shift] = Level4; +// +// map[Lock+LevelFive] = Level5; +// map[Lock+LevelFive+Shift] = Level6; +// map[Lock+LevelFive+LevelThree] = Level7; +// map[Lock+LevelFive+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock] = Level5; +// map[Lock+NumLock+Shift] = Level6; +// map[Lock+NumLock+LevelThree] = Level7; +// map[Lock+NumLock+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock+LevelFive] = Level1; +// map[Lock+NumLock+LevelFive+Shift] = Level2; +// map[Lock+NumLock+LevelFive+LevelThree] = Level3; +// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// preserve[LevelFive+Shift] = Shift; +// preserve[NumLock+Shift] = Shift; +// preserve[Lock+LevelFive+Shift] = Shift; +// preserve[Lock+NumLock+Shift] = Shift; +// +// level_name[Level1] = "Base"; +// level_name[Level2] = "Shift"; +// level_name[Level3] = "Alt Base"; +// level_name[Level4] = "Shift Alt"; +// level_name[Level5] = "X"; +// level_name[Level6] = "X Shift"; +// level_name[Level7] = "X Alt Base"; +// level_name[Level8] = "X Shift Alt"; +// }; +// +// type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { +// // Level5-Lock is implemented by using NumLock, because a real modifier +// // is required. +// +// modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; +// +// map[None] = Level1; +// map[Shift] = Level2; +// map[LevelThree] = Level3; +// map[LevelThree+Shift] = Level4; +// +// map[LevelFive] = Level5; +// map[LevelFive+Shift] = Level6; +// map[LevelFive+LevelThree] = Level7; +// map[LevelFive+LevelThree+Shift] = Level8; +// +// map[NumLock] = Level5; +// map[NumLock+Shift] = Level6; +// map[NumLock+LevelThree] = Level7; +// map[NumLock+LevelThree+Shift] = Level8; +// +// map[NumLock+LevelFive] = Level1; +// map[NumLock+LevelFive+Shift] = Level2; +// map[NumLock+LevelFive+LevelThree] = Level3; +// map[NumLock+LevelFive+LevelThree+Shift] = Level4; +// +// // Lock interchanges Level1 and Level2 +// map[Lock] = Level2; +// map[Lock+Shift] = Level1; +// map[Lock+LevelThree] = Level3; +// map[Lock+LevelThree+Shift] = Level4; +// +// map[Lock+LevelFive] = Level5; +// map[Lock+LevelFive+Shift] = Level6; +// map[Lock+LevelFive+LevelThree] = Level7; +// map[Lock+LevelFive+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock] = Level5; +// map[Lock+NumLock+Shift] = Level6; +// map[Lock+NumLock+LevelThree] = Level7; +// map[Lock+NumLock+LevelThree+Shift] = Level8; +// +// map[Lock+NumLock+LevelFive] = Level2; +// map[Lock+NumLock+LevelFive+Shift] = Level1; +// map[Lock+NumLock+LevelFive+LevelThree] = Level4; +// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; +// +// preserve[LevelFive+Shift] = Shift; +// preserve[NumLock+Shift] = Shift; +// +// level_name[Level1] = "Base"; +// level_name[Level2] = "Shift"; +// level_name[Level3] = "Alt Base"; +// level_name[Level4] = "Shift Alt"; +// level_name[Level5] = "X"; +// level_name[Level6] = "X Shift"; +// level_name[Level7] = "X Alt Base"; +// level_name[Level8] = "X Shift Alt"; +// }; + + type "EIGHT_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[Lock+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + map[Lock+LevelThree+LevelFive] = Level7; + map[Lock+Shift+LevelThree+LevelFive] = Level8; + + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + preserve[Lock+LevelFive] = Lock; + preserve[Lock+Shift+LevelFive] = Lock; + preserve[Lock+LevelThree+LevelFive] = Lock; + preserve[Lock+Shift+LevelThree+LevelFive] = Lock; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + +}; diff --git a/xorg-server/xkeyboard-config/types/mousekeys b/xorg-server/xkeyboard-config/types/mousekeys index 85440ca7f..03225990a 100644 --- a/xorg-server/xkeyboard-config/types/mousekeys +++ b/xorg-server/xkeyboard-config/types/mousekeys @@ -1,13 +1,10 @@ -// $Xorg: mousekeys,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ -// -partial default xkb_types "default" { - virtual_modifiers Alt; - - type "SHIFT+ALT" { - modifiers = Shift+Alt; - map[Shift+Alt] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Shift+Alt"; - }; -}; - +partial default xkb_types "default" { + virtual_modifiers Alt; + + type "SHIFT+ALT" { + modifiers = Shift+Alt; + map[Shift+Alt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift+Alt"; + }; +}; diff --git a/xorg-server/xkeyboard-config/types/numpad b/xorg-server/xkeyboard-config/types/numpad index a48e76a64..82c22a917 100644 --- a/xorg-server/xkeyboard-config/types/numpad +++ b/xorg-server/xkeyboard-config/types/numpad @@ -1,72 +1,71 @@ - -partial default xkb_types "pc" { - type "KEYPAD" { - modifiers = Shift+NumLock; - map[None] = Level1; - map[Shift] = Level2; - map[NumLock] = Level2; - map[Shift+NumLock] = Level1; - level_name[Level1] = "Base"; - level_name[Level2] = "Number"; - }; - include "extra(keypad)" -}; - -// On Mac keypads, level 1 and 2 are swapped -partial xkb_types "mac" { - type "KEYPAD" { - modifiers = Shift+NumLock; - map[None] = Level2; - map[Shift] = Level1; - map[NumLock] = Level1; - map[Shift+NumLock] = Level2; - level_name[Level2] = "Base"; - level_name[Level1] = "Number"; - }; - include "extra(mac_keypad)" -}; - -partial xkb_types "microsoft" { - type "KEYPAD" { - modifiers = Shift+NumLock; - map[None] = Level1; - preserve[Shift] = Shift; - map[NumLock] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Number"; - }; - include "extra(keypad)" -}; - -// Swiss-German style numeric keypad: Shift and NumLock operates as -// two independent modifiers; however, since we want shift state for -// the cursor keys, only three levels are used from the key mappings. -// Closest type is actually FOUR_LEVEL_X, but most numpad layouts uses -// FOUR_LEVEL_MIXED_KEYPAD so that's the one we are going to override. -partial xkb_types "shift3" { - type "FOUR_LEVEL_MIXED_KEYPAD" { - modifiers = Shift+NumLock+Control+Alt; - - // NumLock Off => navigate using cursor keys - map[None] = Level1; - - // NumLock Off + Shift pressed => select using cursor keys - preserve[Shift] = Shift; - - // NumLock On => decimal digits - map[NumLock] = Level2; - - // NumLock On + Shift pressed => auxiliary symbols, - // e.g. hexadecimal digits - map[Shift+NumLock] = Level3; - - // Ctrl + Alt, regardless of NumLock and Shift => command keys - map[Control+Alt] = Level4; - - // reverse map from levels to modifiers - level_name[Level1] = "Base"; - level_name[Level2] = "NumLock"; - level_name[Level3] = "Shift+NumLock"; - level_name[Level4] = "Ctrl+Alt"; - }; -}; +partial default xkb_types "pc" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level1; + map[Shift] = Level2; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +// On Mac keypads, level 1 and 2 are swapped +partial xkb_types "mac" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level2; + map[Shift] = Level1; + map[NumLock] = Level1; + map[Shift+NumLock] = Level2; + level_name[Level2] = "Base"; + level_name[Level1] = "Number"; + }; + include "extra(mac_keypad)" +}; + +partial xkb_types "microsoft" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level1; + preserve[Shift] = Shift; + map[NumLock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +// Swiss-German style numeric keypad: Shift and NumLock operates as +// two independent modifiers; however, since we want shift state for +// the cursor keys, only three levels are used from the key mappings. +// Closest type is actually FOUR_LEVEL_X, but most numpad layouts uses +// FOUR_LEVEL_MIXED_KEYPAD so that's the one we are going to override. +partial xkb_types "shift3" { + type "FOUR_LEVEL_MIXED_KEYPAD" { + modifiers = Shift+NumLock+Control+Alt; + + // NumLock Off => navigate using cursor keys + map[None] = Level1; + + // NumLock Off + Shift pressed => select using cursor keys + preserve[Shift] = Shift; + + // NumLock On => decimal digits + map[NumLock] = Level2; + + // NumLock On + Shift pressed => auxiliary symbols, + // e.g. hexadecimal digits + map[Shift+NumLock] = Level3; + + // Ctrl + Alt, regardless of NumLock and Shift => command keys + map[Control+Alt] = Level4; + + // reverse map from levels to modifiers + level_name[Level1] = "Base"; + level_name[Level2] = "NumLock"; + level_name[Level3] = "Shift+NumLock"; + level_name[Level4] = "Ctrl+Alt"; + }; +}; diff --git a/xorg-server/xkeyboard-config/types/pc b/xorg-server/xkeyboard-config/types/pc index 3c1986aa3..c2d085ed5 100644 --- a/xorg-server/xkeyboard-config/types/pc +++ b/xorg-server/xkeyboard-config/types/pc @@ -1,111 +1,108 @@ -// $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $ -// - -partial default xkb_types "default" { - - // Some types that are necessary - // for a full implementation of - // a PC compatible keyboard. - virtual_modifiers Alt; - virtual_modifiers LevelThree; - virtual_modifiers LAlt; - virtual_modifiers RAlt; - virtual_modifiers RControl; - virtual_modifiers LControl; - - type "PC_CONTROL_LEVEL2" { - modifiers = Control; - map[None] = Level1; - map[Control] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Control"; - }; - - type "PC_LCONTROL_LEVEL2" { - modifiers = LControl; - map[None] = Level1; - map[LControl] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "LControl"; - }; - - type "PC_RCONTROL_LEVEL2" { - modifiers = RControl; - map[None] = Level1; - map[RControl] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "RControl"; - }; - - type "PC_ALT_LEVEL2" { - modifiers = Alt; - map[None] = Level1; - map[Alt] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Alt"; - }; - - type "PC_LALT_LEVEL2" { - modifiers = LAlt; - map[None] = Level1; - map[LAlt] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "LAlt"; - }; - - type "PC_RALT_LEVEL2" { - modifiers = RAlt; - map[None] = Level1; - map[RAlt] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "RAlt"; - }; - - type "CTRL+ALT" { - modifiers = Control+Alt; - map[Control+Alt] = Level2; - level_name[Level1] = "Base"; - level_name[Level2] = "Ctrl+Alt"; - }; - - // Local eight level - // Needed when you want part of your layout eight-level but can not use - // LevelFive as modifier, as this will take over right ctrl by default - // for all the layout and is too invasive for your average four-level user - // Needed to fix bug #9529 - // FIXME Should really use RControl but it's seems not to be enabled by - // default and touching this requires a lot of testing - type "LOCAL_EIGHT_LEVEL" { - modifiers = Shift+Lock+LevelThree+Control; - - map[None] = Level1; - map[Lock+Shift] = Level1; - map[Shift] = Level2; - map[Lock] = Level2; - - map[LevelThree] = Level3; - map[Lock+Shift+LevelThree] = Level3; - map[Shift+LevelThree] = Level4; - map[Lock+LevelThree] = Level4; - - map[Control] = Level5; - map[Lock+Shift+Control] = Level5; - map[Shift+Control] = Level6; - map[Lock+Control] = Level6; - - map[LevelThree+Control] = Level7; - map[Lock+Shift+LevelThree+Control] = Level7; - map[Shift+LevelThree+Control] = Level8; - map[Lock+LevelThree+Control] = Level8; - - level_name[Level1] = "Base"; - level_name[Level2] = "Shift"; - level_name[Level3] = "Level3"; - level_name[Level4] = "Shift Level3"; - level_name[Level5] = "Ctrl"; - level_name[Level6] = "Shift Ctrl"; - level_name[Level7] = "Level3 Ctrl"; - level_name[Level8] = "Shift Level3 Ctrl"; - }; - -}; +partial default xkb_types "default" { + + // Some types that are necessary + // for a full implementation of + // a PC compatible keyboard. + virtual_modifiers Alt; + virtual_modifiers LevelThree; + virtual_modifiers LAlt; + virtual_modifiers RAlt; + virtual_modifiers RControl; + virtual_modifiers LControl; + + type "PC_CONTROL_LEVEL2" { + modifiers = Control; + map[None] = Level1; + map[Control] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Control"; + }; + + type "PC_LCONTROL_LEVEL2" { + modifiers = LControl; + map[None] = Level1; + map[LControl] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "LControl"; + }; + + type "PC_RCONTROL_LEVEL2" { + modifiers = RControl; + map[None] = Level1; + map[RControl] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "RControl"; + }; + + type "PC_ALT_LEVEL2" { + modifiers = Alt; + map[None] = Level1; + map[Alt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Alt"; + }; + + type "PC_LALT_LEVEL2" { + modifiers = LAlt; + map[None] = Level1; + map[LAlt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "LAlt"; + }; + + type "PC_RALT_LEVEL2" { + modifiers = RAlt; + map[None] = Level1; + map[RAlt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "RAlt"; + }; + + type "CTRL+ALT" { + modifiers = Control+Alt; + map[Control+Alt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Ctrl+Alt"; + }; + + // Local eight level + // Needed when you want part of your layout eight-level but can not use + // LevelFive as modifier, as this will take over right ctrl by default + // for all the layout and is too invasive for your average four-level user + // Needed to fix bug #9529 + // FIXME Should really use RControl but it's seems not to be enabled by + // default and touching this requires a lot of testing + type "LOCAL_EIGHT_LEVEL" { + modifiers = Shift+Lock+LevelThree+Control; + + map[None] = Level1; + map[Lock+Shift] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + + map[LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + + map[Control] = Level5; + map[Lock+Shift+Control] = Level5; + map[Shift+Control] = Level6; + map[Lock+Control] = Level6; + + map[LevelThree+Control] = Level7; + map[Lock+Shift+LevelThree+Control] = Level7; + map[Shift+LevelThree+Control] = Level8; + map[Lock+LevelThree+Control] = Level8; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Level3"; + level_name[Level4] = "Shift Level3"; + level_name[Level5] = "Ctrl"; + level_name[Level6] = "Shift Ctrl"; + level_name[Level7] = "Level3 Ctrl"; + level_name[Level8] = "Shift Level3 Ctrl"; + }; + +}; -- cgit v1.2.3