Hi Trevski13,
That sounds worthwhile. I've never had that problem before, but then I almost never turn off the touchpad. I haven't seen a solution posted that I can remember.
Hi Trevski13,
That sounds worthwhile. I've never had that problem before, but then I almost never turn off the touchpad. I haven't seen a solution posted that I can remember.
Thanks for that. A couple notes -- it does need to be run as root, so you can modify it to have sudo.
The fglrx drivers in Jaunty's repos are new enough that this will work, you dont need to compile them yourself. In fact, I think that jaunty's fglrx (8.600) is newer than the drivers on ati's page, they include the unrealeased Catalyst 9.4.
Hi cak3,
Thank you for the information. I'll modify the HOW TO.
So... progress has been made on the tablet swivel front. Been talking to Matthew Garrett (HP-WMI author) and apparently the tablet swivel was sharing the signal with the docking function. Thanks to him, there is now a seperate signal for the tablet swivel switch. I'm still trying to get it to work through hal (which is a beast of a thing to try to learn).
I'll should be able to post up a patch for hp-wmi.c soon. I'll put up a makefile so all you will compile is the module itself. One thing though. You'll need 2.6.30-rc kernel source to do this. I got mine from http://kernel.ubuntu.com/~kernel-ppa/ and was able to apply the patch.
The makefile I'll post up later should build against 2.6.28 headers. I'll also post up the fdi that I'm playing with.
Later all.
Hi MisteR2,
Great! Outstanding work. Glad you got in touch with Matthew. So Jaunty will have automagic rotation!
Will this get are two non-functioning bezel buttons working also? And would the modified module work for other HP tablets, like the TC4200?
Last edited by Favux; May 1st, 2009 at 12:54 PM.
I haven't gotten any response from the bezel buttons yet. As to whether it will work for the TCs, I'm not sure. ill this get are two non-functioning bezel buttons working also? And would the modified module work for other HP tablets, like the TC4200? Not sure. Worth a shot though.
Alrighty then. Here we go.
**REMEMBER!!** Apply the attached patch to 2.6.30-rc sourced hp-wmi. I used 2.6.30-rc2.
The makefile here uses the headers for your current kernel. This is something intended to be used in a separate directory ie, /home/whoever/blah. Just take it and stick it into a text file in the same directory as your hp-wmi.c and call it Makefile.
Now the fun part. The FDI file. I have killed way to much time trying to track this information down. And I'm not even sure if it works yet.Code:obj-m := hp-wmi.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
Make sure you have input-utils, so you can see if your hal device may be something different.Code:<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.udi" contains="/org/freedesktop/Hal/devices/computer_logicaldev_input_3"> <append key="input.switch" type="strlist">0x05:TABLET_MODE</append> </match> </device> </deviceinfo>
Using input-event(s?) shows that the tablet swivel is a switch. Although in some fdi files, I've seen switches, such as the regular tablet lid switch referred to as a button.
That should be about everything. If I've forgotten anything, I'll be back.
Later.
Hi MisteR2.
In Device Manager I do have an "unknown button". Unfortunately Device Manager won't let me copy out some key lines. But basically it refers to keyboard, input.keys, and button. And the sysfs_path refers to PNP0A08:00. But it does not contain input.switch.
So even if I apply the patch to 2.6.30-rc sourced hp-wmi I can build against the 2.6.28 headers and use the resulting patched HP-WMI module in Jaunty?
What are the chances of doing the same against 2.6.27 headers in Intrepid and using it in Intrepid? Slim to none? And of course the same question in Hardy, which I think was 2.6.24.
Thank you very much for the .fdi. I know getting that together wasn't trivial. And if you get a chance thank Matthew for us.
Hi everyone,
fr34k4d3113 has a Asus R1E tablet pc. He modified the method 1 script and put it into gnomes 'startup applications' to automatically change the wacom-rotation when he rotates the display. I thought I would share it:
It turns out he is one of the lucky few. His Asus tablet works with the "rotatescreen.sh" in "/etc/acpi". So he then went on to rewrite "rotatescreen.sh" to also rotate his wacom devices:Code:#!/bin/sh while [ 1 ] do sleep 2 rotation="$(xrandr -q --verbose | grep 'connected' | egrep -o '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')" case "$rotation" in normal) ### rotate to the normal ### if [ `cat /home/user/.rotate/rotatestatus` = "right" ]; then compiz & xsetwacom set stylus rotate NONE xsetwacom set eraser rotate NONE echo "normal" > /home/user/.rotate/rotatestatus fi ;; right) ### rotate to right ### if [ `cat /home/user/.rotate/rotatestatus` = "normal" ]; then xsetwacom set stylus rotate CW xsetwacom set eraser rotate CW echo "right" > /home/user/.rotate/rotatestatus fi ;; esac done
As you can see he also had a problem with Compiz on rotation. So he put in the script the change to metacity on rotation.Code:#!/bin/sh user="yourusername" test -f /usr/share/acpi-support/key-constants || exit 0 . /usr/share/acpi-support/power-funcs if [ -f /var/lib/acpi-support/screen-rotation ] ; then ROTATION=`cat /var/lib/acpi-support/scredrittelen-rotation` fi case "$ROTATION" in right) NEW_ROTATION="normal" ;; *) NEW_ROTATION="right" ;; esac echo $NEW_ROTATION for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXconsole; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum.0" fi /usr/bin/xrandr -o $NEW_ROTATION echo $NEW_ROTATION > /var/lib/acpi-support/screen-rotation if [ $NEW_ROTATION = "normal" ]; then xsetwacom set stylus rotate none xsetwacom set eraser rotate none su $user -c "compiz &" fi if [ $NEW_ROTATION = "right" ]; then xsetwacom set stylus rotate CW xsetwacom set eraser rotate CW su $user -c "metacity --replace &" fi done
Enjoy.
MisteR2 (or anybody who has figured it out):
Would it be possible to clarify the process needed to get it all working? I mean, I can patch the file and run the makefile, but as far as I can tell that doesn't get me anywhere.
Thanks
EDIT: Basically, I need to know 2 things. Do I need to run the makefile with only that patched file in the directory, or with the entire extracted contents of the directory, and also, once run, where do I find and then put the .fdi
Last edited by cak3; May 12th, 2009 at 07:33 PM. Reason: more info
The way it worked for me was with hp-wmi.c in the same directory as the makefile. For me it was /home/*username*/hp-wmi that I did my work in.
The .fdi file should go in /usr/share/hal/fdi/policy/20thirdparty or something along those lines. The /usr/share/hal i'm positive about.
By the way, I should be able to devote some more time to this now that I've graduated from SMU. (WooHoo!)
Lat.
Bookmarks