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