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