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

Re: Keyboard-switching



> > Now I have a big question: does anyone of you know something about
> > software which allows me to instantly change the layout and charset of
> the
> > keyboard while logged in XWindow??? Something like in Win95 (sorry to
> say
> > so) - you know, you can choose for example between U.S. keyboard and
> > Slovak keyboard. For writing texts it would be very preferable for me to
> > write using Slovak keyboard, but for working in the window of xterm I
> need
> > the classical U.S. keyboard. It would be very unpractical to change the
> > keyboard in the XF86Config each time.
> 
> Err... dunno how to do this. Two possible workarounds:
> 
> have two xsessions going, one for each config.
> have one (US) kbd setup for virtual consoles, and the Slovak one set up
> for X.

Probably an easier solution, entirely within X, is to capture the
keyboard mapping that you want and then to restore it when you need it. 
You can probably do so with the following mechanism:

1	start the X Server using a Slovak layout

2	capture the layout with 'xmodmap -pke' to a file

3	terminate the Server and reconfigure with a US keyboard layout and
restart

4	capture the layout with 'xmodmap -pke' to a different file

5	change the layou by using 'xmodmap slovak-file'

6	change back to the US by using 'xmodmap us-file'

This is, I believe, essentially how XFree86 maps keyboards, so you might
find that you already have an .xmodmaprc changed for each language in
your home directory.  In which case, you simply need to copy those files
to a different name and feed them to xmodmap.

Cheers, JeremyC.
-- 
Jeremy Chatfield, Xi Graphics  mailto:jdc@xig.com  tel:+44(0)1234.710030 
 Commercial X Products: Servers, CDE, contracts and custom development
    http://www.xig.com ftp://ftp.xig.com/ mailto:majordomo@xig.com
     tel:+1.303.298.7478  fax:+1.303.298.1406  mailto:info@xig.com

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


Reply to: