1188967beSsnj// Instructions
2188967beSsnj//
3188967beSsnj// 1. Set basic layout by:
4188967beSsnj//    setxkbmap -rules evdev -model jollasbj -layout cz
5188967beSsnj//
6188967beSsnj// 2. Set variant by:
7188967beSsnj//    setxkbmap -rules evdev -model jollasbj -layout cz -variant qwerty
8188967beSsnj//
9188967beSsnj// 3. Set multilayout by:
10188967beSsnj//    setxkbmap -rules evdev -model jollasbj -layout "us,cz" -variant ",qwerty" -option grp:ctrl_shift_toggle
11188967beSsnj//    This sets the basic us layout active. You can switch to qwerty
12188967beSsnj//    variant of cz layout by pressing ctrl+shift.
13188967beSsnj//
14188967beSsnj// Pitfalls
15188967beSsnj//
16188967beSsnj// 1. Many to one mappings
17188967beSsnj//
18188967beSsnj// Higher level input method components don't necessarily handle many to
19188967beSsnj// one mappings correctly. They may assume that there exists only a one
20188967beSsnj// to one mapping between a hardware key and a symbol. Therefore you
21188967beSsnj// should take care not to introduce many to one mappings for keys that
22188967beSsnj// are going to be reverse mapped from a symbol to a hardware key.
23188967beSsnj//
24188967beSsnj// Currently at least the modifier keys are affected. Clients may set
25188967beSsnj// states, such as autorepeat, for hardware keys by reverse mapping a
26188967beSsnj// modifier symbol to a hardware key and then setting the state for the
27188967beSsnj// first hardware key that maps to the symbol. The correct way would be
28188967beSsnj// to modify the state of all hardware keys mapping to a given symbol.
29188967beSsnj//
30188967beSsnj// We are nice and keep the mappings one to one for clients that don't
31188967beSsnj// choose to handle many to one mappings.
32188967beSsnj
33188967beSsnj
34188967beSsnj
35188967beSsnjdefault partial alphanumeric_keys
36188967beSsnjxkb_symbols "common" {
37188967beSsnj    include "pc(pc105)"
38188967beSsnj    include "jolla_vndr/sbj(common-keys)"
39188967beSsnj
40188967beSsnj    // This section should not be included by any other section. It's
41188967beSsnj    // referenced only once by rule file to allow multiple layout
42188967beSsnj    // configurations.
43188967beSsnj};
44188967beSsnj
45188967beSsnjpartial hidden alphanumeric_keys
46188967beSsnjxkb_symbols "common-keys" {
47188967beSsnj
48188967beSsnj    // These keycodes are beyond the X11 255 limit value so it would
49188967beSsnj    // only be valid for the use with SW which supports extended keycodes,
50188967beSsnj    // like xkbcommon.
51188967beSsnj
52188967beSsnj    // generated from the headset, must always be in the map.
53188967beSsnj    key <I264>	{ [	XF86Phone							] };
54188967beSsnj};
55