Root Site Index
Home
About keyTouch
Project history
Documentation
Screenshots
Download
· keyTouch
· keyTouch editor
· Plugins
· Keyboards
Contact

SourceForge project site

SourceForge.net Logo



Project donations
Support This Project

Howto get your keyboard supported

You can get your keyboard supported if keyTouch doesn't yet, by following the instructions of this howto. KeyTouch has a function to import a so called “keyboard file”. You have to create such keyboard file, which contains information about the keyboard.

  1. About (extra function) keys

When you press a key on your keyboard, your keyboard sends a keycode (also called hardwarecode) to your computer. X will convert this keycode to a symbolic code. Examples of symbolic codes are: 'a' (the 'a'-key), 'space' (your space-key).

There are no standard hardwarecodes for extra function keys. So we have to find out what hardwarecode a extra function key has. To do this we use the program 'xev', which opens a window. When this window recieves a X event the contents of that event will be printed to the commandline. An example of the contents of a key press event is:


KeyPress event, serial 28, synthetic NO, window 0x2600001,

root 0x3a, subw 0x2600002, time 3968686, (58,60), root:(899,589),

state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,

XLookupString gives 0 bytes: "a"


The part of output which is bold gives us the information we need about a key:

keycode 38

... tells us that the keycode is 38

(keysym 0x61, a)

... tells us that the symbolic code is a.

However, we only need to know what the keycode is. Normally the contents of a key press event of a extra function key will be:


KeyPress event, serial 28, synthetic NO, window 0x2600001,

root 0x3a, subw 0x2600002, time 3968686, (58,60), root:(899,589),

state 0x0, keycode 158 (keysym 0x0, NoSymbol), same_screen YES,

XLookupString gives 0 bytes: ""


As you can see there is no symbolic code for the key yet (one job of keyTouch is to give a key a symbolic code).

  1. Creating a keyboard file

A keyboard file contains information about a keyboard.

The first line contains the model name of the keyboard. The second line contains the name of the manufacturer. It's recommended that the first character of a word (in a model and manufacturer name) is an uppercase character. An example of the first two lines is:

Internet Navigator SE

Logitech

After these two lines the file contains information about the extra function keys. The information for 1 key occupies 4 lines (let's call these four line a key setting):

  1. The keycode

  2. The symbolic keycode

  3. The name of the key

  4. The default (predefined) program or special action for this key.

The symbolic keycode must be a valid one that exists on (almost) every system. It's recommanded to use one of the following:

XF86ModeLock

XF86Standby

XF86AudioLowerVolume

XF86AudioMute

XF86AudioRaiseVolume

XF86AudioPlay

XF86AudioStop

XF86AudioPrev

XF86AudioNext

XF86HomePage

XF86Mail

XF86Start

XF86Search

XF86AudioRecord

XF86Calculator

XF86Memo

XF86ToDoList

XF86Calendar

XF86PowerDown

XF86ContrastAdjust

XF86RockerUp

XF86RockerDown

XF86RockerEnter

XF86Back

XF86Forward

XF86Stop

XF86Refresh

XF86PowerOff

XF86WakeUp

XF86Eject

XF86ScreenSaver

XF86WWW

XF86Sleep

XF86Favorites

XF86AudioPause

XF86AudioMedia

XF86MyComputer

XF86VendorHome

XF86LightBulb

XF86Shop

XF86History

XF86OpenURL

XF86AddFavorite

XF86HotLinks

XF86BrightnessAdjust

XF86Finance

XF86Community

XF86AudioRewind

XF86BackForward

XF86Launch0

XF86Launch1

XF86Launch2

XF86Launch3

XF86Launch4

XF86Launch5

XF86Launch6

XF86Launch7

XF86Launch8

XF86Launch9

XF86LaunchA

XF86LaunchB

XF86LaunchC

XF86LaunchD

XF86LaunchE

XF86LaunchF

XF86ApplicationLeft

XF86ApplicationRight

XF86Book

XF86CD

XF86Calculater

XF86Clear

XF86Close

XF86Copy

XF86Cut

XF86Display

XF86DOS

XF86Documents

XF86Excel

XF86Explorer

XF86Game

XF86Go

XF86iTouch

XF86LogOff

XF86Market

XF86Meeting

XF86MenuKB

XF86MenuPB

XF86MySites

XF86New

XF86News

XF86OfficeHome

XF86Open

XF86Option

XF86Paste

XF86Phone

XF86Q

XF86Reply

XF86Reload

XF86RotateWindows

XF86RotationPB

XF86RotationKB

XF86Save

XF86ScrollUp

XF86ScrollDown

XF86ScrollClick

XF86Send

XF86Spell

XF86SplitScreen

XF86Support

XF86TaskPane

XF86Terminal

XF86Tools

XF86Travel

XF86UserPB

XF86User1KB

XF86User2KB

XF86Video

XF86WheelButton

XF86Word

XF86Xfer

XF86ZoomIn

XF86ZoomOut

XF86Away

XF86Messenger

XF86WebCam

XF86MailForward

XF86Pictures

XF86Music

The fourth line contains the name of the program or the name of the special action to excute when the key is pressed. If the line contains the name of a special action a ':' will precede.

An example of the four (/key setting) lines is:

178

XF86HomePage

My home

:WWW – Home

This key setting may be followed by another one. It's allowed to insert empty lines between key settings and also recommended to insert 1 empty line (for readability of the file).


The beginning of a keyboard file may look like:

Internet Navigator SE

Logitech


174

XF86AudioLowerVolume

Lower volume

:Aumix - Volume decrease


176

XF86AudioRaiseVolume

Raise volume

:Aumix - Volume increase


147

XF86iTouch

iTouch

keytouch


229

XF86Search

Search

:WWW – Search

  1. After you created a keyboard file

After you created the keyboard file you can use it for yourself, but maybe there are also other users that have the same keyboard. Thus it would be very nice that you send the keyboard file to: marvinr (at) users.sourceforge.net



Copyright © 2004-2007 Marvin Raaijmakers