# patch -p 1 -N -r - < % diff -Naur --no-dereference /usr/share/X11/xkb/geometry/typematrix xkb/geometry/typematrix --- /usr/share/X11/xkb/geometry/typematrix 2021-02-17 16:20:22.000000000 +0100 +++ xkb/geometry/typematrix 2021-02-22 09:06:24.852744988 +0100 @@ -731,3 +731,15 @@ }; }; }; // geometry tm2030USB-106 + +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 diff -Naur --no-dereference /usr/share/X11/xkb/rules/base xkb/rules/base --- /usr/share/X11/xkb/rules/base 2021-02-17 16:20:22.000000000 +0100 +++ xkb/rules/base 2021-02-22 09:09:54.526066924 +0100 @@ -26,7 +26,7 @@ ! $nokiamodels = nokiasu8w nokiarx44 nokiarx51 // TypeMatrix geometries -! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106 +! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-jeyzu tm2030USB-102 tm2030USB-106 // Layouts that provide further specializations for the OLPC ! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us diff -Naur --no-dereference /usr/share/X11/xkb/rules/base.lst xkb/rules/base.lst --- /usr/share/X11/xkb/rules/base.lst 2021-02-17 16:20:22.000000000 +0100 +++ xkb/rules/base.lst 2021-02-22 09:12:05.662726484 +0100 @@ -149,6 +149,7 @@ tm2030USB TypeMatrix EZ-Reach 2030 USB tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode) + tm2030USB-jeyzu TypeMatrix EZ-Reach 2030 USB (jeyzu) yahoo Yahoo! Internet macbook78 MacBook/MacBook Pro macbook79 MacBook/MacBook Pro (intl.) @@ -560,6 +561,7 @@ OADG109A jp: Japanese (OADG 109A) mac jp: Japanese (Macintosh) dvorak jp: Japanese (Dvorak) + jeyzu jp: Japanese (Bepo) phonetic kg: Kyrgyz (phonetic) ruskaz kz: Russian (Kazakhstan, with Kazakh) kazrus kz: Kazakh (with Russian) diff -Naur --no-dereference /usr/share/X11/xkb/rules/evdev xkb/rules/evdev --- /usr/share/X11/xkb/rules/evdev 2021-02-17 16:20:22.000000000 +0100 +++ xkb/rules/evdev 2021-02-22 09:13:20.416055754 +0100 @@ -26,7 +26,7 @@ ! $nokiamodels = nokiasu8w nokiarx44 nokiarx51 // TypeMatrix geometries -! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106 +! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-jeyzu tm2030USB-102 tm2030USB-106 // Layouts that provide further specializations for the OLPC ! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us diff -Naur --no-dereference /usr/share/X11/xkb/rules/evdev.lst xkb/rules/evdev.lst --- /usr/share/X11/xkb/rules/evdev.lst 2021-02-17 16:20:22.000000000 +0100 +++ xkb/rules/evdev.lst 2021-02-22 09:15:14.566049581 +0100 @@ -149,6 +149,7 @@ tm2030USB TypeMatrix EZ-Reach 2030 USB tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode) + tm2030USB-jeyzu TypeMatrix EZ-Reach 2030 USB (jeyzu) yahoo Yahoo! Internet macbook78 MacBook/MacBook Pro macbook79 MacBook/MacBook Pro (intl.) @@ -560,6 +561,7 @@ OADG109A jp: Japanese (OADG 109A) mac jp: Japanese (Macintosh) dvorak jp: Japanese (Dvorak) + jeyzu jp: Japanese (Bepo) phonetic kg: Kyrgyz (phonetic) ruskaz kz: Russian (Kazakhstan, with Kazakh) kazrus kz: Kazakh (with Russian) diff -Naur --no-dereference /usr/share/X11/xkb/symbols/jp xkb/symbols/jp --- /usr/share/X11/xkb/symbols/jp 2021-02-17 16:20:22.000000000 +0100 +++ xkb/symbols/jp 2021-02-22 09:16:06.342713437 +0100 @@ -321,3 +321,15 @@ xkb_symbols "sun_type7" { include "sun_vndr/jp(sun_type7)" }; + +partial alphanumeric_keys + xkb_symbols "jeyzu" { + include "fr(bepo)" + name[Group1]="French (Bepo, ergonomic, Dvorak way, jeyzu)"; + // First row + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less, 2, guillemotleft, leftdoublequotemark ] }; // < 2 « “ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, 3, guillemotright, rightdoublequotemark ] }; // < 3 » ” + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 6, notequal ] }; // = 6 ^ + key { [ at, degree, asciicircum, minutes ] }; // @ ° ^ ′ + key { [ space, Escape, underscore, U202F ] }; // ␣ escape _ (espace insécable fin) +};