V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
leighton
V2EX  ›  Linux

libinput 能用 3-finger-tap 模拟左键么?

  •  
  •   leighton · 2018-04-10 10:23:25 +08:00 · 2860 次点击
    这是一个创建于 1338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近把我的 mac 装上了 linux (为什么装 linux ?因为我把 mac 的 efi 芯片搞坏了,只能装个 linux 维持下生活这样子(怎么搞坏的?从装了黑苹果 clover 的外置硬盘启动了我的 mac...一个悲伤的故事,大家千万不要这么做!!!))

    在 libinput-gesture 的加持下基本实现了以前 mac 的手势,就是 mac 的三指拖拽,三指选择文本实现不了。想了一下 mac 下的三指不就相当于触摸板按压下去或者鼠标左键按住不放么?那么用 libinput 能模拟这个事件么,翻遍了文档都找不到解决办法,有大神能给点建议么,万分感谢。
    第 1 条附言  ·  2018-04-10 18:06:46 +08:00
    搞定了,xf86-input-mtrack-git 大法好,竟然三指能同时模拟鼠标中键和拖拽,比 mac 还厉害
    5 条回复    2018-04-10 15:32:33 +08:00
    haoliang
        1
    haoliang  
       2018-04-10 11:51:13 +08:00
    上来就要大神给建议,正常交流搞得心理压力巨大,能不能不走这个套路?

    没试过在 mac 装 linux, 以下仅是我在 lenovo 笔记本上 archlinux 下的一些经验:

    * 三指拖拽, 类似 /变通: `man 4 libinput` 找到 `Option "TappingDrag"` 及相关设置 (tiling wm 下应该没啥用)
    * 三指选择,类似 /变通: 单击选择开始位置,按住 ctrl, 单击选择结束位置 (大家肯定都知道)
    haoliang
        2
    haoliang  
       2018-04-10 12:00:37 +08:00
    诶,看了下 xdotool, 没准可以做三指选择, 它有个下级 command: mousedown
    cuberlzy
        3
    cuberlzy  
       2018-04-10 13:24:10 +08:00
    有没有尝试使用 libinput 库进行开发呢,我之前写过一个二指切换工作区的程序,有兴趣可以参考一下我对事件的处理方法,看看能不能组合成你需要的功能。

    Github: https://github.com/CuberL/swipe-workspace
    libinput 文档: https://wayland.freedesktop.org/libinput/doc/latest/
    leighton
        4
    leighton  
    OP
       2018-04-10 15:32:07 +08:00
    @haoliang 我错了,不乱用词了。TappingDrag 文档我看了,指的是快速单指双击启动拖拽功能。
    试了下 xbindkeys 绑定中键 button 2 到 xdotool 的 mousedown 命令上,三指点击后无法拖拽,xdotool 发送 mousedown 事件后不响应触摸板移动了,换单指能继续拖拽。我还得在研究下。
    leighton
        5
    leighton  
    OP
       2018-04-10 15:32:33 +08:00
    @cuberlzy 这个看起来是个可行的办法,多谢
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1686 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:02 · PVG 01:02 · LAX 09:02 · JFK 12:02
    ♥ Do have faith in what you're doing.