Dell Inspiron 1090 (Duo)

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Needs a hardware table and a function keys table (Discuss in Talk:Dell Inspiron 1090 (Duo))

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: This page is ancient (Discuss in Talk:Laptop#Old laptop pages)

Folding detection

When this computer is folded (or unfolded) into a tablet, it sends a keystroke. You can assign the keys XF86LAUNCH1 and XF86LAUNCH2 to these keystrokes with the following commands, respectively:

setkeycodes e073 148
setkeycodes e074 149
Tip: Add those commands to /etc/rc.local to execute them when booting.

Screen rotation

The screen can be rotated with xrandr, but the coordinates of the touchscreen are not rotated accordingly. You can fix this with xinput by running the following commands:

Warning: This commmands depend on the output of xinput --list, which may change on driver updates for the touchscreen.
xrandr -o left
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 1
xrandr -o right
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 1 0
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 1 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 0 1 0 1 0 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 1 0
xrandr -o inverted
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 1 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 0
xrandr -o normal
xinput set-prop "eGalax Inc. USB TouchController" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalax Inc. USB TouchController" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Multi" 'Evdev Axis Inversion' 0 0
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop "eGalaxTouch Virtual Device for Single" 'Evdev Axis Inversion' 0 0

Observe that the transformation matrix is the same for normal and inverted orientations, and for left and right orientations. Therefor the corresponding commands need to be applied only when changing between orientations with different transformation matrix.

See also