您尚未登录。

#1 2013-08-30 23:10:30

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

[已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

原问题:
入手了一台 thinkpad,今天刚装 arch

按照各路前辈的做法 proto=bare 之后 trackpoint 是可以用了,touchpad 的边缘滚动、两指滚动都不能用;
去掉 proto=bare 之后,按照 wiki 配置就可以边缘滚动、两指滚动、两指模拟右键、三指模拟中键、手掌识别……但是 trackpoint 没反应
有办法让两者都可以(完美地)使用么?

(由于需要使用各种作图软件,中键点击拖拽和中键滚动同等重要,所以……)

2014-05-18 更新:

yaourt -S elantech-tp-dkms
$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=12	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=13	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=14	[slave  keyboard (3)]

(此AUR包上传于 2014-01-05)

最近编辑记录 cjxgm (2014-05-18 13:41:33)

离线

#2 2013-08-30 23:34:41

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

touchpad 和 trackpoint 有关系么?

「中键点击拖拽和中键滚动同等重要」+1

离线

#3 2013-08-31 06:57:27

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

什么型号的?我这里只需要两步

# pacman -S xf86-input-synaptics

新建文件

/etc/X11/xorg.conf.d/10-wheel.conf

内容为

Section "InputClass"
        Identifier      "Trackpoint Wheel Emulation"
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
        MatchDevicePath "/dev/input/event*"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
        Option          "Emulate3Buttons"       "false"
        Option          "XAxisMapping"          "6 7"
        Option          "YAxisMapping"          "4 5"
EndSection

离线

#4 2013-08-31 10:17:40

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

phoenixlzx 说:

什么型号的?我这里只需要两步

# pacman -S xf86-input-synaptics

新建文件

/etc/X11/xorg.conf.d/10-wheel.conf

内容为

Section "InputClass"
        Identifier      "Trackpoint Wheel Emulation"
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
        MatchDevicePath "/dev/input/event*"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
        Option          "Emulate3Buttons"       "false"
        Option          "XAxisMapping"          "6 7"
        Option          "YAxisMapping"          "4 5"
EndSection

这样子就没办法使用中键拖动了。

离线

#5 2013-08-31 12:58:34

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

百合仙子 说:

touchpad 和 trackpoint 有关系么?

被内核识别为同一个输入设备

离线

#6 2013-08-31 13:02:17

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

phoenixlzx 说:

什么型号的?我这里只需要两步

proto=bare 之前识别为 ETPS/2 Elantech Touchpad
proto=bare 之后识别为 PS/2 Generic Mouse

最近编辑记录 cjxgm (2013-08-31 13:06:34)

离线

#7 2013-08-31 13:07:44

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

百合仙子 说:

这样子就没办法使用中键拖动了。

+1

离线

#8 2013-08-31 13:40:15

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

可以啊,我一直可以中键拖动的。

离线

#9 2013-08-31 14:33:08

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

cjxgm 说:
百合仙子 说:

touchpad 和 trackpoint 有关系么?

被内核识别为同一个输入设备

不是吧?我这里一直是分开的两个指针设备呀。

离线

#10 2013-08-31 22:24:15

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

>>> xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=13   [slave  keyboard (3)]

看 11 和 12,两个哦=w=

离线

#11 2013-08-31 22:37:20

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

百合仙子 说:
>>> xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=13   [slave  keyboard (3)]

看 11 和 12,两个哦=w=

新机型合二为一了喵
现在都不是SynPS+TPPS了,是 elantech 的什么输入设备

cjxgm@cjprods ~$ dmesg | grep elantech
[    6.902814] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x350f02)
[    6.913948] psmouse serio1: elantech: Synaptics capabilities query result 0xb9, 0x15, 0x0c.
cjxgm@cjprods ~$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=13	[slave  keyboard (3)]

离线

#12 2013-08-31 23:44:57

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

cjxgm 说:

新机型合二为一了喵
现在都不是SynPS+TPPS了,是 elantech 的什么输入设备

cjxgm@cjprods ~$ dmesg | grep elantech
[    6.902814] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x350f02)
[    6.913948] psmouse serio1: elantech: Synaptics capabilities query result 0xb9, 0x15, 0x0c.
cjxgm@cjprods ~$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=13	[slave  keyboard (3)]

晕,一直在退步啊……

离线

#13 2013-09-01 09:16:17

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

你是啥型号的机器啊..别跟我讲是E系列的。E的还是乖乖用win吧。

TP X201i

phoenix@Phoenix-X201i ~ % xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lenovo ThinkPad USB Laser Mouse           id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=11   [slave  keyboard (3)]
    ↳ Integrated Camera                         id=12   [slave  keyboard (3)]

发现兼容性不好的硬件,建议到 https://bbs.archlinuxcn.org/viewtopic.php?id=1907 这里写一下。

离线

#14 2013-09-03 23:50:32

cjxgm
忙,却还想养猫?
所在地: 杭州
注册时间: 2011-08-19
帖子: 417
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

中键问题的解决方案:
目标:按下中键,1秒内移动就是拖拽,1秒后移动就是滚动。
研究了一个下午+晚上(尝试过 Xlib -> Xcb -> 完全屏蔽鼠标然后完全由我的程序处理 -> Xlib XInput 扩展 -> 最后才发现原来可以只处理中键),终于搞定了。程序托管在 GitHub 上:https://github.com/cjxgm/hiddle
原理:先用 xinput set-button-map 屏蔽鼠标中键,然后读取 /dev/input/mice 获取鼠标数据,处理后用 libxdo (xdotool)发送鼠标事件。

兼容性列表明天再写吧,今天太迟了喵……

最近编辑记录 cjxgm (2013-09-03 23:51:27)

离线

#15 2013-09-04 00:03:53

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,917
个人网站

Re: [已解决] 怎样即开启 trackpoint 又可以用 touchpad 两指/三指拖拽点击?

cjxgm 说:

中键问题的解决方案:
目标:按下中键,1秒内移动就是拖拽,1秒后移动就是滚动。
研究了一个下午+晚上(尝试过 Xlib -> Xcb -> 完全屏蔽鼠标然后完全由我的程序处理 -> Xlib XInput 扩展 -> 最后才发现原来可以只处理中键),终于搞定了。程序托管在 GitHub 上:https://github.com/cjxgm/hiddle
原理:先用 xinput set-button-map 屏蔽鼠标中键,然后读取 /dev/input/mice 获取鼠标数据,处理后用 libxdo (xdotool)发送鼠标事件。

兼容性列表明天再写吧,今天太迟了喵……

貌似很好用的样子呢=w=

离线

页脚