awesome wm - как привязать ключ к другому ключу

Я новичок в awesome wm и пытаюсь привязать ключ к другому ключу. например

Когда я нажимаю alt+j, это будет действовать так, как будто я только что нажал клавишу down на клавиатуре.

Я не знаю, есть ли у awesome wm эта функция или нет?

Есть такая функция?

awful.key({ altkey }, "j", function () "down"

person hhuimie    schedule 16.01.2016    source источник


Ответы (4)


Я думаю, что могу неправильно понять ваш вопрос.

Интерпретация 1:

Просто скопируйте код из этой другой привязки клавиш.

В конфигурации по умолчанию mod+j это:

awful.key({ modkey,           }, "j",                                                                                                                                                
    function ()
        awful.client.focus.byidx( 1)
        if client.focus then client.focus:raise() end
    end),

Скопируйте эту часть и измените ключ:

awful.key({ }, "Down",                                                                                                                                                
    function ()
        awful.client.focus.byidx( 1)
        if client.focus then client.focus:raise() end
    end),

Интерпретация 2:

awful.key({ modkey,           }, "j",                                                                                                                                                
    function ()
        root.fake_input("key_press", "Down")
        root.fake_input("key_release", "Down")
    end),
person Uli Schlachter    schedule 16.01.2016
comment
Извините за мой плохой английский! Объясните еще раз: я не хочу нажимать клавишу «вверх-вниз», поэтому я хочу использовать alt + j, чтобы заменить клавишу «вниз». Я попробовал вашу интерпретацию 2. Она не сработала. Что делать, если задержать эту функцию. Но я не знаю, как задержать функцию. Большое спасибо! - person hhuimie; 16.01.2016

Наконец, я нашел не идеальное решение. Сначала установите xdotool, я использую ArchLinux, поэтому:

yaourt -S xdotool

И отредактируйте ~/.config/awesome/rc.lua

awful.key({ altkey }, "j", function() 
    awful.util.spawn("sh -c 'xdotool sleep 0.1 key --clearmodifiers Down'") end),

Но каким-то образом он просто введет j, и я не знаю, почему.

person hhuimie    schedule 17.01.2016

Это сработало для меня для приложений gtk2:

awful.key({ "Control",        }, "n",      function (c) awful.util.spawn_with_shell("xdotool getactivewindow key --window %1 Down")        end)
person ivanp    schedule 10.05.2016

Как говорится в их документации, файл конфигурации находится в

$XDG_CONFIG_HOME/awesome/rc.lua.

У меня нет установленной awesome vm, чтобы точно сказать вам, что нужно изменить внутри, но вы легко это поймете. Кроме того, чтобы полностью изменить путь к файлу конфигурации, используйте:

-c, --config FILE

Используйте альтернативный файл конфигурации вместо $XDG_CONFIG_HOME/awesome/rc.lua.

person ctotolin    schedule 16.01.2016