In openbox, editting ~/.config/rc.xml and appending (under <keyboard>); this was taken from https://wiki.archlinux.org/index.php/Openbox:

−

<pre>

+

{{bc|<nowiki>

<!-- Keybindings for audio control -->

<!-- Keybindings for audio control -->

<keybind key="XF86AudioRaiseVolume">

<keybind key="XF86AudioRaiseVolume">

Line 93:

Line 95:

</action>

</action>

</keybind>

</keybind>

−

</pre>

+

</nowiki>}}

will make the audio keys work if alsa is installed.

will make the audio keys work if alsa is installed.

Line 101:

Line 103:

OpenBox can be installed by issuing #pacman -S openbox. Follow the instructions on screen to copy the openbox scripts to '~/.config/openbox/'.

OpenBox can be installed by issuing #pacman -S openbox. Follow the instructions on screen to copy the openbox scripts to '~/.config/openbox/'.

−

==Rotating the touch screen in openbox==

+

==Rotating the touch screen==

−

Editing the openbox rc.xml file in '~/.config/openbox/rc.xml' will allow configuration of the Express Gate button. Open a terminal and run $xev (non-root) to find out the key associated with the Express Gate button (just click it while in xev). For my system it was key 248 (0xF8) in hexadecimal. Edit your ~/.config/openbox/rc.xml to include the following code:

+

Editing the openbox rc.xml file in '~/.config/openbox/rc.xml' will allow configuration of the Express Gate button. Open a terminal and run $xev (non-root) to find out the key associated with the Express Gate button (just click it while in xev). For my system it was key 248 (0xF8) in hexadecimal. Edit your ~/.config/openbox/rc.xml to include the following code under <keyboard>:

−

<pre>

+

{{bc|<nowiki>

<!-- Keybindings for express gate button -->

<!-- Keybindings for express gate button -->

<keybind key="0xF8">

<keybind key="0xF8">

Line 111:

Line 113:

</action>

</action>

</keybind>

</keybind>

−

</keyboard>

+

</nowiki>}}

−

</pre>

+

This will bind the express gate key to show the openbox menu whenever clicked.

This will bind the express gate key to show the openbox menu whenever clicked.

−

To rotate the screen, use the following script:

+

To rotate the screen, use the following script (note the following script can also be bound to the expressgate button itself to generate rotations (bypass any menu):

−

<pre>

+

** As of evdev 2.7.3-1, this script no longer properly rotates the touchscreen axes.

+

+

{{bc|<nowiki>

#!/bin/bash

#!/bin/bash

−

#This script rotates the touchscreen based on input from openbox

+

−

case $1 in

+

## script to rotate touch screens

−

left)

+

## will include support for rotating specific monitors

−

xrandr -o 1;

+

−

xinput set-prop 10 "Evdev Axis Inversion" 1 0;

+

###############################################

−

xinput set-prop 10 "Evdev Axes Swap" 1;

+

# #

−

nitrogen --set-scaled ~/wallpaper.jpg;

+

# Touch_rotate for Asus T101mt #

+

# written by Mark Lee #

+

# #

+

###############################################

+

+

function main () { ## main insertion function

+

args=("$@"); ## store the arguments in an array

+

check-arg; ## read and check the arguments

+

resolve-rotate; ## resolve the rotation

+

rotate-screen; ## rotate the screen

+

}

+

+

function help-man () { ## print the help manual

+

echo "

+

where options are:

+

[usage]: touch_rotate [options]

+

+

-r or -rotate | rotate the screen; ex. -r right

+

| <left,right,normal,upside-down>

+

-c or -counter-clockwise | rotate the screen counter clockwise

+

-m or -monitor | set the monitor to rotate; ex. -m native

+

| <primary,external>

+

-i or -id | set the id of the touch screen device

+

--help | print this help screen

+

+

Examples:

+

touch_rotate -m native -r right

+

+

Press "Ctrl-C" to exit any time

+

"

+

}

+

+

function check-arg () { ## read and check console arguments

+

for ((i = 0; i <= ${#args}; i++)); do ## loop for all arguments passed

+

case ${args[$i]} in ## parse each argument

+

-c|-C|-counter-clockwise)

+

counter="yes"; ## toggle to rotate counter clockwise

+

;;

+

-r|-R|-rotate|-Rotate)

+

rot="${args[$[i + 1]]}"; ## set the new rotation

;;

;;

−

right)

+

-m|-M|-monitor|-Monitor)

−

xrandr -o 3;

+

mon="${args[$[i + 1]]}"; ## set the monitor to control

−

xinput set-prop 10 "Evdev Axis Inversion" 0 1;

+

;;

−

xinput set-prop 10 "Evdev Axes Swap" 1;

+

-i|-I|-id)

−

nitrogen --set-scaled ~/wallpaper.jpg;

+

id="$id"; ## set the id of the device

−

;;

+

;;

−

upside_down)

+

-help|--help|/?) ## help menu

−

xrandr -o 2;

+

help-man; ## print the help menu

−

xinput set-prop 10 "Evdev Axes Swap" 0;

+

exit; ## exit the script

−

xinput set-prop 10 "Evdev Axis Inversion" 1 1;

+

;;

−

nitrogen --set-scaled ~/wallpaper.jpg;

+

-*) ## for all other options

−

;;

+

echo "Unrecognized option: ${args[$i]}"

−

normal)

+

help-man; ## print the help menu

−

xrandr -o 0;

+

;;

−

xinput set-prop 10 "Evdev Axes Swap" 0;

+

esac;

−

xinput set-prop 10 "Evdev Axis Inversion" 0 0;

+

done;

−

nitrogen --set-scaled ~/wallpaper.jpg;

+

if [ -z "$mon" ]; then ## check if monitor was specified

−

esac

+

mon="primary"; ## set the monitor to be the primary monitor

−

</pre>

+

fi;

+

if [ "$mon" == "primary" ]; then

+

mon="$(xrandr | awk '$2~/^connected/ {print $1}')"; ## set the monitor to be the connected monitor

Save this script as 'rotate_touch_screen' (or whatever you want to name it) and make it executable with '#chmod +x rotate_touch_screen'. Move it to /usr/bin with '#mv rotate_touch_screen /usr/bin/'.

+

main $@; ## call the main function and pass console arguments

+

}

+

</nowiki>}}

Edit '~/.config/openbox/menu.xml' to include the following code:

Edit '~/.config/openbox/menu.xml' to include the following code:

−

<pre>

+

{{bc|<nowiki>

<menu id="root-menu-773645" label="Rotate Screen">

<menu id="root-menu-773645" label="Rotate Screen">

<item label="Normal">

<item label="Normal">

<action name="Execute">

<action name="Execute">

<execute>

<execute>

−

rotate_touch_screen normal

+

touch_rotate normal

</execute>

</execute>

</action>

</action>

Line 164:

Line 253:

<action name="Execute">

<action name="Execute">

<execute>

<execute>

−

rotate_touch_screen right

+

touch_rotate right

</execute>

</execute>

</action>

</action>

Line 171:

Line 260:

<action name="Execute">

<action name="Execute">

<execute>

<execute>

−

rotate_touch_screen upside_down

+

touch_rotate upside-down

</execute>

</execute>

</action>

</action>

Line 178:

Line 267:

<action name="Execute">

<action name="Execute">

<execute>

<execute>

−

rotate_touch_screen left

+

touch_rotate left

</execute>

</execute>

</action>

</action>

</item>

</item>

−

</pre>

+

</nowiki>}}

You can edit the position of this piece of code (if you know XML) or just add it in somewhere before the last line '</openbox_menu>' of the script. Change the position by using obmenu (GUI interface for editing openbox menu).

You can edit the position of this piece of code (if you know XML) or just add it in somewhere before the last line '</openbox_menu>' of the script. Change the position by using obmenu (GUI interface for editing openbox menu).

Launch xbindkeys in gnome3 via gnome-session-properties. Add it as a launcher app (xbindkeys).

===On Screen Keyboard===

===On Screen Keyboard===

Install kvkbd with from the Arch user repository (if using packer : packer -S kvkbd). Make sure you have some sort of system tray (I used tint2) and edit '~/.config/openbox/autostart' to include the following statement:

Install kvkbd with from the Arch user repository (if using packer : packer -S kvkbd). Make sure you have some sort of system tray (I used tint2) and edit '~/.config/openbox/autostart' to include the following statement:

−

<pre>

+

{{bc|

kvkbd &

kvkbd &

−

</pre>

+

}}

This will start up kvkbd everytime openbox starts up. Once kvkbd is started up it will appear in the system tray, simply clicking the icon in the tray will pop out the virtual keyboard.

This will start up kvkbd everytime openbox starts up. Once kvkbd is started up it will appear in the system tray, simply clicking the icon in the tray will pop out the virtual keyboard.

Line 197:

Line 292:

Touchscreen is not working afterwards.

Touchscreen is not working afterwards.

+

+

It will work after you reload hid_multitouch kernel module:

+

{{bc|<nowiki>

+

# rmmod hid_multitouch

+

# modprobe hid_multitouch

+

</nowiki>}}

+

+

As a workaround, you can add the following line to the file '/etc/pm/config.d/modules':

+

+

{{bc|<nowiki>

+

SUSPEND_MODULES="hid_multitouch"

+

</nowiki>}}

+

+

This way the kernel module will be explicitly unloaded before suspend.

+

+

If you are using twofing you also need to restart it:

+

{{bc|<nowiki>

+

$ killall twofing

+

$ twofing --wait

+

</nowiki>}}

+

+

[http://www.pc-freak.net/blog/setting-script-to-be-executed-before-and-after-suspend-and-resume-in-hibernate-on-debian-squeeze/ This instruction may be useful for solving this problem]

===Hibernate===

===Hibernate===

Line 204:

Line 321:

===Multi-Touch===

===Multi-Touch===

−

Not Working.

+

Modern kernels out-of-the-box support multitouch in our devises, but not Xorg. In Ubuntu there is some Xorg patches for a multitouch support and utouch (ginn) for multitouch gestures, but in other linux distributives you can use twofing. You can find utouch packages in AUR, but they are untested on our device.

+

+

But you can use twofing experimental daemon to use some gestures.

+

+

While we are waiting someone to build AUR packages, we can install it from sources. Get the latest git version [https://aur.archlinux.org/packages.php?ID=55306 here].

Save this script as "skyp" and '#chmod +x skyp'. Move this script to '/usr/bin/' with '#mv skyp /usr/bin/'. From now on typing in skyp should load skype with the proper webcam orientation.

Function Keys

Suspend-, Brightness- and Audiokeys work. Others may need special configuration.
My Suspendkey was executing the suspend from KDE and from the acpi Interface. I disabled the KDE event, and now Suspend works.

Installing OpenBox

OpenBox can be installed by issuing #pacman -S openbox. Follow the instructions on screen to copy the openbox scripts to '~/.config/openbox/'.

Rotating the touch screen

Editing the openbox rc.xml file in '~/.config/openbox/rc.xml' will allow configuration of the Express Gate button. Open a terminal and run $xev (non-root) to find out the key associated with the Express Gate button (just click it while in xev). For my system it was key 248 (0xF8) in hexadecimal. Edit your ~/.config/openbox/rc.xml to include the following code under <keyboard>:

You can edit the position of this piece of code (if you know XML) or just add it in somewhere before the last line '</openbox_menu>' of the script. Change the position by using obmenu (GUI interface for editing openbox menu).

Launch xbindkeys in gnome3 via gnome-session-properties. Add it as a launcher app (xbindkeys).

On Screen Keyboard

Install kvkbd with from the Arch user repository (if using packer : packer -S kvkbd). Make sure you have some sort of system tray (I used tint2) and edit '~/.config/openbox/autostart' to include the following statement:

kvkbd &

This will start up kvkbd everytime openbox starts up. Once kvkbd is started up it will appear in the system tray, simply clicking the icon in the tray will pop out the virtual keyboard.

Suspend2RAM

Touchscreen is not working afterwards.

It will work after you reload hid_multitouch kernel module:

# rmmod hid_multitouch
# modprobe hid_multitouch

As a workaround, you can add the following line to the file '/etc/pm/config.d/modules':

SUSPEND_MODULES="hid_multitouch"

This way the kernel module will be explicitly unloaded before suspend.

Hibernate

Not Working.

Multi-Touch

Modern kernels out-of-the-box support multitouch in our devises, but not Xorg. In Ubuntu there is some Xorg patches for a multitouch support and utouch (ginn) for multitouch gestures, but in other linux distributives you can use twofing. You can find utouch packages in AUR, but they are untested on our device.

But you can use twofing experimental daemon to use some gestures.

While we are waiting someone to build AUR packages, we can install it from sources. Get the latest git version here.

Replace idProduct variable to idProduct of latest model touchscreen ID. To to check it, try this

lsusb | grep "ASUS Comp"

Then, create symlink to touchscreen device:

ln -s /dev/input/mouse1 /dev/twofingtouch

Add 'twofing --wait' command to start with user session.
You can read more about it here.
It works on all linux distributives with actual hid_multitouch module.

Brightness

With some Eee PC's, the brightness setting are either too low, or are sometimes a little inconstant or arbitrary (cycling high/low/completely off).
If you have issues with this, issue this command to fix it:

And regenerate the grub2 file:

# setpci -s 00:02.0 f4.b=80

The 80 represents the highest brightness level in hexadecimal, which can be replaced with up to FF if desired. 80 is about half, being approximately the same brightness range as windows or grub.