V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lijxse
V2EX  ›  硬件

请教键盘改键工具 via,能否完美修改 mac 的 F 功能区(Nuphy GEM80)

  •  
  •   lijxse · 228 天前 · 2668 次点击
    这是一个创建于 228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近看上 Nuphy 的 GEM80 客制化键盘,已经上手用了,码字手感、键盘外观、质感都很满意,但我是苹果电脑( mac studio ),这就绕不开键盘的 F 区( F1 、F2...)了。

    这个键盘默认情况下直按 F1 是亮度(-),如果想按 F1 本身,就需要临时按 FN+F1 才行,客服说要用 VIA 工具( usevia.app )改键,用 VIA 改完后:

    • F1 确实可以正常使用,F1 就是 F1
    • 但我如果想用 FN+F 几 去使用 F 区功能键就是无效的,比如 FN+F1 、FN+F2 调亮度就是无效

    请问这种情况正常吗?是所有客制化键盘用 VIA 改键都这样,还是这个 GEM80 是这样。

    因为苹果电脑正常的键盘都是可以 F 区转换的,并且配合 Fn 组合使用,比如按 F1 就是 F1 ,想调亮度就 FN+F 几就行,这是我想要的效果。

    苹果官方妙控键盘(系统设置里调),罗技 MxKeys (直接 FN+ESC 切换),甚至 Nuphy 之前的 Air96 (也能快捷切换)这种都能快速切换并正常使用的,就这次用 GEM80 碰到问题了。

    请懂的朋友答疑,感谢。

    33 条回复    2024-05-23 18:27:40 +08:00
    jheroy
        1
    jheroy  
       228 天前 via Android   ❤️ 1
    用 karabiner 改键吧 什么键盘都能改
    kaleido
        2
    kaleido  
       228 天前
    就是这样,正常,via 没有切换 F 键这种比较特殊的功能
    能切换的反而是个例,我到现在只见过苹果自己的 和 罗技家的 Mx 系列能这样快速切换 F 键功能,属于是特意加的功能和卖点。但 via 是通用的键盘的功能,一大堆客制化键盘都能用,就没这种更高级的功能。
    我自己一般是 F 键就是 F 键,Fn+F 是功能键,因为功能键用的少,偶尔加减音量亮度按住 Fn 就行。还有调度中心,和 App Expose ,从来不用功能键,我都是绑到鼠标侧键上。别的功能键也没啥了吧
    tywtyw2002
        3
    tywtyw2002  
       228 天前 via iPhone
    键盘 能不能刷开源固件 qmk 之类的?
    能刷的话直接重新定义 keycode
    lijxse
        4
    lijxse  
    OP
       228 天前
    @jheroy 感谢,我搜一波资料先。
    lijxse
        5
    lijxse  
    OP
       228 天前
    @tywtyw2002 能刷,但是 nuphy 客服给了专门的 qmk 固件,这个键盘买了,客服也就发了 qmk 和 via 两个工具包。
    lijxse
        6
    lijxse  
    OP
       228 天前
    @kaleido 前面的听懂了,后面你说「偶尔加减音量亮度按住 Fn 」,这就是我要的功能啊,正常按是 F1 ,然后临时 Fn+F 是功能键,你能这样吗?
    doommm
        7
    doommm  
       228 天前
    @lijxse 这个能做到啊,键盘按键有分层(Layer),via 可以给每一层分别绑定一个按键设置
    tywtyw2002
        8
    tywtyw2002  
       228 天前 via iPhone
    @lijxse 能用 qmk ,就自己改代码编译就行了。想怎么调键位就怎么调。
    https://qmk.fm/
    kaleido
        9
    kaleido  
       228 天前
    @lijxse 7 楼说的对,在 via 里把第 0 层设置成 F 键,第 1 层(就是 Fn+F )设置成相应功能键,音量亮度啥的 via 里都有很全
    gpt5
        10
    gpt5  
       228 天前
    一旦走上 karabiner 的魔改之路,慢慢的,你再也用不了别人的键位了。
    lijxse
        11
    lijxse  
    OP
       228 天前
    @kaleido
    nuphy 的客服也是让我用 via 改键,但这样改的没办法达到我需要的效果,他们改的效果是这样的:F1 就是 F1 ,但是不能 FN+F1 这样临时切换。
    你说的具体操作我不太明白,所以我想要的效果用 via 是能现实的?我现在想确定它是不是无解的问题,是的话我就退货了,如果能解决就可以考虑先折腾一下
    lijxse
        12
    lijxse  
    OP
       228 天前
    @tywtyw2002 那是不是相当于自己改 QMK 固件了,改好了就能完美实现我要的效果?
    lijxse
        13
    lijxse  
    OP
       228 天前
    @gpt5 可以,我很感兴趣。
    kaleido
        14
    kaleido  
       228 天前
    @lijxse #11
    上 via 看看你是不是有两层以上,有就可以实现
    chenluo
        15
    chenluo  
       228 天前
    VIA 有一些对应的按键, 比如屏幕亮度加减, 这两个我验证过了, 能触发.
    常用的媒体键也有.
    比较特殊的 spotlight 这种, 应该可以用 LGUI(SPACE)来触发.(这个 keycode 是指在发送 COMMAND+SPACE).
    https://imgur.com/a/HT7lEny
    lijxse
        16
    lijxse  
    OP
       228 天前
    @kaleido 我这个一共有 7 层,但具体是在哪个层上改能实现呢?你还记得你在 2 楼说不能实现吗,到底怎么个事,哈哈
    lijxse
        17
    lijxse  
    OP
       228 天前
    @chenluo 那比如要实现 FN+F12 是调大音量,这种组合键的应该怎么调啊?我这个 GEM80 在 VIA 理由 7 个 layer
    kongkongkong101
        18
    kongkongkong101  
       228 天前 via iPhone
    mac 设置里就能改 F 键
    lijxse
        19
    lijxse  
    OP
       228 天前
    @kongkongkong101 据说苹果那个 F 区标准功能键只对妙控键盘生效其他键盘都不行;我刚才试了一下也不行
    kongkongkong101
        20
    kongkongkong101  
       228 天前 via iPhone
    那就 via 硬改,layer0 从 F1 到 12 一个个设置,再把 fn 改成 layer1 触发键,设置多媒体那些 key
    也可以 karabiner 软改, 看你习惯
    chenluo
        21
    chenluo  
       228 天前
    @lijxse fn 其实是 MO(1), 把 layer 1 的 F1-F12 改成你想要的 keycode.
    fn+F12, 就是 fn 先切到 layer1, 用的都是这层的按键了.
    https://i.imgur.com/a/6ftpLo3 (没有大配列的键盘, 意思一下, layer 1 的加号)
    1217950746
        22
    1217950746  
       228 天前
    karabiner 什么都能改

    lijxse
        23
    lijxse  
    OP
       227 天前
    @chenluo 大概明白,不过我看你 layer0 没有 mo(1),只看到你有 mo(2)、mo(3),所以你是按哪个键蹦到 layer1 的?
    lijxse
        24
    lijxse  
    OP
       227 天前
    @1217950746 这个我已经装了,还没找到组合键修改,我现在直按 F1 就是 F1 ,那我还想要 Fn+F1 是亮度,应该怎么调啊?
    chenluo
        25
    chenluo  
       227 天前
    @lijxse 有个 spacefn1, 按住那个按键不放就是 MO(1), 按一下松开是空格. (键盘是 60 配列的, 所以比较依赖切层..
    lijxse
        26
    lijxse  
    OP
       227 天前
    @chenluo 明白,我研究研究
    shindgewongxj
        27
    shindgewongxj  
       226 天前
    Apple Globe / Fn 键并不能通过定义 keycode 直接实现,系统会通过键盘的 vendor ID 去检查该键盘是否获得了授权,所以需要一并修改键盘的 vendor ID 来执行 keycode 。

    > References
    > [QMK Firmware GitHub Issue]( https://github.com/qmk/qmk_firmware/issues/2179)
    > [Firmware Patch Gist]( https://gist.github.com/fauxpark/010dcf5d6377c3a71ac98ce37414c6c4/revisions)

    这两个参考是我之前看到的,希望对你有帮助。
    shindgewongxj
        28
    shindgewongxj  
       226 天前
    抱歉审题错误。

    加入 macOS 是 Layer 0 ,Windows 是 Layer 1 ,而 Layer 2 和 Layer 3 分别对应 fn1 和 fn2 层。

    可以在 VIA 中切换到 fn1 层再自定义功能键:

    降低屏幕亮度:KC_BRID
    提高屏幕亮度:KC_BRIU
    Mission Control:KC_MCTL
    Spotlight:QK_SPECIAL_KEYCODE 0x221
    Voice Dictation: QK_SPECIAL_KEYCODE 0xCF
    Do Not Disturb: -
    多媒体按键 > :KC_MEDIA_PREV_TRACK
    播放/暂停:KC_MEDIA_PLAY_PAUSE
    多媒体按键 < :KC_MEDIA_NEXT_TRACK
    静音:KC_MUTE
    降低音量:KC_AUDIO_VOL_DOWN
    提高音量:KC_AUDIO_VOL_UP

    P.S.: Spotlight 及 Voice Dictation 需要映射 keycode 。
    LudwigWS
        29
    LudwigWS  
       223 天前 via iPhone
    @shindgewongxj 之前看到红书一篇分享说“nuphy 的 mac 自定义 key 有些都是用 HID 的 consumer table 里的 code 。搜了一下苹果的 hid table ,发现 029D 在 apple
    里就用作 globe 。”,然后实现了 Globe 地球键
    shindgewongxj
        30
    shindgewongxj  
       223 天前
    @LudwigWS 对 这个 [issue]( https://github.com/qmk/qmk_firmware/issues/16651) 有提到 HID 029D 的应用,但是不能长按实现 Apple Fn 。
    owtotwo
        31
    owtotwo  
       222 天前
    最简化问题

    先达成共识 看 nuphy 官网的宣传页面 https://nuphy.com/collections/keyboards/products/gem80 里面的图有标注键盘特色功能(主要是支持 qmk/via 以及有物理切换 Mac/Win 的开关)
    我用的是 nuphy air60 v2 同一家的产品 理论上 qmk 固件的内容跟 gem80 应该是差不多的
    Win 模式的默认层是第 3 层(0~7 共 8 层) 此问题不需要更多层 所以只考虑 mac 模式的层(即 0 、1 、2 层)

    如果我没理解错楼主题意 即 nuphy gem80 默认的 mac 模式的默认层(0 层)的 F1~F12 默认是 mac 上的特殊功能 比如 F1 是亮度减(对应 via 的"Screen-" 在 SPECIAL 里) F3 是 task(对应 via 的"Mac Task" 在 CUSTOM 里) 单按一下 F2 就能亮度加 而 Fn+F2 键才是真正输出"F2"
    但楼主希望 F2 键按一下就是"F2" 而非"Screen+" 反而 Fn+F2 键才是亮度加
    Mac 模式下键盘上的 Fn 其实就是 0 层里(临时)切换至 1 层的 via 键"MO(1)" 按住切换后再按 F2 就是 1 层的 F2 键上的内容

    *解:所以最直接解法就是 在原本默认没有动过 via 配置的初始情况下 将 0 层和 1 层的 F1~F12 直接一一对调 就完成楼主的需求了

    补充:nuphy 因为比较往 Mac 用户上靠 所以连默认模式都是 mac 键帽图标也是 mac 的快截效果键(如 Mac Search 这个 F4 上的放大镜图标) 所以 CUSTOM 里也提供了多个 Mac 专用快捷键
    另外 nuphy 的 via 就是 qmk 那个 所以能实现的效果很完整 加上对 Mac 的高适配 因此改键的自由度很高 基本你想实现的都能改(非常复杂的需要改 qmk 固件 但是应该是用不到的)

    b 站搜一下 via 多层改键的视频就好了(比如 BV1jv4y1o7pk 或 BV1RV4y197s4)
    xjp9832
        32
    xjp9832  
       212 天前
    @jheroy #1 感谢!直接救活了我的老 realforce ,本来想买 Nuphy 的,就是因为这些新出的键盘都能更好适配 mac ,但是这个改键软件用了之后,基本上都能映射了。
    lijxse
        33
    lijxse  
    OP
       209 天前
    @owtotwo 感谢,老哥回的太细了,可惜我的 GEM80 已经退了,无法测试。
    最终结果是提议 Nuphy 的技术部门直接改一个适配好 Mac 的固件,但是这个固件不知道什么时候改出来,这个客服已经跟技术反馈过了。Mac 的诡异情况不少,对于 GEM80 固件本身来说还很简陋,比如当时给我的最新固件好像是 1.1 ?结果 1.1 无法改键( VIA 无法识别),被迫退回 1.0 用老版本,可老版本上 VIA 改键直接出问题,这类的吧就不说了。
    Nuphy 客服也帮忙在中间跟技术沟通,最终我能感受到他们的技术部门应该没有 Mac 用户,Mac 系统适配很差,所以他们只是外观上靠 Mac ,软件层面还差点。

    手感和外观都挺好的键盘,可惜了,我不知道他们能不能做出来一个符合 Mac 基本键位切换的出厂固件,如果能,像我这种普通用户也能上手就用,想折腾的也能自己改建,两全其美。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:39 · PVG 02:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.