--- /dev/null
+#!/bin/sh
+
+# kdrive 1.4 and up have a heisenbug where it may take multiple tries to apply a modmap
+iter=0
+while [ $(xmodmap -pke | awk '{if ($2 == 36) { if ($4 == "Return") { print "good" } else {print "bad" }}}') = "bad" ] ; do
+ xmodmap - </etc/X11/default.xmodmap
+ let iter=iter+1
+done
+
+echo "modmap applied after $iter additional tries"
LICENSE = "GPL"
SECTION = "x11"
RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
-PR = "r8"
+PR = "r10"
PACKAGE_ARCH = "all"
SRC_URI_append_angstrom = " file://kdrive-1.4-fixes.patch;patch=1 \
file://xorg-fixes.patch;patch=1 \
file://gta-xorg-fixes.patch;patch=1 \
- file://default.xmodmap "
+ file://default.xmodmap \
+ file://98keymap-fixup "
do_install_append() {
install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
+ install -m 0755 "${WORKDIR}/98keymap-fixup" "${D}/etc/X11/Xinit.d/"
}
do_install_append_angstrom() {