summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVon Random <von@vdrandom.org>2017-12-06 15:34:47 +0300
committerVon Random <von@vdrandom.org>2017-12-06 15:34:47 +0300
commite9559829985a4f67d2bbddbb78396240760460a0 (patch)
treea8f9b7b0b4421c72fcd4682e90f5596d0e67c9ec
parent6a8c41d05c7e246099118d65fb98c6b833f5ba20 (diff)
add patched xkeyboard-layout because I want an icon with the language flag in my tray :<
-rw-r--r--xkeyboard-config/PKGBUILD51
-rw-r--r--xkeyboard-config/ducky_mini94
-rw-r--r--xkeyboard-config/ru.patch11
-rw-r--r--xkeyboard-config/us.patch12
4 files changed, 168 insertions, 0 deletions
diff --git a/xkeyboard-config/PKGBUILD b/xkeyboard-config/PKGBUILD
new file mode 100644
index 0000000..6b8bd41
--- /dev/null
+++ b/xkeyboard-config/PKGBUILD
@@ -0,0 +1,51 @@
+#
+# Original maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Original maintainer: Jan de Groot <jgc@archlinux.org>
+#
+# This is a modified version of xkeyboard-config to provide emulation for ducky
+# mini fn key layout that I got used to very much
+#
+# they don't make those keyboards any more :(
+
+pkgname=xkeyboard-config
+pkgver=2.22
+pkgrel=1
+pkgdesc="X keyboard configuration files"
+arch=(any)
+license=('custom')
+url="https://www.freedesktop.org/wiki/Software/XKeyboardConfig"
+makedepends=('intltool' 'xorg-xkbcomp' 'libxslt')
+provides=('xkbdata')
+replaces=('xkbdata')
+conflicts=('xkbdata')
+source=("https://xorg.freedesktop.org/archive/individual/data/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'ducky_mini'
+ 'ru.patch'
+ 'us.patch')
+sha256sums=('deaec9989fbc443358b43864437b7b6d39caff07890a4a8055105ce9fcaa59bd'
+ '8068381fb15735e60e636ab1b42f99f98e7112be8e9bd03f436688eb2a19ea80'
+ '3f62c3684339c3fb4c51a33c485685f881d20013971d114774ece3b613001832'
+ '215471b50a3c9544dd2e185cc34dd60bec3be8c54c12ed66723f81846f73eb38')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ cp -v ${srcdir}/ducky_mini symbols
+ patch -p1 < ${srcdir}/ru.patch
+ patch -p1 < ${srcdir}/us.patch
+ ./configure --prefix=/usr \
+ --with-xkb-base=/usr/share/X11/xkb \
+ --with-xkb-rules-symlink=xorg \
+ --enable-compat-rules=yes
+ make
+ }
+
+ package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ rm -f "${pkgdir}/usr/share/X11/xkb/compiled"
+
+ install -m755 -d "${pkgdir}/var/lib/xkb"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/xkeyboard-config/ducky_mini b/xkeyboard-config/ducky_mini
new file mode 100644
index 0000000..97b48e7
--- /dev/null
+++ b/xkeyboard-config/ducky_mini
@@ -0,0 +1,94 @@
+// This is a wip layout that mimicks ducky shine mini keyboard layout.
+// Uses us standard and ru typewriter keyboard layouts.
+// WIP, should be used with lv3 and grp switches
+// Has to be copied to /usr/share/X11/xkb/symbols/ducky_mini
+
+default partial alphanumeric_keys
+xkb_symbols "us" {
+ name[Group1] = "English (US, with a layout mimicking the Ducky Shine Mini fn functionality)";
+
+ include "us(basic)"
+ include "ducky_mini(common)"
+
+ // chromium doesn't like it when esc is bound to a normal key :(
+ // key <TLDE> { [ Escape, asciitilde, grave, Escape ] };
+ key <AE01> { [ 1, exclam, F1, F1 ] };
+ key <AE02> { [ 2, at, F2, F2 ] };
+ key <AE03> { [ 3, numbersign, F3, F3 ] };
+ key <AE04> { [ 4, dollar, F4, F4 ] };
+ key <AE05> { [ 5, percent, F5, F5 ] };
+ key <AE06> { [ 6, asciicircum, F6, F6 ] };
+ key <AE07> { [ 7, ampersand, F7, F7 ] };
+ key <AE08> { [ 8, asterisk, F8, F8 ] };
+ key <AE09> { [ 9, parenleft, F9, F9 ] };
+ key <AE10> { [ 0, parenright, F10, F10 ] };
+ key <AE11> { [ minus, underscore, F11, F11 ] };
+ key <AE12> { [ equal, plus, F12, F12 ] };
+
+ key <AD09> { [ o, O, Up, Up ] };
+ key <AD10> { [ p, P, Print, Sys_Req ] };
+ key <AD11> { [ bracketleft, braceleft, Scroll_Lock, Scroll_Lock ] };
+ key <AD12> { [ bracketright, braceright, Pause, Break ] };
+
+ key <AC07> { [ j, J, Prior, Prior ] };
+ key <AC08> { [ k, K, Left, Left ] };
+ key <AC09> { [ l, L, Down, Down ] };
+ key <AC10> { [ semicolon, colon, Right, Right ] };
+ key <AC11> { [ apostrophe, quotedbl, Menu, Menu ] };
+
+ key <AB07> { [ m, M, Next, Next ] };
+ key <AB08> { [ comma, less, Home, Home ] };
+ key <AB09> { [ period, greater, End, End ] };
+
+ key <BKSL> { [ backslash, bar, Insert, Insert ] };
+ key <BKSP> { [ BackSpace, BackSpace, Delete, Delete ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ru" {
+ name[Group1] = "Russian (RU typewriter, with a layout mimicking the Ducky Shine Mini fn functionality)";
+
+ include "ru(typewriter)"
+ include "ducky_mini(common)"
+
+ // chromium doesn't like it when esc is bound to a normal key :(
+ // key <TLDE> { [ Escape, plus, bar, Escape ] };
+ key <AE01> { [ numerosign, 1, F1, F1 ] };
+ key <AE02> { [ minus, 2, F2, F2 ] };
+ key <AE03> { [ slash, 3, F3, F3 ] };
+ key <AE04> { [ quotedbl, 4, F4, F4 ] };
+ key <AE05> { [ colon, 5, F5, F5 ] };
+ key <AE06> { [ comma, 6, F6, F6 ] };
+ key <AE07> { [ period, 7, F7, F7 ] };
+ key <AE08> { [ underscore, 8, F8, F8 ] };
+ key <AE09> { [ question, 9, F9, F9 ] };
+ key <AE10> { [ percent, 0, F10, F10 ] };
+ key <AE11> { [ exclam, equal, F11, F11 ] };
+ key <AE12> { [ semicolon, backslash, F12, F12 ] };
+
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, Up ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, Print, Sys_Req ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Scroll_Lock, Scroll_Lock ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Pause, Break ] };
+
+ key <AC07> { [ Cyrillic_o, Cyrillic_O, Prior, Prior ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL, Left, Left ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE, Down, Down ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, Right, Right ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E, Menu, Menu ] };
+
+ key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Next, Next ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE, Home, Home ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU, End, End ] };
+
+ key <BKSL> { [ parenright, parenleft, Insert, Insert ] };
+ key <BKSP> { [ BackSpace, BackSpace, Delete, Delete ] };
+};
+
+partial modifier_keys
+xkb_symbols "common" {
+ name[Group1] = "Common (layout mimicking the Ducky Shine Mini fn functionality)";
+
+ replace key <CAPS> { [ Control_L ] };
+ replace key <LCTL> { [ ISO_Level3_Shift ] };
+};
diff --git a/xkeyboard-config/ru.patch b/xkeyboard-config/ru.patch
new file mode 100644
index 0000000..0c1d945
--- /dev/null
+++ b/xkeyboard-config/ru.patch
@@ -0,0 +1,11 @@
+--- a/symbols/ru 2017-10-04 14:29:44.000000000 +0300
++++ b/symbols/ru 2017-12-06 15:21:17.855795258 +0300
+@@ -959,3 +959,8 @@
+ // srp: Потребно да се ставља lv5:rwin_switch_lock или једна из других брава петег ступња, да би шљакао пребацивач Caps!
+ // https://bugs.freedesktop.org/show_bug.cgi?id=102189
+ };
++
++xkb_symbols "ducky" {
++ name[Group1] = "Russian (RU typewriter, with a layout mimicking the Ducky Shine Mini fn functionality)";
++ include "ducky_mini(ru)"
++};
diff --git a/xkeyboard-config/us.patch b/xkeyboard-config/us.patch
new file mode 100644
index 0000000..2012ae6
--- /dev/null
+++ b/xkeyboard-config/us.patch
@@ -0,0 +1,12 @@
+--- a/symbols/us 2017-10-04 14:29:44.000000000 +0300
++++ b/symbols/us 2017-12-06 15:21:23.275832820 +0300
+@@ -1787,3 +1787,9 @@
+ xkb_symbols "sun_type6" {
+ include "sun_vndr/us(sun_type6)"
+ };
++
++
++xkb_symbols "ducky" {
++ name[Group1] = "English (US, with a layout mimicking the Ducky Shine Mini fn functionality)";
++ include "ducky_mini(us)"
++};