qq432591
V2EX  ›  macOS

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

  •  
  •   qq432591 · Oct 2, 2016 · 3488 views
    This topic created in 3539 days ago, the information mentioned may be changed or developed.

    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 replies    2016-10-03 02:18:32 +08:00
    zander
        1
    zander  
       Oct 2, 2016 via iPhone
    可以去 karabiner 的 github 里搜索一下对应的 按键编码。
    qq432591
        2
    qq432591  
    OP
       Oct 2, 2016   ❤️ 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  
       Oct 3, 2016
    贴个我的配置,可以自己看着修改 对你有用最好

    https://github.com/ashfinal/Hammerspoon-config/blob/master/README-CN.md
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4974 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    ♥ Do have faith in what you're doing.