Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 20 Oct 2017, 05:17
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
Touchscreen HowTo: Running Dpup Exprimo on Lenovo S10-3t
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [3 Posts]  
Author Message

Joined: 18 Jul 2008
Posts: 766

PostPosted: Sat 24 Mar 2012, 11:59    Post subject:  Touchscreen HowTo: Running Dpup Exprimo on Lenovo S10-3t
Subject description: Lenovo S10-3t Working Touchscreen, ClickPad, Bluetooth, Sound


Lenovo S10-3t (10” netvertible with touchscreen and ClickPad)
Verbatim 8GB Plug-n-Stay USB Drive
Dpup Exprimo version 5.X. w/ frugal install
Many thanks to:

1) pemasu, whose choice of kernel and careful OS development made one of first puppies to utilize both the S10-3t’s touchscreen and Synaptics ClickPad. His help is prompt and endless

2) jemimah, whose assistance and patience had been called “Zen-like,” and who has helped me from compiling to touchpad issues and most everything in between

3) stu90, bluetooth warrior, whose advice/suggestions about that tricky application helped provide functioning bluetooth for the S10-3t

4) mavrothal and 01micko, whose wondrous updates of JWM make this touchscreen fully accessible and easily rotatable

5) tempestuous, who does anything and everything in puppy

6) and to all others who have offered unstinting support over the years. It’s a truly amazing forum


There are almost no forum threads about the S10-3t, and setting up a Puppy is further complicated by its ClickPad and the Cando touchscreen. But pemasu’s 3.1.10 kernel has full ClickPad functionality and the hid-multitouch module talks nicely to the touchscreen. Bluetooth works, as does sound and proper screen resolution.


1) No multi-touch screen
2) Linux generally runs hotter than Windows, so temperature rises even when machine is idle---its fan will start frequently, decreasing battery life compared to a Windows 7 setup
3) Lenovo’ excellent Energy Management won’t run on Linux, again affecting battery life


For those who wish to keep a Windows 7 setup--to use now or to return to Win7 in the future--then frugal install is the way to go.

If the Windows partition is adjusted in any way, One-Key Recovery (which taps into a factory-fresh Win7 in one of the hidden partitions on the hard drive) will *not* work. Since users are root in Puppy, the S10-3t’s three partitions will show up on the desktop--and I would strongly recommend that users hide their icons. The touchscreen, especially when you’re moving to portrait, is prone to inadvertent presses, and you can easily open up one of those partitions and wreak havoc.


The tricky xorg.conf stuff. Before anything, in /etc/rc.d/rc.local, put these commands:

modprobe hid-multitouch
modprobe evdev

In /etc/X11/xorg.conf, add or replace these corresponding sections with these:

Section "ServerLayout"
InputDevice "Synaptics Mouse" "AlwaysCore" #serverlayoutsynaptics
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "touchscreen" "SendCoreEvents"

Section "InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/event10"
Option "DeviceName" "touchscreen"
Option "MinX" "80"
Option "MinY" "80"
Option "MaxX" "4095"
Option "MaxY" "4095"
Option "ReportingMode" "Raw"
#Option "MaxTapTime" "220"
#Option "MaxTapMove" "220"
#Option "moving_action" "down"
#Option "moving_button" "1"
#Option "maybetapped_action" "click"
#Option "maybetapped_button" "3"
# Option "longtouched_action" "click"
# Option "longtouched_button" "3"
# Option "touched_action" "click"
# Option "touched_button" "1"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "On"

Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "220"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.10"
Option "MaxSpeed" "0.30"
Option "AccelFactor" "0.0030"
Option "TapButton1" "1"
Option "TapButton2" "2"
#Option "SHMConfig" "on"
#Option "Repeater" "/dev/ps2mouse"

As the xorg.conf shows, to enable a full ClickPad, you have to add in the Synaptics section:

Option "TapButton1" "1"
Option "TapButton2" "2"

And you need to disable SHMConfig to get the touchscreen working properly:

#Option "SHMConfig" "on"

In xorg’s “touchscreen” section, note these changes especially:

Option "MinX" "80"
Option "MinY" "80"
Option "MaxX" "4095"
Option "MaxY" "4095"

This will give an initial calibration to the S10-3t’s particular screen setup.

There are other disabled commands in the “touchscreen” section, and they can be enabled as users see fit. My xorg setup allows icon and menu clicking. I use the ClickPad for left/right clicks, etc.

Once you’ve made your xorg changes, you must save and reboot. After testing the touchscreen, install xinput-calibrator-0.7.5.pet. This will refine the calibration, but I still haven’t figured out how to save xinput’s calibration between boots.


On the desktop snapshot, below Conky, there are “play” and “close-out” icons and they run very basic rotation scripts:


sed -i 's/autohide\=\"true\"/autohide\=\"false\"/' /root/.jwmrc-tray # show
sleep 1
xrandr -o left


sed -i 's/autohide\=\"false\"/autohide\=\"true\"/' /root/.jwmrc-tray # hide
sleep 1
xrandr -o normal

If you’re using “auto-hide taskbar” with jwm, then when moving to portrait, you *must* change to “show taskbar.” The sed commands will do this for you and without having to open jwm or restart the application (thank you again, mavrothal).


Xvkbd is a good one. The following command will start the keyboard as large as possible and in functional position when the S10-3t is closed and the screen rotated to portrait:

xvkbd -no-keypad -no-function xvkbd -geometry 600x250+1+163

As for making an easier touchscreen, the updated jwm-- jwm-2.1.1_2.pet --with 01micko’s larger titlebar buttons is very helpful. So is widening the scrollbars. An quick way to adjust the scrollbars is to download aurora_mod.tar.gz and place in /usr/share/themes. After choosing Aurora in GTK Theme Chooser, open usr/share/themes/Aurora/gtk-2.0/gtkrc and change the scrollbar width to this:

GtkRange::slider-width = 32
GtkRange::stepper-size = 28

For browsing in portrait, I find Opera 11.62 to be the best, so far. The Touch-Scroller extension allows for touchscreen panning and most importantly, there’s a tweak in Preferences that allows a fit-to-width for all webpages.

As for ebook reading, the already-installed FBReader works fine, and even has its own built-in screen rotation.


Most of the vitals are already in dpup exprimo, but users do need the bluetooth-0.5 pet from exprimo repo. Install that, reboot, and you should see the magical bluetooth icon on the taskbar.

One issue: using an HTC Touch Pro2 (Windows Mobile 6.53), I was able to send files to dpup, but I was unable to get dpup to send files to the phone. However, on the phone, I was able to browse dpup’s shared directory and get the dpup files from there. This could be a WinMo thing, or something larger.

While not listed in Menu, pupdial is available. With pupdial, I was able to use the phone as a bluetooth modem and connect dpup to the internet.


Here is my .conkyrc:

alignment top_right
#background no
background yes
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont Arial:size=14
#xftfont 123:size=13
#font 20x24
gap_x 5
gap_y 5
minimum_size 4 4
net_avg_samples 2
no_buffers yes
out_to_console no
own_window yes
# own_window_class Conky
own_window_type override
own_window_transparent yes
# own_window_hints skip_taskbar
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
stippled_borders 0
update_interval 25.0
uppercase no
use_spacer no
# $hr
# $color$hr
${color}${time %k:%M}${color} ${color}${time %a %d %b %Y}${font}
${color green}$hr$color
${color yellow}uptime:$color $uptime $color ${freq}${color grey}MHz ${color yellow}temp: ${color}${hwmon temp 1}${color grey}C
${color yellow}ram:$color $mem/$memmax $memperc% ${color}${membar}
${color yellow}cpu:$color $cpu% ${cpubar 4}
${if_mounted /initrd/mnt/dev_save}${color yellow}hd: ${color}${fs_used /initrd/mnt/dev_save/}/${fs_size /initrd/mnt/dev_save/} ${fs_used_perc /initrd/mnt/dev_save/}% ${color white}${fs_bar 4 /initrd/mnt/dev_save/}
${color yellow}battery:$color ${battery BAT1} ${battery_bar 4 BAT1} ${battery_percent BAT0}
${color yellow}network:$color ${wireless_essid wlan0}${color grey} @ $color${wireless_link_qual_perc wlan0}
${color yellow}pupsave:${color2} ${execi 5 cat /tmp/pup_event_sizefreem}MiB ${color grey}free

While this conky layout is basic, it does give you all the necessary monitoring info particular to a S10-3t. And if you’re inclined to use a conky, you can remove many items from the taskbar, thus freeing up screen real estate. Here is my .jwmrc-tray:

<Tray autohide="true" insert="right" x="0" y="-1" border="1" height="28" >
<!-- Additional TrayButton attribute: label -->
<TrayButton label="Menu" icon="mini-dog.xpm">root:3</TrayButton>
<!-- <TrayButton popup="Run commandline" icon="gexec.xpm">exec:gexec</TrayButton> -->
<!-- <TrayButton popup="Free space in drives" icon="mini-hdisk.xpm">exec:partview</TrayButton> -->
<TrayButton popup="Show Desktop" icon="mini-desktop.xpm">showdesktop</TrayButton>
<TrayButton popup="Keyboard" icon="mini-keyboard.xpm">exec:/usr/bin/xvkbd -no-keypad -no-function xvkbd -geometry 600x250+1+163</TrayButton>
<!-- Additional Pager attributes; width, height -->
<!-- Additional TaskList attribute: maxwidth -->
<!-- Additional Swallow attribute: height -->
<Clock format="%l:%M %p">PupClockset</Clock>

By using these changes, and by taking out many start-up sh’s from /root/Startup, the taskbar is cleaner. On the left side, I only use Show Desktop and xvkbd (the on-screen keyboard).


Far too much information here, I know, but there’s no launching pad for Puppy and the Lenovo S10-3t, and I figured we had to start somewhere. It’s an intriguing machine and while Windows 7 Home Premium with its multi-touch facility and fantastic power management is probably the better OS (for now), Linux diehards like myself can now have a reliable, if not warm, Puppy.

Before finding out the steps behind the touchscreen and the ClickPad on Puppy, I tried Ubuntu, Linux Mint, Jolicloud, and OpenSuse. While those flavors had multi-touch, they were a far cry from Puppy--but we already know that.

All best,
 Filesize   105.53 KB
 Viewed   1704 Time(s)


 Filesize   185.95 KB
 Viewed   1714 Time(s)


Last edited by jakfish on Sun 23 Sep 2012, 04:49; edited 3 times in total
Back to top
View user's profile Send private message 

Joined: 20 Jul 2010
Posts: 4659
Location: Republic of Novo Zelande

PostPosted: Sun 09 Oct 2016, 15:36    Post subject:
Subject description: touchscreen touchpad touch rotation tablet zoom xvkbd

Nice work. I only just discovered this thread. Wish I found it a couple of years ago. Currently working with touchscreen on a couple of x86 tablets and using Slacko

I will be coming back here to look more closely at some of this stuff. Nice tutorial jakfish.
Back to top
View user's profile Send private message 

Joined: 18 Jul 2008
Posts: 766

PostPosted: Sun 09 Oct 2016, 16:06    Post subject:  

Many thanks.

Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [3 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0430s ][ Queries: 12 (0.0042s) ][ GZIP on ]