Home | History | Annotate | Line # | Download | only in symbols
kpdl revision 1.1
      1  1.1  mrg // $XKeyboardConfig: xkeyboard-config/symbols/kpdl,v 1.1 2007/07/16 14:00:42 svu Exp $
      2  1.1  mrg // $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
      3  1.1  mrg 
      4  1.1  mrg // The <KPDL> key is a mess.
      5  1.1  mrg // It was probably originally meant to be a decimal separator.
      6  1.1  mrg // Except since it was declared by USA people it didn't use the original
      7  1.1  mrg // SI separator "," but a "." (since then the USA managed to f-up the SI
      8  1.1  mrg // by making "." an accepted alternative, but standards still use "," as
      9  1.1  mrg // default)
     10  1.1  mrg // As a result users of SI-abiding countries expect either a "." or a ","
     11  1.1  mrg // or a "decimal_separator" which may or may not be translated in one of the
     12  1.1  mrg // above depending on applications.
     13  1.1  mrg // It's not possible to define a default per-country since user expectations
     14  1.1  mrg // depend on the conflicting choices of their most-used applications,
     15  1.1  mrg // operating system, etc. Therefore it needs to be a configuration setting
     16  1.1  mrg // Copyright  2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
     17  1.1  mrg 
     18  1.1  mrg 
     19  1.1  mrg // Legacy <KPDL> #1
     20  1.1  mrg // This assumes KP_Decimal will be translated in a dot
     21  1.1  mrg partial keypad_keys
     22  1.1  mrg xkb_symbols "dot" {
     23  1.1  mrg 
     24  1.1  mrg     key.type[Group1]="KEYPAD" ;
     25  1.1  mrg 
     26  1.1  mrg     key <KPDL> { [ KP_Delete, KP_Decimal ] }; // <delete> <separator>
     27  1.1  mrg };
     28  1.1  mrg 
     29  1.1  mrg 
     30  1.1  mrg // Legacy <KPDL> #2
     31  1.1  mrg // This assumes KP_Separator will be translated in a comma
     32  1.1  mrg partial keypad_keys
     33  1.1  mrg xkb_symbols "comma" {
     34  1.1  mrg 
     35  1.1  mrg     key.type[Group1]="KEYPAD" ;
     36  1.1  mrg 
     37  1.1  mrg     key <KPDL> { [ KP_Delete, KP_Separator ] }; // <delete> <separator>
     38  1.1  mrg };
     39  1.1  mrg 
     40  1.1  mrg 
     41  1.1  mrg // Period <KPDL>, usual keyboard serigraphy in most countries
     42  1.1  mrg partial keypad_keys
     43  1.1  mrg xkb_symbols "dotoss" {
     44  1.1  mrg 
     45  1.1  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
     46  1.1  mrg 
     47  1.1  mrg     key <KPDL> { [ KP_Delete, period, comma, 0x100202F ] }; // <delete> . ,  (narrow no-break space)
     48  1.1  mrg };
     49  1.1  mrg 
     50  1.1  mrg 
     51  1.1  mrg // Period <KPDL>, usual keyboard serigraphy in most countries, latin-9 restriction
     52  1.1  mrg partial keypad_keys
     53  1.1  mrg xkb_symbols "dotoss_latin9" {
     54  1.1  mrg 
     55  1.1  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
     56  1.1  mrg 
     57  1.1  mrg     key <KPDL> { [ KP_Delete, period, comma, nobreakspace ] }; // <delete> . ,  (no-break space)
     58  1.1  mrg };
     59  1.1  mrg 
     60  1.1  mrg 
     61  1.1  mrg // Comma <KPDL>, what most non anglo-saxon people consider the real separator
     62  1.1  mrg partial keypad_keys
     63  1.1  mrg xkb_symbols "commaoss" {
     64  1.1  mrg 
     65  1.1  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
     66  1.1  mrg 
     67  1.1  mrg     key <KPDL> { [ KP_Delete, comma, period, 0x100202F ] }; // <delete> , .  (narrow no-break space)
     68  1.1  mrg };
     69  1.1  mrg 
     70  1.1  mrg 
     71  1.1  mrg // Momayyez <KPDL>: Bahrain, Iran, Iraq, Kuwait, Oman, Qatar, Saudi Arabia, Syria, UAE
     72  1.1  mrg partial keypad_keys
     73  1.1  mrg xkb_symbols "momayyezoss" {
     74  1.1  mrg 
     75  1.1  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
     76  1.1  mrg 
     77  1.1  mrg     key <KPDL> { [ KP_Delete, 0x100066B, comma, 0x100202F ] }; // <delete> ? ,  (narrow no-break space)
     78  1.1  mrg };
     79  1.1  mrg 
     80  1.1  mrg 
     81  1.1  mrg // Abstracted <KPDL>, pray everything will work out (it usually does not)
     82  1.1  mrg partial keypad_keys
     83  1.1  mrg xkb_symbols "kposs" {
     84  1.1  mrg 
     85  1.1  mrg     key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ;
     86  1.1  mrg 
     87  1.1  mrg     key <KPDL> { [ KP_Delete, KP_Decimal, KP_Separator, 0x100202F ] }; // <delete> ? ?  (narrow no-break space)
     88  1.1  mrg };
     89