Hi!

On 01.09.2011 13:53, Frédéric Boiteux wrote:
> 
>    I'm trying to use the GRML iso image (with grml-rescueboot package)
> on computers with a special keyboard layout, a french-targeted
> dvorak-like layout called « bépo ».
> 
>    I found how to setup the console layout, giving
> « keyboard=dvorak-fr-bepo » in CUSTOM_BOOTOPTIONS variable
> of /etc/default/grml-rescueboot, but didn't found how to setup the Xorg
> layout : it's a flavor/variant of « fr » Xorg layout (though it very
> different from classical french Azerty) ; I can setup in a shell with :
> 
> setxkbmap fr bepo
> 
> and following grml's FAQ, I tried « xkeyboard=bepo »,
> « xkeyboard=fr(bepo) » without luck.
> 
> 
>    Could you tell me what syntax can we use in xkeyboard definition, or
> how to setup my Bépo keyboard layout (if possible) ?

Hmm. Variants of keyboard layouts (currently) does not seem to be
implemented:

[1] http://qr.cx/J1ri

One need to add a new bootoption (e.g. xkeyvariant) and introduce a new
variable (e.g. XKEYVARIANT) in '/etc/grml/autoconfig.functions' to
write this into '/etc/sysconfig/keyboard'.

After that this variable needs to be parsed by 'grml_keyboard' in
'$HOME/.xinitrc.d' resp. '/etc/skel/.xinitrc.d'.

With these changes it should be possible to set "xkeyboard=fr
xkeyvariant=bepo".

I've attached two (untested) patches (against the files in grml
2011.05) to get an idea. Maybe it can be helpful or even useful.. ;)

HTH && HAND,
 - Darsha

>From a135c4f569a406315086eb8e1f983120879cb30d Mon Sep 17 00:00:00 2001
From: Darshaka Pathirana <[email protected]>
Date: Fri, 2 Sep 2011 03:00:52 +0200
Subject: [PATCH] Added bootoption 'xkeyvariant' to set xkeyboard variant

---
 autoconfig.functions |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 autoconfig.functions

diff --git a/autoconfig.functions b/autoconfig.functions
old mode 100644
new mode 100755
index 01350dd..a302e34
--- a/autoconfig.functions
+++ b/autoconfig.functions
@@ -277,6 +277,9 @@ config_language(){
       KDEKEYBOARD="$KKEYBOARD"
    fi
 
+   # empty xkeyvariant does not matter...
+   XKEYVARIANT="$(getbootparam 'xkeyvariant' 2>>$DEBUG)"
+
    # duplicate of previous code to make sure /etc/grml/language-functions
    # does not overwrite our values....
    # now allow keyboard override by boot commandline for later use:
@@ -291,6 +294,7 @@ config_language(){
    if ! [ -e /etc/sysconfig/keyboard ] ; then
       echo "KEYTABLE=\"$KEYTABLE\""          > /etc/sysconfig/keyboard
       echo "XKEYBOARD=\"$XKEYBOARD\""       >> /etc/sysconfig/keyboard
+      echo "XKEYVARIANT=\"$XKEYVARIANT\""   >> /etc/sysconfig/keyboard
       echo "KDEKEYBOARD=\"$KDEKEYBOARD\""   >> /etc/sysconfig/keyboard
       echo "KDEKEYBOARDS=\"$KDEKEYBOARDS\"" >> /etc/sysconfig/keyboard
    fi
-- 
1.7.5.1

>From 240681aacf6a069ffe080e93026f51afb5212139 Mon Sep 17 00:00:00 2001
From: Darshaka Pathirana <[email protected]>
Date: Fri, 2 Sep 2011 02:57:39 +0200
Subject: [PATCH] Set keyboard variant if set as bootoption

---
 grml_keyboard |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/grml_keyboard b/grml_keyboard
index 5bec35e..b9cac25 100755
--- a/grml_keyboard
+++ b/grml_keyboard
@@ -21,9 +21,9 @@ else
       [ -r $HOME/.Xmodmap ] && xmodmap $HOME/.Xmodmap
    else
       if [ -n "$XKEYMODEL" ] ; then
-         setxkbmap -model "$XKEYMODEL" -layout "$XKEYBOARD"
+         setxkbmap -model "$XKEYMODEL" -layout "$XKEYBOARD" "$XKEYVARIANT"
       else
-         setxkbmap "$XKEYBOARD"
+         setxkbmap "$XKEYBOARD" "$XKEYVARIANT"
       fi
    fi
 fi
-- 
1.7.5.1

_______________________________________________
Grml mailing list - [email protected]
http://lists.mur.at/mailman/listinfo/grml
join #grml on irc.freenode.org
grml-devel-blog: http://grml.supersized.org/

Reply via email to