Diff for "X61T"


Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2009-04-25 20:40:27
Size: 2346
Editor: c83-248-231-19
Comment:
Revision 12 as of 2009-05-20 15:44:34
Size: 6777
Editor: 71-88-108-63
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
For me ant many others the fdi files are just not familiar so I thought we need some help to configure the Lenovo X61 Tablet PC! The guid here will be written for Ubuntu Jaunty 9.04 and later versions supporting HAL and fdi configuration files.

= Stylus =
It works out of the box, you should know that every changes from [[Ubuntu Wacom|https://help.ubuntu.com/community/Wacom]] can be applied to the fdi file as in xorg.conf for older versions of Ubuntu. but there is no need normally.

= Eraser =
Not configured by default but is easy to configure in the next step.

= Touch =
Works out of the box, just needs calibration .

= Reassigning and calibrating =
Using wacomcpl is straight forward you open an terminal and run it as normal user or by sudo .
== Helping wacomcpl ==
The hal assignes names to wacom devices in a way that the recent wacomcpl from jaunty the they it was released was 8.2.2 cant find them , you need to rename then on every boot.
Do the following steps to make to make sure it is done on every boot .
open a terminal and type :
This page covers the additional hardware setup required after installing Ubuntu 9.04 Jaunty to make the Thinkpad X61 Tablet Fully Functional. All directions are given in the HAL, fdi, and acpi thus avoiding the xorg.conf file completely.

== What Works ==
Forward / Back Buttons,
Audio Buttons,
Brightness Fn Buttons,
Radio Fn Button,
Suspend Fn Button,
Power Fn Button,
Lock Fn Button,
Hibernate Fn Button,
Tablet L/R/U/D Buttons,
Tablet Enter Button,
Tablet Esc Button,
Media Fn Buttons
NumberLock Fn Button,
Tablet Pen,
Wireless Radio,
Bluetooth Radio,

== What Almost Works ==
Tablet Toolbox Button - causes lock or suspend,
Tablet Touch – Requires Calibration,

== What Does Not Work ==
Tablet Control-Alt-Delete Button,
Tablet Rotate Button,
Middle Mouse Button,
ThinkVantage Button,
Magnify Fn Button,
Fingerprint Reader,
Automatic Screen Rotation,
ThinkVantage ActiveProtection,

= Fixing Touch =
Works out of the box, just needs some calibration.

== Wacomcpl ==
The Wacom Tablet in the X61t is a serial Wacom tablet. It can be configured by using wacomcpl. Wacomcpl is part of the wacom-tools package and can be retrieved in apt:
{{{
sudo apt-get install wacom-tools
}}}
After this wacomcpl can be run by typing:
{{{wacomcpl}}}
in Terminal.

=== Helping wacomcpl ===
Unfortunately HAL assigns names to wacom devices in a way that the recent wacomcpl from jaunty cant find them, to help wacomcpl to find them:

Open a terminal and type :
Line 45: Line 78:
=== Making Wacomcpl Settings Restore on Reboot ===
If you lose your calibration after reboot:

In terminal:
{{{
sudo gedit ~/.xinitrc
}}}
Find the line that says:
{{{
. /etc/X11/xinit/xinitrc
}}}
and change it to
{{{
#. /etc/X11/xinit/xinitrc
}}}
Save and exit.

Go to System>Preferences>Startup Applications and create a new entry named whatever you want.

The command should be:
{{{
sh /home/yourusername/.xinitrc
}}}
Your wacomcpl settings will now restore on reboot

=== Making Wacomcpl Settings Restore on Resume ===

If you lose your configuration after resume from standby or hibernate follow these instructions to create a binary daemon that will restore your settings:

In Terminal
{{{
gedit monitor_wacom.c
}}}

Enter the following code:
{{{
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <assert.h>

char method_line[1024];

int main(int argc, char **argv) {

        if (argc != 2) {
                printf("Usage: %s [script to run]\n", argv[0]);
                return 1;
        }

        FILE* in = popen("dbus-monitor --session type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'", "r");

        while (1) {
                char buf[1024];
                assert(fgets(buf, 1023, in));
                
                if (buf[0] == 's' /* early exit optimization */ && strstr(buf, "ActiveChanged") != NULL) {
                        assert(fgets(buf, 1023, in));
                        if (strstr(buf, "false") != NULL) {
                                /* resumed */
                                assert(system(argv[1]) == 0);
                        } else {
                                /* put to sleep */
                        }
                }
        }
}
}}}

Save and Close

In Terminal:
{{{
gcc -O2 monitor_wacom.c -o .monitor_wacom
}}}

Go to System>Preferences>Startup Applications and create a new entry named whatever you want.

Its command should be:
{{{
/home/yourusername/.monitor_wacom /home/yourusername/.xinitrc
}}}

Reboot.

= Fixing the Tablet Toolbox Button =
No Solution Yet.

= Setup the Tablet Control-Alt-Delete Button =
No Solution Yet.

= Setup the Tablet Rotate Button =
No Solution Yet.

= Setup the Middle Button Scrolling =

Create a new file called /etc/hal/fdi/policy/mouse-wheel.fdi typing:
{{{
sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi
}}}
And fill it with this code:
{{{
<?xml version="1.0" encoding="UTF-8"?>

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>
}}}

Reboot

= Setup ThinkVantage Button =
The ThinkVantage button does not work only in that it is not bound to anything. To bind it go to System>Preferences>Keyboard Shortcuts and set it to perform any command.

= Magnify Fn Button =
No Solution Yet.

= Fingerprint Reader =
No Solution Yet.

= Automatic Screen Rotation =
To Be Posted.

= ThinkVantage ActiveProtection =
No Solution Yet.

= Useful Task: Disable Bluetooth on Startup =
These instructions will disable the bluetooth radio being activated during the boot. The radio can then be activated at the users discresion using Fn F5 (Radio Fn Button).

edit /etc/rc.local and add:
{{{
chmod 666 /proc/acpi/ibm/bluetooth
echo "disable" > /proc/acpi/ibm/bluetooth
}}}
before the exit0 line

*note chmod 666 makes this file editable by everyone, this may compromise security, try different settings to find the one that suits your needs (655 may work)

*note proc is depreciated and may not work in future releases
Line 47: Line 225:
Feel free to add more stuff here as I don't see any need now, but a autorotation of the screen would be nice, I will add one as I find one.
Feel free to add more to this page.
Some solutions may exist on thinkwiki.org

Introduction

This page covers the additional hardware setup required after installing Ubuntu 9.04 Jaunty to make the Thinkpad X61 Tablet Fully Functional. All directions are given in the HAL, fdi, and acpi thus avoiding the xorg.conf file completely.

What Works

Forward / Back Buttons, Audio Buttons, Brightness Fn Buttons, Radio Fn Button, Suspend Fn Button, Power Fn Button, Lock Fn Button, Hibernate Fn Button, Tablet L/R/U/D Buttons, Tablet Enter Button, Tablet Esc Button, Media Fn Buttons NumberLock Fn Button, Tablet Pen, Wireless Radio, Bluetooth Radio,

What Almost Works

Tablet Toolbox Button - causes lock or suspend, Tablet Touch – Requires Calibration,

What Does Not Work

Tablet Control-Alt-Delete Button, Tablet Rotate Button, Middle Mouse Button, ThinkVantage Button, Magnify Fn Button, Fingerprint Reader, Automatic Screen Rotation, ThinkVantage ActiveProtection,

Fixing Touch

Works out of the box, just needs some calibration.

Wacomcpl

The Wacom Tablet in the X61t is a serial Wacom tablet. It can be configured by using wacomcpl. Wacomcpl is part of the wacom-tools package and can be retrieved in apt:

sudo apt-get install wacom-tools

After this wacomcpl can be run by typing: wacomcpl in Terminal.

Helping wacomcpl

Unfortunately HAL assigns names to wacom devices in a way that the recent wacomcpl from jaunty cant find them, to help wacomcpl to find them:

Open a terminal and type :

sudo gedit /etc/init.d/wacomtohal

and paste this code in:

## find any wacom devices
for udi in `hal-find-by-property --key input.x11_driver --string wacom`
do
type=`hal-get-property --udi $udi --key input.x11_options.Type`
## rewrite the names that the Xserver will use
hal-set-property --udi $udi --key info.product --string $type
done

then run :

sudo chmod +x /etc/init.d/wacomtohal
sudo update-rc.d wacomtohal defaults 27

now reboot and launch wacomcpl

Making Wacomcpl Settings Restore on Reboot

If you lose your calibration after reboot:

In terminal:

sudo gedit ~/.xinitrc

Find the line that says:

. /etc/X11/xinit/xinitrc

and change it to

#. /etc/X11/xinit/xinitrc

Save and exit.

Go to System>Preferences>Startup Applications and create a new entry named whatever you want.

The command should be:

sh /home/yourusername/.xinitrc

Your wacomcpl settings will now restore on reboot

Making Wacomcpl Settings Restore on Resume

If you lose your configuration after resume from standby or hibernate follow these instructions to create a binary daemon that will restore your settings:

In Terminal

gedit monitor_wacom.c

Enter the following code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <assert.h>

char method_line[1024];

int main(int argc, char **argv) {

        if (argc != 2) {
                printf("Usage: %s [script to run]\n", argv[0]);
                return 1;
        }

        FILE* in = popen("dbus-monitor --session type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'", "r");

        while (1) {
                char buf[1024];
                assert(fgets(buf, 1023, in));
                
                if (buf[0] == 's' /* early exit optimization */ && strstr(buf, "ActiveChanged") != NULL) {
                        assert(fgets(buf, 1023, in));
                        if (strstr(buf, "false") != NULL) {
                                /* resumed */
                                assert(system(argv[1]) == 0);
                        } else {
                                /* put to sleep */
                        }
                } 
        }
}

Save and Close

In Terminal:

gcc -O2 monitor_wacom.c -o .monitor_wacom

Go to System>Preferences>Startup Applications and create a new entry named whatever you want.

Its command should be:

/home/yourusername/.monitor_wacom /home/yourusername/.xinitrc

Reboot.

Fixing the Tablet Toolbox Button

No Solution Yet.

Setup the Tablet Control-Alt-Delete Button

No Solution Yet.

Setup the Tablet Rotate Button

No Solution Yet.

Setup the Middle Button Scrolling

Create a new file called /etc/hal/fdi/policy/mouse-wheel.fdi typing:

sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

And fill it with this code:

<?xml version="1.0" encoding="UTF-8"?> 

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>

Reboot

Setup ThinkVantage Button

The ThinkVantage button does not work only in that it is not bound to anything. To bind it go to System>Preferences>Keyboard Shortcuts and set it to perform any command.

Magnify Fn Button

No Solution Yet.

Fingerprint Reader

No Solution Yet.

Automatic Screen Rotation

To Be Posted.

ThinkVantage ActiveProtection

No Solution Yet.

Useful Task: Disable Bluetooth on Startup

These instructions will disable the bluetooth radio being activated during the boot. The radio can then be activated at the users discresion using Fn F5 (Radio Fn Button).

edit /etc/rc.local and add:

chmod 666 /proc/acpi/ibm/bluetooth 
echo "disable" > /proc/acpi/ibm/bluetooth

before the exit0 line

*note chmod 666 makes this file editable by everyone, this may compromise security, try different settings to find the one that suits your needs (655 may work)

*note proc is depreciated and may not work in future releases

More

Feel free to add more to this page. Some solutions may exist on thinkwiki.org

See Also

X61T (last edited 2015-03-30 20:26:54 by knome)