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