[maemo-developers] rx-51 xkb file: how does FOUR_LEVEL type work?

From: Denis DeLaRoca delaroca at mminternet.com
Date: Sun Jan 31 22:33:46 EET 2010
My understanding of xkb configuration files is that the type FOUR_LEVEL, 
or its variants FOUR_LEVEL_ALPHABETIC and FOUR_LEVEL_SEMIALPHABETIC, allow 
for programming characters at the 4th level. For example, the following 
definition of my US keyboard,

partial alphanumeric_keys
xkb_symbols "us" {
     include "nokia_vndr/rx-51(english_base)"
     include "nokia_vndr/rx-51(arrows_4btns)"

     name[Group1] = "U.S. English";
     key.type[Group1] = "FOUR_LEVEL";

     // 1. row

     // 2. row
     key <AC06>	{ [h, H, parenleft,  bracketleft  ] };
     key <AC07>	{ [j, J, parenright, bracketright ] };

     // 3. row
};


Ought to give me bracket chars when pressing Fn + Shift... but such is not 
the case. The definitions behave rather as type THREE_LEVEL. The only 
exception being when the character slotted at the 3rd level can be 
shifted, in which case the upercase version of the char is output. 
I tried using the type FOUR_LEVEL_SEMIALPHABETIC but no change.

Is there a problem as to how I am interpreting the use of the LEVEL 
types... or is it the case that the hildon layer code is enforcing this 
observed THREE_LEVEL behaviour?

--denis


More information about the maemo-developers mailing list