stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [STUMP] Changing keyboard layout... forth and back


From: Fabrice Niessen
Subject: Re: [STUMP] Changing keyboard layout... forth and back
Date: Tue, 13 Jan 2009 13:30:31 +0100
User-agent: Gnus/5.110009 (No Gnus v0.9) Emacs/23.0.60 (gnu/linux)

Hi Eugen (and the others),

> Looks almost like the French layout has a different mapping
> for your prefix key than the English layout. Did you try to
> use xev to figure out whether that's the case?

Yes, I did use `xev' (under Gnome, because of problems I have to
use it under StumpWM).

There, by default, the keycode of `Super_L' (the "Windows" key)
is 115.

Once I press Caps_Lock under Gnome, I'm in the French keyboard
(that's the key I choose to switch keyboards under Gnome).

In that new keyboard, `Super_L' is still equal to 115; and the
Caps_Lock key is seen as code 66 and named `ISO_Next_Group' in
`xev'.

So, your hypothesis seemed sound, but my checks invalid that...


> If it is indeed different, then we probably found the problem
> and I can think of 2 solutions off the top of my head:
>
> * When switching to French layout, also change your prefix
>   (and change it back when switching to English, of course) to
>   the new mapping of that key.
>
> * Create your own French X key map, derived from 'fr'.

Would it have been different, I would go for solution 1... but
it isn't...


> P.S. Let me know if it works, I'll setup a multi-language
> stump pretty soon, too, and might run into the same thing.

Following advice from Antonis Antoniadis, here is how I rewrote
my command to switch between layouts:

--8<---------------cut here---------------start------------->8---
(defvar *keyboard-layout* :azerty-fr)

(defcommand toggle-keyboard-layout () ()
  (cond ((eq *keyboard-layout* :qwerty-gb)
         (setf *keyboard-layout* :azerty-fr)
         (message ":azerty-fr")
         (run-shell-command "setxkbmap fr"))
        ((eq *keyboard-layout* :azerty-fr)
         (setf *keyboard-layout* :qwerty-gb)
         (message ":qwerty-gb")
         (run-shell-command "setxkbmap gb"))))

(define-key *root-map* (kbd "F12") "toggle-keyboard-layout")

;; start in British keyboard
(run-commands "toggle-keyboard-layout")
--8<---------------cut here---------------end--------------->8---

and, at the end of my `.stumpwmrc' file, the code for setting
the prefix key to the left Windows one:

--8<---------------cut here---------------start------------->8---
;; `keycode 115 = F20' in `~/.Xmodmap', `115' being the left "Windows" key
(run-shell-command "xmodmap -e \'keycode 115 = F20\'" t)

;; change the prefix key
(set-prefix-key (kbd "F20"))
--8<---------------cut here---------------end--------------->8---

Still, if I press on `S-F12', it changes my layout to a French
keyboard (showing me the status message as well), but that's it:
I then have completely lost my prefix key!  Nothing is working
anymore, neither `Super_L', neither `C-t' or whatever...

Any way to help me sort this out?

Best regards,
  Fabrice

___________________________________________
address@hidden
Pre-sales, Network and Software Engineer
M i s s i o n   C r i t i c a l   I T
Phone ... +32 2-757.10.15
Fax ..... +32 2-759.27.60





reply via email to

[Prev in Thread] Current Thread [Next in Thread]