SYNOPSYS

I have a typematrix 2030 and has a fr_CH layout user, I choose the bépo layout.
But I have a few changes in mind, I WANT my own kbd definition.

PROCEDURE

Find my patch.

/usr/share/X11/xkb/

1
2
3
4
5
6
compat          # translate certain key combinations into actions
geometry        # information on the physical layout
keycodes        # map a keyboard's scan codes onto useful symbolic keycodes
rules           # sets of rules that the end user will chose from to get it's config
symbols         # maps the symbolic key codes conto whatever symbols to produce
types           # information on the available levels for various keys and how to shift between the levels

/usr/share/X11/xkb/geometry/typematrix

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
xkb_geometry "tm2030USB-jeyzu" {
 include "typematrix(tm2030_shape)"
 include "typematrix(tm2030_MiscDiod_102)"
 include "typematrix(tm2030_MiscDiod_off)"

 description = "TypeMatrix EZ-Reach 2030 USB";

 include "typematrix(tm2030USB_func)"
 include "typematrix(tm2030USB_alpha)"
 include "typematrix(tm2030USB_ctrl)"
}; // geometry tm2030USB-jeyzu

/usr/share/X11/xkb/symbols/jp (fust for the flag)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
partial alphanumeric_keys
 xkb_symbols "jeyzu" {
 include "fr(bepo)"
 name[Group1]="French (Bepo, ergonomic, Dvorak way, jeyzu)";
 // First row
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [    less,      2,  guillemotleft,  leftdoublequotemark ] };
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater,      3, guillemotright, rightdoublequotemark ] };
 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   equal,      6,       notequal                       ] };
 key <AE11> {                                             [      at, degree,    asciicircum,              minutes ] };
 key <SPCE> {                                             [   space, escape,     underscore,                U202F ] };
};

/usr/share/X11/xkb/rules/base

1
2
3
 // TypeMatrix geometries
-! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106
+! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-jeyzu tm2030USB-102 tm2030USB-106

/usr/share/X11/xkb/rules/evdev

1
2
3
 // TypeMatrix geometries
-! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106
+! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-jeyzu tm2030USB-102 tm2030USB-106

/usr/share/X11/xkb/rules/base.lst

1
2
+  tm2030USB-jeyzu TypeMatrix EZ-Reach 2030 USB (jeyzu)
+  jeyzu           jp: Japanese (Bepo)