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

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

  •  
  •   lijxse · 14 天前 · 989 次点击

    最近看上 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 碰到问题了。

    请懂的朋友答疑,感谢。

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

    lijxse
        23
    lijxse  
    OP
       13 天前
    @chenluo 大概明白,不过我看你 layer0 没有 mo(1),只看到你有 mo(2)、mo(3),所以你是按哪个键蹦到 layer1 的?
    lijxse
        24
    lijxse  
    OP
       13 天前
    @1217950746 这个我已经装了,还没找到组合键修改,我现在直按 F1 就是 F1 ,那我还想要 Fn+F1 是亮度,应该怎么调啊?
    chenluo
        25
    chenluo  
       12 天前
    @lijxse 有个 spacefn1, 按住那个按键不放就是 MO(1), 按一下松开是空格. (键盘是 60 配列的, 所以比较依赖切层..
    lijxse
        26
    lijxse  
    OP
       12 天前
    @chenluo 明白,我研究研究
    shindgewongxj
        27
    shindgewongxj  
       12 天前
    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  
       12 天前
    抱歉审题错误。

    加入 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  
       9 天前 via iPhone
    @shindgewongxj 之前看到红书一篇分享说“nuphy 的 mac 自定义 key 有些都是用 HID 的 consumer table 里的 code 。搜了一下苹果的 hid table ,发现 029D 在 apple
    里就用作 globe 。”,然后实现了 Globe 地球键
    shindgewongxj
        30
    shindgewongxj  
       8 天前
    @LudwigWS 对 这个 [issue]( https://github.com/qmk/qmk_firmware/issues/16651) 有提到 HID 029D 的应用,但是不能长按实现 Apple Fn 。
    owtotwo
        31
    owtotwo  
       8 天前
    最简化问题

    先达成共识 看 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)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2468 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:46 · PVG 16:46 · LAX 01:46 · JFK 04:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.