MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!


 
 

*DocIndex - X

Keyboard in X II

* Using the 'Windows' Keys
* Keyboard Utilities

Related Resources:

man xmodmap
man xev

Revision / Modified: June 13, 2002
Author: Tom Berger

 

* Using The 'Windows' Keys

Most window managers and environments allow using the 'WinKeys' as modifiers (that is in combination with other keys) to configure keyboard shortcuts for all kinds of actions, and there is no further modification necessary.

If the configuration utility for your window manager or environment does not seem to recognize these keys, you should first check the key map with:

xmodmap -pk | grep 11[567]

115, 116 and 117 are the usual keycodes for the 'windows keys' (from left to right). Unless you are running KDE, you should get something like this:

115         0xffe7 (Meta_L)
116 0xff20 (Multi_key)
117 0xff67 (Menu)

If the right hand column is empty, check '/etc/X11/XF86Config-4' (as 'root') for the XkbModel entry. This entry should be set to either pc105 or microsoft.

If everything's correct and it still doesn't work (or not the way you want to), you have to set the bindings by hand, don't worry, it's not that difficult.
This can be done via the 'xmodmap' command. Create a file in your home directory called '.Xmodmap'. The most simple case for the Windows keys would be mapping them to function keys. To avoid conflicts with existing mappings, use F13, F14 and F15:

keycode 115=F13
keycode 116=F14
keycode 117=F15

Save this file and run

xmodmap .Xmodmap

Now return to your manager's shortcut configuration utility. Using the provided 'grab' function, press the keys, and you should see the appropriate mapping appearing in the utility.

Mandrake Linux seems to have tried to achieve a similar thing, first via patching '/usr/bin/startkde' directly and in 8.1 and later with the '/usr/bin/test-windows-key' script and the 'DISABLE_WINDOWS_KEY' option in '/etc/sysconfig/keyboard'. Their solution however does not work for me:

  1. The right 'flag' key isn't mapped.
  2. The mapping of the menu key (117) to 'menu' in 8.1 and later confuses KDE and GNOME (at least with a German key map): the left 'flag' key (115) now appears to be the menu key, whereas the menu key is blocked. So I'm left with effectively one additional key ...

As for the question if you can use the 'flag' keys as modifier keys (i.e. like in Windows in key combinations): of course you can :-). The appropriate mapping in '~/.Xmodmap' looks like this:

keycode 115 = Meta_L
add mod4 = Meta_L
keycode 116 = Meta_R
add mod4 =Meta_R

Et voila, another modifier key! Using these keys as modifiers has a huge advantage: no Linux application uses them by default. This means you are totally free to create shortcuts using these keys without having to be afraid to collide with preset application shortcuts. And yes, that's the setup I'm using ;-).

* section index * top

* Keyboard Utilities

Here are some utilities for keyboard handling in Linux. Maybe you find something of interest to you.

Binding keys

xbindkeysallows you to bind key combination and mouse movements to shell commands. Most window managers and desktop environments offer their own key binding utilities, but 'xbindkeys' is window manager independent and also captures 'extra' keys on 'Internet keyboards' and such. RPM is available from the website.
Make sure to also get the graphical configuration utility, XBindKeys_Config (RPM available from website.

Touch-Typing Tutors

Several programs allowing you to train typing without having to look at the keyboard are available:

  • The console based GNU Typist is included in Mandrake Linux 8.2 (package 'gtypist').
  • TuxTyping "is an educational typing tutor for children". RPM is available from the website.
  • KTouch might be the most advanced touch typing training program for Linux. It is included in Mandrake Linux 8.2 (package 'ktouch') and part of the 'kdeedu3' package for KDE3.
  • dvorak7min is a console typing tutor for keyboards featuring the Dvorak layout.

Read the review on 'Linux Journal' by Marcel Gagne for in depth information.

Control Keyboard LEDs

Most keyboards feature status LEDs for certain key functions, usually 'ScrollLock', 'ShiftLock' and 'NumLock'. You can use these LEDs for displaying various bits of system information like incoming e-mail, network traffic, system load and what not. You can then use LED status monitors to display those blinking LEDs on your desktop ... ;-)

Two of them are:

  • ifled displays network activity using the keyboard LEDs. Package included in Mandrake Linux 8.2.

  • Ledcontrol uses an even more general approach. It allows you to let your LEDs show practically anything which has two states. Comes with a graphical configuration interface ('gled')..

Freshmeat has more.

On-screen Keyboards

xvkbd and GTKeyboard display a virtual keyboard on the screen for people who can't or don't want to use the keyboard for character input. 'GTKeyboard' is included in Mandrake Linux 8.2 (package 'gtkeyboard').

Remote Control

Utilities like xremote allow you to take over the input devices of a remote machine. RPM is available from the website.

* section index * top

 
Legal: All texts on this site are covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2002.