kpdl revision c067fea9
15a35480eSmrg// $XKeyboardConfig$
2154daed1Smrg// $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
3154daed1Smrg
4154daed1Smrg// The <KPDL> key is a mess.
5154daed1Smrg// It was probably originally meant to be a decimal separator.
6154daed1Smrg// Except since it was declared by USA people it didn't use the original
7154daed1Smrg// SI separator "," but a "." (since then the USA managed to f-up the SI
8154daed1Smrg// by making "." an accepted alternative, but standards still use "," as
9154daed1Smrg// default)
10154daed1Smrg// As a result users of SI-abiding countries expect either a "." or a ","
11154daed1Smrg// or a "decimal_separator" which may or may not be translated in one of the
12154daed1Smrg// above depending on applications.
13154daed1Smrg// It's not possible to define a default per-country since user expectations
14154daed1Smrg// depend on the conflicting choices of their most-used applications,
15154daed1Smrg// operating system, etc. Therefore it needs to be a configuration setting
16154daed1Smrg// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
17154daed1Smrg
18154daed1Smrg
19154daed1Smrg// Legacy <KPDL> #1
20154daed1Smrg// This assumes KP_Decimal will be translated in a dot
21154daed1Smrgpartial keypad_keys
22154daed1Smrgxkb_symbols "dot" {
23154daed1Smrg
24154daed1Smrg    key.type[Group1]="KEYPAD" ;
25154daed1Smrg
26154daed1Smrg    key <KPDL> { [ KP_Delete, KP_Decimal ] }; // <delete> <separator>
27154daed1Smrg};
28154daed1Smrg
29154daed1Smrg
30154daed1Smrg// Legacy <KPDL> #2
31154daed1Smrg// This assumes KP_Separator will be translated in a comma
32154daed1Smrgpartial keypad_keys
33154daed1Smrgxkb_symbols "comma" {
34154daed1Smrg
35154daed1Smrg    key.type[Group1]="KEYPAD" ;
36154daed1Smrg
37154daed1Smrg    key <KPDL> { [ KP_Delete, KP_Separator ] }; // <delete> <separator>
38154daed1Smrg};
39154daed1Smrg
40154daed1Smrg
41154daed1Smrg// Period <KPDL>, usual keyboard serigraphy in most countries
42154daed1Smrgpartial keypad_keys
43154daed1Smrgxkb_symbols "dotoss" {
44154daed1Smrg
45154daed1Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
46154daed1Smrg
47154daed1Smrg    key <KPDL> { [ KP_Delete, period, comma, 0x100202F ] }; // <delete> . , ⍽ (narrow no-break space)
48154daed1Smrg};
49154daed1Smrg
50154daed1Smrg
51154daed1Smrg// Period <KPDL>, usual keyboard serigraphy in most countries, latin-9 restriction
52154daed1Smrgpartial keypad_keys
53154daed1Smrgxkb_symbols "dotoss_latin9" {
54154daed1Smrg
55154daed1Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
56154daed1Smrg
57154daed1Smrg    key <KPDL> { [ KP_Delete, period, comma, nobreakspace ] }; // <delete> . , ⍽ (no-break space)
58154daed1Smrg};
59154daed1Smrg
60154daed1Smrg
61154daed1Smrg// Comma <KPDL>, what most non anglo-saxon people consider the real separator
62154daed1Smrgpartial keypad_keys
63154daed1Smrgxkb_symbols "commaoss" {
64154daed1Smrg
65154daed1Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
66154daed1Smrg
67154daed1Smrg    key <KPDL> { [ KP_Delete, comma, period, 0x100202F ] }; // <delete> , . ⍽ (narrow no-break space)
68154daed1Smrg};
69154daed1Smrg
70154daed1Smrg
71154daed1Smrg// Momayyez <KPDL>: Bahrain, Iran, Iraq, Kuwait, Oman, Qatar, Saudi Arabia, Syria, UAE
72154daed1Smrgpartial keypad_keys
73154daed1Smrgxkb_symbols "momayyezoss" {
74154daed1Smrg
75154daed1Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
76154daed1Smrg
77154daed1Smrg    key <KPDL> { [ KP_Delete, 0x100066B, comma, 0x100202F ] }; // <delete> ? , ⍽ (narrow no-break space)
78154daed1Smrg};
79154daed1Smrg
80154daed1Smrg
81154daed1Smrg// Abstracted <KPDL>, pray everything will work out (it usually does not)
82154daed1Smrgpartial keypad_keys
83154daed1Smrgxkb_symbols "kposs" {
84154daed1Smrg
85154daed1Smrg    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
86154daed1Smrg
87154daed1Smrg    key <KPDL> { [ KP_Delete, KP_Decimal, KP_Separator, 0x100202F ] }; // <delete> ? ? ⍽ (narrow no-break space)
88154daed1Smrg};
89c067fea9Sghen
90c067fea9Sghen// Spreadsheets may be configured to use the dot as decimal
91c067fea9Sghen// punctuation, comma as a thousands separator and then semi-colon as
92c067fea9Sghen// the list separator. Of these, dot and semi-colon is most important
93c067fea9Sghen// when entering data by the keyboard; the comma can then be inferred
94c067fea9Sghen// and added to the presentation afterwards. Using semi-colon as a
95c067fea9Sghen// general separator may in fact be preferred to avoid ambiguities
96c067fea9Sghen// in data files. Most times a decimal separator is hard-coded, it
97c067fea9Sghen// seems to be period, probably since this is the syntax used in
98c067fea9Sghen// (most) programming languages.
99c067fea9Sghenpartial keypad_keys
100c067fea9Sghenxkb_symbols "semi" {
101c067fea9Sghen
102c067fea9Sghen    key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
103c067fea9Sghen
104c067fea9Sghen    key <KPDL> { [ NoSymbol, NoSymbol, semicolon ] };
105c067fea9Sghen};
106