Fingerworks Old Support Forums Archive Home  
Fingerworks Old Support Forums Archive Fingerworks Old Support Forums Archive > Product Troubleshooting > Installation and Diagnostics > Getting Numpad to work w/ Linux
Junior Member

Registered: Jul 2003
Posts: 2

Getting Numpad to work w/ Linux

Setting-up FingerWorks' iGesture numberpad on a Linux laptop

My new iGesture pad worked great without any effort on my Thinkpad running Windows 2000, but I do a lot of my work running Linux. Getting the pad to work fully under Linux was not intuitive (to me at least) and I could have used a little help. So that is what I am trying to provide here – a little help for the next guy.

I have tested the main (again, for me) gestures using Gnome, Open Office and Galeon, and my post-Linux-configuration results are shown in the attachment. Note: all of the 'keys' on the numberpad worked without any updates to my system – only the gestures required the changes.

The changes to my Linux system were nominal, it just took some effort to track down what changes to make. Here are the steps I followed:

1.Plug in the iGesture pad (iGP), then cold start Linux. Leave existing mice alone – you may need them if the iGP is not recognized, or if you blunder when messing with .conf files (like I did).
2.Once you are in KDE or Gnome, open a notepad application and do the FingerWorks 4-corner configuration setup. Pick option 4 (Linux) by pressing the number 4 on the iGP. After the confirmation message, close the notepad.
3.Test the iGP functionality.
4.Install a Java virtual machine. For me this meant downloading the Java runtime environment and installing it. You don't really need this to get up and running, but you will need it to run the MultiTouch_Utilities and Gesture_Editor. You are going to need these eventually, so you might as well get the JVM now. You also need it to run the hardware diagnostics. If you are as new to this as I am, it is reassuring to know that the iGP hardware passes the diagnostics – it narrows down the potential problem sources to software and/or user error. You can get all of this software from the FingerWorks download page.
5.Edit the /etc/X11/XF86Config-4 file as shown below. Make a backup copy of this file first!
7.Test functionality. I have included a table of functions that I have tested. Once you have made the changes in Step 5 you get most of the standard gestures to work. I think that, using the gesture editor, I can get the remaining gestures to work as well.


Hardware: IBM Thinkpad 600; 192MB RAM; 30GB hard drive; Logitech “marble” trackball; FingerWorks iGesture numberpad

Software: Mandrake Linux 9.1 dual boot with Windows 2000 Pro

File Changes:

Make changes to: /etc/X11/XF86Config-4 as shown in listing below.

# File generated by XFdrake.

# **************************************************
# Refer to the XF86Config man page for details about the format of
# this file.
# **************************************************
# 6/8/2003 File modified to support Fingerworks numberpad. Numberpad
# keyboard functionality works out-of-the-box, but this file must be
# updated to support its mouse and gesture functionality. Added InputDevice
# Section for USB mouse and updated the ServerLayout Section.
# **************************************************

Section "Files"
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.
FontPath "unix/:-1"

Section "ServerFlags"
#DontZap # disable <Crtl><Alt><BS> (server abort)
AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work
#DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)

Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer

Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbCompat" ""
Option "XkbOptions" ""

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
# Next section added to get Fingerworks pad working
Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
# Next line enables wheel-like scrolling
Option “ZaxisMapping” “4 5”
# End first Fingerworks section

Section "Monitor"
Identifier "monitor1"
VendorName "Generic"
ModelName "Flat Panel 1024x768"
HorizSync 31.5-48.5
VertRefresh 40-70

# Sony Vaio C1(X,XS,VE,VN)?
# 1024x480 @ 85.6 Hz, 48 kHz hsync
ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync

# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630

# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616

Section "Device"
Identifier "device1"
VendorName "Neomagic Corporation"
BoardName "NeoMagic 128XD"
Driver "neomagic"
Option "DPMS"

# Chipset "NM2160"
# IOBase 0xfea00000
# MemBase 0xfd000000
# VideoRam 2048
# DacSpeed 90
# Option "linear"
# Option "nolinear"
# Option "sw_cursor"
# Option "hw_cursor"
# Option "no_accel"
# Option "intern_disp"
# Option "extern_disp"
# Option "mmio"
# Option "no_mmio"
# Option "lcd_center"
# Option "no_stretch"
Option "XaaNoScanlineImageWriteRect"
Option "XaaNoScanlineCPUToScreenColorExpandFill"

Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultColorDepth 16

Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"

Subsection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"

Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"

Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"

# Section below changed to support FingerWorks numberpad

Section "ServerLayout"
# Identifier "layout1"
# line above was replaced with line below for Fingerworks
Identifier "Layout[all]"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
# line below was added for Fingerworks
InputDevice "USB Mouse" "SendCoreEvents"
Screen "screen1"


Once I made the file changes & rebooted, I no longer needed to use the 4-corner configuration each time I started Linux – just boot & go. The iGesture numberpad now is nearly as functional for me on Linux as it is on Win2K.

Valuable Reference Resources:

Essential System Administration 3rd Edition, Æleen Frisch. O'Reilly & Associates, Sebastapo, CA, USA.

Pages 810-812 are truly 'essential.' This is where I found the needed file modifications. Buy this book even if you don't need it to get your iGP working – it is that good.

Setting up a USB Mouse in Linux, Norman Jordan. In Redefine the Fine Manual: Linux Tips and HowTo's Database.

Relates to mice specifically, but a really nice single page description of getting a USB device to work in Linux.

Old Post 07-01-2003 04:34 AM
TS Zealot

Registered: Jun 2003
Location: Waco, TX
Posts: 461

When I read the thread title, it reminded me of an issue with the LP under linux. The numpad does not work for me unless I have the "Toggle NumLock Internally" option enabled. Not sure why, but I always have to make sure this is set when I configure the LP.

Not sure about the similarity, but I think that setup of the LP is much easier in linux. If you have a USB mouse, the LP takes that driver for the mouse. Standard USB keyboard settings work as well. It was a long time ago, but I think that the LP setup guides for linux explained everything sufficiently to make everything work.

It seems to me that the changes you made to XF86Config are standard options most of the time. In fact, I bet that if you re-ran XFDrake (mousedrake, actually) and selected a 3 button USB mouse with scroll wheel, everything would go fine. Also, rebooting for X reconfigurations is entirely unnecessary as long as you don't require kernel changes. I know KDM and GDM offer a "Restart X server" option. Actually, a "cheap trick" I discovered a while ago was to run the command "X -probeonly :1" That will start another instance of X long enough to redetect the devices in the XF86Config file. Those changes will fall over to the original X server. Just alot less headache than rebooting, and rebooting for everything is such a Windows mindset.


Come to think of it, currently mousedrake configures only one mouse device, so if you wanted to use the ps2 device as well, the manual editing would be necessary.. Wonder if/when MDK will fix this.

Last edited by JerryKnight on 07-23-2003 at 09:04 AM

Old Post 07-23-2003 08:55 AM
Junior Member

Registered: Jul 2003
Posts: 4


This post was very helpful, and allowed me to get the mouse working. The only problem is that, although I completely agree that restart is a waste, I was unable to get everything to work without a restart. I tried the above command, and X restarted and read XF86Config-4, but gestures were still unavailable. Once I restarted it worked fine. Maybe someone knows why and this will benefit someone else.


"Do not worry about your difficulties in mathematics.
I can assure you mine are still greater."
<albert einstein>

Last edited by svthomson on 07-26-2003 at 06:08 AM

Old Post 07-26-2003 05:55 AM
Junior Member

Registered: Oct 2003
Posts: 3

This is more LP oriented. Another hint for Linux. If you feel comfortable doing so, it is a good idea to recompile the kernel with the USB HID drivers builtin, instead of as modules. You will also need the driver for your host controller. Otherwise, if anything ever happens thats needs input before the USB modules get loaded, you will be up the creek without a PS/2 keyboard. This is only a problem with a desktop system, however.

Old Post 10-16-2003 08:47 PM
All times were GMT.   

Forum Jump:

< Fingerworks Home >

Was powered by: vBulletin Version 2.3.0
Copyright ©2000 - 2002, Jelsoft Enterprises Limited.