Xrandr rotation partially working
Hardware status
CPU: Core 2 Duo |
Works 64 and 32 bit modes work fine |
Ethernet |
Works Use the "tg3" driver. |
Wireless 802.11n Trumobile (BCM4328) |
Works with ndiswrapper. |
SD reader |
Works with 2.6.28 and later |
Hinge Rotation |
Working!!!
dell-wmi support has been added to release candidates of the 2.6.30
kernel.
My rotation patch has been rejected and is unlikely to be accepted for
now. See below for details, links to a patch for dell-wmi.c and a perl
script to watch for events.
|
Video |
Works
Use stock "radeon" driver.
|
Digitizer (touch screen) |
Working (but requires patches and building)
Kernels older than 2.6.27 will need a patch.
Wacom driver works nicely with a little patching
|
Touchpad (ALPS) |
Partial
PS/2 mode only.
|
Debian install
The wired network card did not work with the driver version in the
stable installation disk. Use lenny or later.
Ubuntu install
Works well with Lucid Lynx
Gestures
I've been using Easystroke
for a few months now. I do not feel my personal gestures should be
considered applicable to others, so I encourage you to consider how you
use your own machine and the sorts of motions that are comfortable to
you.
I've found that it is not convenient to keep gestures on all the time,
so I like to have a quick gesture to kill/dissable easystroke and have
one of the screen buttons mapped to start it up again. Xournal and the
grab and drag plugin for firefox/thunderbird do not really play well
with an external gestures program running.
For tablet mode, its a good idea to program gestures for common window
operations (move, resize, close, maximize). Rotation by +90, -90, and
180 (the hinge and on screen button are programmed for specific
orientations instead of arbitrary reorientation). Also, I like to keep
handy gestures for pulling up the window list, and the main window
manager menu. And of course gestures for favorite programs. Many of
the gestures are convenient enough that I find myself using them even
when not in tablet mode.
Hinge Rotation
Updated 2009-09-23
Hinge events are sent through wmi. The linux 2.6.30 release candidates
provide the base support for dell-wmi. This 0001-latitude-xt-wmi-rotation.patch
(full copy of my file with added support for the
xt2 dell-wmi.c) adds the
specific events sent by the latitude xt's hinge. I use this script dell_wmi_mon.pl with
FvwmPerl to carry the events to the window manager. The script should
mostly considered an example.
Update: the patch was rejected on the grounds that it does not
proactively
poll the state of the hinge on initialization. I have no clue how to do
that,
help would be appreciated. Note, the patch does not contain the codes
for the XT2, only the full c file.
Video
Updated 2010-04-14
The current xorg radeon driver works well.
Made by N-Trig.
Update 2010-04-27
Experimental version of hid-ntrig.c that needs testing 2010_04_27_hid-ntrig.c
This version still supports a size threshold for contacts (which I've been using to eliminate ghost points), but it defaults to 0, ie not thresholding unless you want it too.
The studio17 effectively sees smaller contacts for the same physical size, which makes that threshold a bit of a mess, and it seems the values I had before were too aggressive and were likely responsible for discontinuities in finger drawn lines. Increasing the sensitivity should help with that.
Ghost points may be controlled with activation slack, ie a number of points to ignore before trusting the input stream is real. There are also parameters to set a size threshold above which it will assume you are actually touching the screen and will skip any remaining slack and will start emitting points immediately (smaller points will still be considered valid as long they are above the minimum size).
I've also added controls for deactivation slack. The default is to ignore the first 4 consecutive empty touch frames (the studio17 sends 5 empty frames at the end of touch, and the xt seems to send more).
All the parameters have been added to sysfs and as module parameters. Note the sysfs values are per device, so if for some reason you are using more than 1 ntrig device you can tweak them individually there. The module parameters setup global defaults. Also there are a few additional features exported via sysfs (read only).
Have fun, and please let me know how it works for you. In particular I'd like to know if you see any ghost points (and whatever you can tell me about them) and what if anything you've done to reduce/eliminate them.
Update 2010-03-10
BTN_TOUCH was a bit mangled in the 2010-02-16 version (as noted by
Henrik Rydberg) the patch cleans that up.
Full file: 2010_03_10_hid-ntrig.c
Patch: 2010_03_10_ntrig.patch
Update 2010-02-16
Minor fix for single touch only mode to put back the tap events.
Patch: 2010_02_16_ntrig.patch
hid-ntrig.c: 2010_02_16_hid-ntrig.c
Given my
uncertainty about mt behavior, I've rolled back some changes to the
driver. For now mt and st will still come out of the same device. This
version has no contact tracking and no suppression/spurious event
cleanup.
2010_02_11_ntrig.patch
I will restore and add features after some more protocol discussion
and reading. On the upshot, this patch has a bit more cleanup and a
shift to letting hid do more of the work.
Update 2010-02-05
Multitouch working well with the 4.5.2.3.5 firmware and my new version
of the driver. The new driver worked fine on the one machine with an
older firmware that I tried, but use a bit of caution and prepare to
roll back if you want to test it.
The new version also requires an update to the wacom x11 driver, and
easy stroke, if you use them.
You will also need to modify your xorg configuration to use
/dev/input/eventXX. You should see two or three devices. I'm using
event10 for pen and event11 for touch, the third device emits nothing.
On the previous firmware, the third device is active instead of the
second. Use lsinput to find them and input-events to verify which
device is which.
Files: