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

请教一个有关 hammerspoon 的使用问题!

  •  
  •   qq432591 · 2016-10-02 02:35:50 +08:00 · 2993 次点击
    这是一个创建于 2974 天前的主题,其中的信息可能已经有所发展或是发生改变。

    hammerspoon 的 init.lua 设置问题

    -- key define

    local hyper = {'ctrl', 'alt', 'cmd', 'shift'}

    local hyperShift = {'ctrl', 'alt', 'cmd', 'shift'}

    此处是将 ctrl alt cmd shift 该键设置为了 hyper,hypeShift

    若想将 F19 设置为 hyper 的话 该如何设置呢?

    local hyper = {'F19'} 试了这么搞不行

    应该是 F19 的 keycode 不对,请问下老司机如何搞!

    3 条回复    2016-10-03 02:18:32 +08:00
    zander
        1
    zander  
       2016-10-02 15:03:51 +08:00 via iPhone
    可以去 karabiner 的 github 里搜索一下对应的 按键编码。
    qq432591
        2
    qq432591  
    OP
       2016-10-02 15:25:37 +08:00   ❤️ 1
    @zander 不是 karabiner 的问题 ,是 hammerspoon 的不行, 不过已经搞定了 应为不太熟悉 lua 脚本 ,有点看不懂,照葫芦画瓢,也算搞定了。
    这么设置的 没看懂 F18 F17 是干嘛用的
    hyperBindings = {'q', 'w', 'e', 'r', 't', 'y', 's', 'd', 'f', 'g', 'v', 'm', 'x', 'k', 'z', 'up', 'down', 'left', 'right'}

    k = hs.hotkey.modal.new({}, "F17")

    for i,key in ipairs(hyperBindings) do
    k:bind({}, key, nil, function() hs.eventtap.keyStroke(hyper, key)
    k.triggered = true
    end)
    end

    pressedF19 = function()
    k.triggered = false
    k:enter()
    end

    releasedF19 = function()
    k:exit()
    if not k.triggered then
    hs.eventtap.keyStroke({}, 'F18')
    end
    end

    f18 = hs.hotkey.bind({}, 'F19', pressedF19, releasedF19)
    ashfinal
        3
    ashfinal  
       2016-10-03 02:18:32 +08:00
    贴个我的配置,可以自己看着修改 对你有用最好

    https://github.com/ashfinal/Hammerspoon-config/blob/master/README-CN.md
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 07:29 · PVG 15:29 · LAX 23:29 · JFK 02:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.