Some useful mappings enabled in evdev section
[xorg/xkeyboard-config] / symbols / kpdl
1 // $XKeyboardConfig$
2 // $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
3
4 // The <KPDL> key is a mess.
5 // It was probably originally meant to be a decimal separator.
6 // Except since it was declared by USA people it didn't use the original
7 // SI separator "," but a "." (since then the USA managed to f-up the SI
8 // by making "." an accepted alternative, but standards still use "," as
9 // default)
10 // As a result users of SI-abiding countries expect either a "." or a ","
11 // or a "decimal_separator" which may or may not be translated in one of the
12 // above depending on applications.
13 // It's not possible to define a default per-country since user expectations
14 // depend on the conflicting choices of their most-used applications,
15 // operating system, etc. Therefore it needs to be a configuration setting
16 // Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
17
18
19 // Legacy <KPDL> #1
20 // This assumes KP_Decimal will be translated in a dot
21 partial keypad_keys
22 xkb_symbols "dot" {
23
24     key.type[Group1]="KEYPAD" ;
25
26     key <KPDL> { [ KP_Delete, KP_Decimal ] }; // <delete> <separator>
27 };
28
29
30 // Legacy <KPDL> #2
31 // This assumes KP_Separator will be translated in a comma
32 partial keypad_keys
33 xkb_symbols "comma" {
34
35     key.type[Group1]="KEYPAD" ;
36
37     key <KPDL> { [ KP_Delete, KP_Separator ] }; // <delete> <separator>
38 };
39
40
41 // Period <KPDL>, usual keyboard serigraphy in most countries
42 partial keypad_keys
43 xkb_symbols "dotoss" {
44
45     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
46
47     key <KPDL> { [ KP_Delete, period, comma, 0x100202F ] }; // <delete> . , ⍽ (narrow no-break space)
48 };
49
50
51 // Period <KPDL>, usual keyboard serigraphy in most countries, latin-9 restriction
52 partial keypad_keys
53 xkb_symbols "dotoss_latin9" {
54
55     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
56
57     key <KPDL> { [ KP_Delete, period, comma, nobreakspace ] }; // <delete> . , ⍽ (no-break space)
58 };
59
60
61 // Comma <KPDL>, what most non anglo-saxon people consider the real separator
62 partial keypad_keys
63 xkb_symbols "commaoss" {
64
65     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
66
67     key <KPDL> { [ KP_Delete, comma, period, 0x100202F ] }; // <delete> , . ⍽ (narrow no-break space)
68 };
69
70
71 // Momayyez <KPDL>: Bahrain, Iran, Iraq, Kuwait, Oman, Qatar, Saudi Arabia, Syria, UAE
72 partial keypad_keys
73 xkb_symbols "momayyezoss" {
74
75     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
76
77     key <KPDL> { [ KP_Delete, 0x100066B, comma, 0x100202F ] }; // <delete> ? , ⍽ (narrow no-break space)
78 };
79
80
81 // Abstracted <KPDL>, pray everything will work out (it usually does not)
82 partial keypad_keys
83 xkb_symbols "kposs" {
84
85     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
86
87     key <KPDL> { [ KP_Delete, KP_Decimal, KP_Separator, 0x100202F ] }; // <delete> ? ? ⍽ (narrow no-break space)
88 };
89
90 // Spreadsheets may be configured to use the dot as decimal
91 // punctuation, comma as a thousands separator and then semi-colon as
92 // the list separator. Of these, dot and semi-colon is most important
93 // when entering data by the keyboard; the comma can then be inferred
94 // and added to the presentation afterwards. Using semi-colon as a
95 // general separator may in fact be preferred to avoid ambiguities
96 // in data files. Most times a decimal separator is hard-coded, it
97 // seems to be period, probably since this is the syntax used in
98 // (most) programming languages.
99 partial keypad_keys
100 xkb_symbols "semi" {
101
102     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
103
104     key <KPDL> { [ NoSymbol, NoSymbol, semicolon ] };
105 };