1 // Instructions 2 // 3 // 1. Set basic layout by: 4 // setxkbmap -rules evdev -model jollasbj -layout cz 5 // 6 // 2. Set variant by: 7 // setxkbmap -rules evdev -model jollasbj -layout cz -variant qwerty 8 // 9 // 3. Set multilayout by: 10 // setxkbmap -rules evdev -model jollasbj -layout "us,cz" -variant ",qwerty" -option grp:ctrl_shift_toggle 11 // This sets the basic us layout active. You can switch to qwerty 12 // variant of cz layout by pressing ctrl+shift. 13 // 14 // Pitfalls 15 // 16 // 1. Many to one mappings 17 // 18 // Higher level input method components don't necessarily handle many to 19 // one mappings correctly. They may assume that there exists only a one 20 // to one mapping between a hardware key and a symbol. Therefore you 21 // should take care not to introduce many to one mappings for keys that 22 // are going to be reverse mapped from a symbol to a hardware key. 23 // 24 // Currently at least the modifier keys are affected. Clients may set 25 // states, such as autorepeat, for hardware keys by reverse mapping a 26 // modifier symbol to a hardware key and then setting the state for the 27 // first hardware key that maps to the symbol. The correct way would be 28 // to modify the state of all hardware keys mapping to a given symbol. 29 // 30 // We are nice and keep the mappings one to one for clients that don't 31 // choose to handle many to one mappings. 32 33 34 35 default partial alphanumeric_keys 36 xkb_symbols "common" { 37 include "pc(pc105)" 38 include "jolla_vndr/sbj(common-keys)" 39 40 // This section should not be included by any other section. It's 41 // referenced only once by rule file to allow multiple layout 42 // configurations. 43 }; 44 45 partial hidden alphanumeric_keys 46 xkb_symbols "common-keys" { 47 48 // These keycodes are beyond the X11 255 limit value so it would 49 // only be valid for the use with SW which supports extended keycodes, 50 // like xkbcommon. 51 52 // generated from the headset, must always be in the map. 53 key <I264> { [ XF86Phone ] }; 54 }; 55