From 80374c174f984ea7db02bc24dd8ff164ee2dfe12 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 5 May 2012 15:21:36 +0300 Subject: [PATCH] setxkbmap: move keyboard config to udev --- packages/x11/app/setxkbmap/install | 2 + .../{init.d/72_keyboard => scripts/xkb-setup} | 37 ++++++++----------- .../app/setxkbmap/udev.d/98-xorg-xkb.rules | 8 ++++ 3 files changed, 25 insertions(+), 22 deletions(-) rename packages/x11/app/setxkbmap/{init.d/72_keyboard => scripts/xkb-setup} (67%) mode change 100644 => 100755 create mode 100644 packages/x11/app/setxkbmap/udev.d/98-xorg-xkb.rules diff --git a/packages/x11/app/setxkbmap/install b/packages/x11/app/setxkbmap/install index 6a5aaf3171..16941ff820 100755 --- a/packages/x11/app/setxkbmap/install +++ b/packages/x11/app/setxkbmap/install @@ -25,3 +25,5 @@ mkdir -p $INSTALL/usr/bin cp $PKG_BUILD/$1 $INSTALL/usr/bin +mkdir -p $INSTALL/lib/udev + cp $PKG_DIR/scripts/xkb-setup $INSTALL/lib/udev diff --git a/packages/x11/app/setxkbmap/init.d/72_keyboard b/packages/x11/app/setxkbmap/scripts/xkb-setup old mode 100644 new mode 100755 similarity index 67% rename from packages/x11/app/setxkbmap/init.d/72_keyboard rename to packages/x11/app/setxkbmap/scripts/xkb-setup index 32478732e2..7acd7f2a68 --- a/packages/x11/app/setxkbmap/init.d/72_keyboard +++ b/packages/x11/app/setxkbmap/scripts/xkb-setup @@ -1,3 +1,5 @@ +#!/bin/sh + ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) @@ -18,28 +20,19 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -# setup keyboard layout -# -# runlevels: openelec +. /etc/profile +. /var/config/settings.conf -( - if [ -f /var/config/settings.conf ]; then - . /var/config/settings.conf +if [ -z $X11_KEYMAP ]; then + XKBLAYOUT="us" +fi - progress "setup keyboard layout" +if [ ! -z $X11_KEYMAP2 ]; then + XKBLAYOUT="$X11_KEYMAP,$X11_KEYMAP2" + XKBOPTIONS="grp:alt_shift_toggle" +fi - if [ -z $X11_KEYMAP ]; then - X11_KEYMAP="us" - fi - - # waiting for Xorg to start - wait_for_xorg - - # setup keymap - if [ -z $X11_KEYMAP2 ]; then - setxkbmap -display $DISPLAY $X11_KEYMAP; - else - setxkbmap -display $DISPLAY -layout "$X11_KEYMAP,$X11_KEYMAP2" -option "grp:alt_shift_toggle"; - fi - fi -)& +echo "XKBMODEL=\"pc105\"" +echo "XKBVARIANT=\"\"" +echo "XKBLAYOUT=\"$XKBLAYOUT\"" +echo "XKBOPTIONS=\"$XKBOPTIONS\"" diff --git a/packages/x11/app/setxkbmap/udev.d/98-xorg-xkb.rules b/packages/x11/app/setxkbmap/udev.d/98-xorg-xkb.rules new file mode 100644 index 0000000000..a99b7f3c1e --- /dev/null +++ b/packages/x11/app/setxkbmap/udev.d/98-xorg-xkb.rules @@ -0,0 +1,8 @@ +ACTION!="add|change", GOTO="xorg_xkb_end" +SUBSYSTEM!="input", GOTO="xorg_xkb_end" +KERNEL!="event*", GOTO="xorg_xkb_end" + +ENV{ID_INPUT_KEY}=="?*", IMPORT{program}="xkb-setup" + +LABEL="xorg_xkb_end" +