V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
cubelate
V2EX  ›  iDev

请问下 mac 能否获取到手指在 trackpad 上的点击位置,而不是屏幕或者 view 中鼠标上的位置?

  •  
  •   cubelate · 2018-02-06 13:59:21 +08:00 · 8242 次点击
    这是一个创建于 2518 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请问下 mac 能否获取到手指在 trackpad 上的点击位置,而不是屏幕或者 view 中鼠标上的位置?
    找了一圈文档,似乎没有发现相关的描述。
    18 条回复    2019-04-23 15:14:19 +08:00
    shuizhengqi
        1
    shuizhengqi  
       2018-02-06 14:12:33 +08:00
    你可能不明白触摸板工作的原理吧
    cubelate
        2
    cubelate  
    OP
       2018-02-06 14:13:17 +08:00
    @shuizhengqi 确实不太了解。
    but0n
        3
    but0n  
       2018-02-06 14:16:23 +08:00 via iPhone
    可以的 之前在 YouTube 见过 一种国产触控板膜 上面印着数字键盘
    cubelate
        4
    cubelate  
    OP
       2018-02-06 14:19:50 +08:00
    @but0n 对对,我就是看到这个东西,所以想开发一个类似利用 trackpad 的应用,正在寻找切入点
    Rickkkkkkk
        5
    Rickkkkkkk  
       2018-02-06 14:24:58 +08:00
    感觉有类似的

    jitouch 这个应用里就有双指在触摸板左侧上滑的手势, 肯定能知道是滑了左边吧?
    ETiV
        6
    ETiV  
       2018-02-06 14:30:24 +08:00 via iPhone
    肯定能啊,mac 自带的手写输入法就是在上面写字,左右各四个格子可以选字
    Tyanboot
        7
    Tyanboot  
       2018-02-06 14:40:04 +08:00
    @shuizhengqi 这个说不好, ThinkPad 的触摸板在装了 linux 之后, 要是碰巧遇到没装驱动或者其他问题的话. 触摸板就变成了屏幕的映射....

    比如说触摸了触摸板的左下角, 那鼠标指针就会瞬移到屏幕的左下角.. 十分鬼畜.
    ysc3839
        8
    ysc3839  
       2018-02-06 15:23:36 +08:00 via Android
    你要的这个功能可能叫做“绝对定位”。
    ysc3839
        9
    ysc3839  
       2018-02-06 15:24:34 +08:00 via Android
    @Tyanboot 这是当作触摸屏了吧?
    shuizhengqi
        11
    shuizhengqi  
       2018-02-06 16:55:08 +08:00
    @Tyanboot 这么黑科技的吗。。那可玩性比较高了
    Tyanboot
        12
    Tyanboot  
       2018-02-06 20:00:28 +08:00
    @ysc3839 也许是吧. 不是很清楚这触摸板默认是怎么被识别的...


    @shuizhengqi 我也不清楚是不是所有的触摸板都能这样. ThinkPad 的用的是 synaptics 的, 当时需要装 xf86-input-synaptics 这个才可以正常工作. 不过现在 libinput 已经可以处理这玩意了. 前者的包也不再维护了.
    KevZhi
        13
    KevZhi  
       2018-02-06 20:04:29 +08:00 via iPhone
    @shuizhengqi 不明白的是你吧
    自己搜 inklet,数字键盘贴纸,自己看看有没有相关开源
    shihira
        14
    shihira  
       2018-02-07 01:33:56 +08:00   ❤️ 1
    @Tyanboot
    libinput synaptics 驱动以前是有可以开关绝对定位的,新驱动好像是取消了这个选项。但是更加底层的 evdev 仍然可以获取到绝对坐标,用 evemu-record 就能看到了。如果想基于这个做功能,完全可以把用户加进 input 组然后直接用 evdev 提供的数据。
    当然,前提是硬件支持。
    icyalala
        15
    icyalala  
       2018-02-07 18:29:01 +08:00   ❤️ 1
    NSTouch.normalizedPosition
    NSTouch. deviceSize
    我还特意验证了一下。。
    cubelate
        16
    cubelate  
    OP
       2018-02-08 08:40:56 +08:00
    @icyalala 感谢感谢,我来试试
    sunuslee
        17
    sunuslee  
       2018-03-18 11:54:11 +08:00
    @cubelate 哈哈:)考虑来钉钉开发 mac 客户端吗:)
    qf135135
        18
    qf135135  
       2019-04-23 15:14:19 +08:00
    @icyalala 感谢。我还想问一下有没有办法全局监听触摸板事件,现在用的是重写 touchesBegan/Moved/Ended,只能在焦点在 view 上的时候生效。假如程序在后台运行的时候,该如何监听呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.