¶ [Py4SA]智能关闭触摸板
2010-07-14 10:22
1. 问题
嗯嗯嗯,俺一直使用 WACOM 的数字绘图板替代鼠标的 ;-)
- 去年生日,老婆升级了俺的 FAVO CTE-430 到 BAMBOO CTH-461
- 随着 Ubuntu 10.04系统,一同升级了驱动,非常好用:
- 小横板 248.2 x 176.1,和屏幕 1:1 对应,不用拖动,有空间感觉了直接就可以移动到对应区域!
- 无线压感笔,直接点击就是左击鼠标
- 笔有侧键,配置默认就是原先最舒服的:
- 上键是右击
- 下键是中击
- 触摸板的手指点击就不必要了
- 如何令系统不启动触摸板的
Touch
响应?
- 如何令系统不启动触摸板的
2. 尝试
- Command Line Configuration Interface (xsetwacom)
- 官方是有命令行级别的配置工具的
- 但是!真TMD难以看明白哈
- 广泛的搜索后,大致明白,xsetwacom 提供两种配置输出:
- 命令行用的执行字串
- 配置文件中使用的配置文本
- 整个使用流程是:
- 使用其它系统监察命令,确认 WACOM 设备USB接入后的设备号
- 使用 xsetwacom 进行模拟配置,选择输出合适的配置命令
- 然后将输出的配置内容,部署到合适的系统启动脚本或是配置文件中
- 俺习惯使用命令行配置,这样可以直接测试是否靠谱,但是发现:
123456789101112
~> xinput --list
⎡ Virtual core pointer
id
=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer
id
=4 [slave pointer (2)]
⎜ ↳ Wacom Bamboo Craft Pen eraser
id
=11 [slave pointer (2)]
⎜ ↳ Wacom Bamboo Craft Pen
id
=12 [slave pointer (2)]
⎜ ↳ Wacom Bamboo Craft Finger pad
id
=13 [slave pointer (2)]
⎜ ↳ Wacom Bamboo Craft Finger
id
=14 [slave pointer (2)]
⎜ ↳ TPPS
/2
IBM TrackPoint
id
=16 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation
id
=18 [slave pointer (2)]
⎣ Virtual core keyboard
id
=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard
id
=5 [slave keyboard (3)]
...
- 使用 xinput 探察出来的 Wacom Bamboo Craft Finger 触摸板设备号,每次重启系统时不一定一样!
- FT! 那就得编程让系统重启时,自个儿探察一下设备号,然后使用固定的配置命令关闭 BAMBOO 对应设备
- 如何在Shell 中获取另外系统命令的输出并截获对应数码组合成新的命令?:
- 嗯嗯嗯,,, 嗯嗯嗯,,,,直接囧掉! 俺没有这种功力!
3. Py之
- 直接使用模板记录要执行的命令,预留可能变动的设备号:
123
#!/bin/sh
### xinput4bamboo.tpl
sleep
3 && xsetwacom
set
%s Touch
"off"
- 配合xinput4bamboo.py
1234567891011
import
sys,os
if
__name__
=
=
'__main__'
:
# this way the module can be
"""usage:
$ xinput --list | grep "Wacom Bamboo Craft Finger" | python ./xinput4bamboo.py
"""
if
sys.stdin:
for
l
in
sys.stdin.readlines():
if
"pad"
not
in
l:
bambooid
=
l.split()[
6
].split(
"="
)[
1
]
open
(
"xinput4bamboo.sh"
,
"w"
).write(
open
(
"xinput4bamboo.tpl"
).read()
%
bambooid)
os.chmod(
"xinput4bamboo.sh"
,
0755
)
- 组合成启动脚本
12345678910
#!/bin/sh
VER=
"main-rcloc.sh v10.7.14"
DATE=`
date
"+%y%m%d"
`
MYRC=
"/home/zoomq/.zoomq/rc.local"
#=========================================================== path defines
LOGF=
"/var/log/0day/$DATE-myrcloc.log"
#=========================================================== action defines
cd
$MYRC
xinput --list |
grep
"Wacom Bamboo Craft Finger"
| python .
/xinput4bamboo
.py >> $LOGF 2>&1
.
/xinput4bamboo
.sh >> $LOGF 2>&1
- 部属成启动应用:
齐活! 没有疑惑,随手写成! 5分钟!
- 绝对好书! 值得慢慢看,E文非常简洁,Py清明的代码,直接看/尝试就可以体会到本意了...
动力源自::txt2tags