From 3e333f3cac7a5fdd29753c7206ddc4bd8690ed20 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Sun, 14 Jan 2018 13:51:16 +0100 Subject: [PATCH] Initial commit --- README.MD | 18 ++++++++++++++++++ base.lst.patch | 10 ++++++++++ base.xml.patch | 15 +++++++++++++++ dvorak-us-de | 13 +++++++++++++ evdev.lst.patch | 10 ++++++++++ evdev.xml.patch | 15 +++++++++++++++ install.sh | 14 ++++++++++++++ us.patch | 15 +++++++++++++++ 8 files changed, 110 insertions(+) create mode 100644 README.MD create mode 100644 base.lst.patch create mode 100644 base.xml.patch create mode 100644 dvorak-us-de create mode 100644 evdev.lst.patch create mode 100644 evdev.xml.patch create mode 100755 install.sh create mode 100644 us.patch diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..b06d74a --- /dev/null +++ b/README.MD @@ -0,0 +1,18 @@ +# Dvorak-custom +A custom dvorak keyboard layout for Linux (with Gnome 3) which uses the ```<>|``` key on German keyboards to type umlauts with the US Dvorak layout. Press ```<>|``` followed by o, u, or a to get the corresponding umlaut. To get ß, type shift + ```<>|```. + +## Installation +Apply all patches manually or run ```install.sh``` as root. + +## Notes +Add dvorak-us-de to /usr/share/X11/xkb/symbols/us + +Add layout manually to: +* /usr/share/X11/xkb/rules/base.xml +* /usr/share/X11/xkb/rules/base.lst +* /usr/share/X11/xkb/rules/evdev.lst +* /usr/share/X11/xkb/rules/evdev.xml + +Then reboot. + +Not needed, but you can see the currently active layouts here: ```org.gnome.desktop.input-sources``` diff --git a/base.lst.patch b/base.lst.patch new file mode 100644 index 0000000..3dd38af --- /dev/null +++ b/base.lst.patch @@ -0,0 +1,10 @@ +--- /usr/share/X11/xkb/rules/base.lst 2017-10-06 13:43:09.987258055 +0200 ++++ a/base.lst 2018-01-14 12:51:24.952012000 +0100 +@@ -300,6 +300,7 @@ + dvorak-l us: English (Dvorak, left-handed) + dvorak-r us: English (Dvorak, right-handed) + dvorak-classic us: English (classic Dvorak) ++ dvorak-custom us: Engilsh (custom Dvorak) + dvp us: English (programmer Dvorak) + rus us: Russian (US, phonetic) + mac us: English (Macintosh) diff --git a/base.xml.patch b/base.xml.patch new file mode 100644 index 0000000..4b4a9fd --- /dev/null +++ b/base.xml.patch @@ -0,0 +1,15 @@ +--- /usr/share/X11/xkb/rules/base.xml 2017-10-06 13:43:09.987258055 +0200 ++++ a/base.xml 2018-01-14 12:27:03.094969000 +0100 +@@ -1372,6 +1372,12 @@ + + + ++ dvorak-custom ++ English (custom Dvorak) ++ ++ ++ ++ + dvorak-intl + English (Dvorak, intl., with dead keys) + diff --git a/dvorak-us-de b/dvorak-us-de new file mode 100644 index 0000000..d9bd421 --- /dev/null +++ b/dvorak-us-de @@ -0,0 +1,13 @@ +///////////////////////////////////////////////////////////////////////////////// +// +// Generated keyboard layout file with the Keyboard Layout Editor. +// For more about the software, see http://code.google.com/p/keyboardlayouteditor +// + +xkb_symbols "dvorak-custom" +{ + name[Group1] = "English (custom Dvorak)"; + include "us(dvorak)" + key { [ dead_diaeresis, ssharp ] }; // D¨ ß +}; + diff --git a/evdev.lst.patch b/evdev.lst.patch new file mode 100644 index 0000000..f49e115 --- /dev/null +++ b/evdev.lst.patch @@ -0,0 +1,10 @@ +--- /usr/share/X11/xkb/rules/evdev.lst ++++ a/evdev.lst +@@ -295,6 +295,7 @@ + alt-intl us: English (US, alt. intl.) + colemak us: English (Colemak) + dvorak us: English (Dvorak) ++ dvorak-custom us: English (custom Dvorak) + dvorak-intl us: English (Dvorak, intl., with dead keys) + dvorak-alt-intl us: English (Dvorak, alt. intl.) + dvorak-l us: English (Dvorak, left-handed) diff --git a/evdev.xml.patch b/evdev.xml.patch new file mode 100644 index 0000000..e19e242 --- /dev/null +++ b/evdev.xml.patch @@ -0,0 +1,15 @@ +--- /usr/share/X11/xkb/rules/evdev.xml ++++ a/evdev.xml +@@ -1370,6 +1370,12 @@ + English (Dvorak) + + ++ ++ ++ dvorak-custom ++ English (custom Dvorak) ++ ++ + + + dvorak-intl diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..5407c74 --- /dev/null +++ b/install.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ "`whoami`" != "root" ]; then + echo "Need to be root." + exit 1 +fi + +(cd / && patch -p0) < us.patch +(cd / && patch -p0) < base.lst.patch +(cd / && patch -p0) < base.xml.patch +(cd / && patch -p0) < evdev.lst.patch +(cd / && patch -p0) < evdev.xml.patch + +# If something bad happens, try reinstaling ```xkeyboard-config``` diff --git a/us.patch b/us.patch new file mode 100644 index 0000000..b37b6ed --- /dev/null +++ b/us.patch @@ -0,0 +1,15 @@ +--- /usr/share/X11/xkb/symbols/us ++++ a/us +@@ -1787,3 +1787,12 @@ + xkb_symbols "sun_type6" { + include "sun_vndr/us(sun_type6)" + }; ++ ++partial alphanumeric_keys ++xkb_symbols "dvorak-custom" ++{ ++ name[Group1] = "English (custom Dvorak)"; ++ include "us(dvorak)" ++ key { [ dead_diaeresis, ssharp ] }; // D¨ ß ++}; ++