如何安装 caps2esc?

Per*_*ion 9 shortcut-keys capslock systemd

我正在从 mac-land 切换回来,这些天对 linux 最让我烦恼的事情是键绑定。具体来说,现在,我想念 Karabiner,以及将大写锁定同时控制和逃脱的能力。

幸运的是,我找到了 caps2esc。不幸的是,我不太明白如何安装它。

我找到了编译的方法以及make install拦截工具和caps2esc。但是现在看来我需要弄乱 systemd 了?现在我迷路了。

帮助?

这是相关文档:

  1. https://gitlab.com/interception/linux/plugins/caps2esc

  2. https://gitlab.com/interception/linux/tools/blob/master/README.md

Per*_*ion 12

我想我主要是想通了这一点。

  1. 按照说明进行cmake, make,sudo make install
  2. 在 Ubuntu/Debian 上,这些可执行文件现在位于 /usr/local/bin/caps2esc
  3. sudoedit /etc/udevmon.yaml 然后把它放进去:

    - JOB: "intercept -g $DEVNODE | caps2esc | uinput -d $DEVNODE"
      DEVICE:
        EVENTS:
          EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
    
    Run Code Online (Sandbox Code Playgroud)
  4. sudoedit /etc/systemd/system/udevmon.service 并将其放入:

    [Unit]
    Description=udevmon
    Wants=systemd-udev-settle.service
    After=systemd-udev-settle.service
    
    [Service]
    ExecStart=/usr/bin/nice -n -20 /usr/bin/udevmon -c /etc/udevmon.yaml
    
    [Install]
    WantedBy=multi-user.target
    
    Run Code Online (Sandbox Code Playgroud)
  5. sudo systemctl enable --now udevmon

  • 当我在拦截工具上运行 `sudo make install` 时,它会将 `udevmon` 安装到 `/usr/local/bin/udevmon`。我将 `/etc/systemd/system/udevmon.service` 中的引用从 `/usr/bin/udevmon` 更改为 `/usr/local/bin/udevmon`,一切正常。 (4认同)