gpt4 book ai didi

linux - 使用反引号/重音/波形符作为修饰键

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:15 27 4
gpt4 key购买 nike

我正在寻找一种在 Linux 中使用反引号 (`)/波形符 (~) 键和其他一些键创建键盘快捷键的方法。在理想情况下:

  1. 按下波形符没有任何作用
  2. 按下波形符的同时按另一个键会触发(可自定义的)快捷方式
  3. 在按下另一个键之前/不按下另一个键时释放波形符时,只需发送波形符击键即可。

我在 Windows 的 AutoHotKey 中有类似的东西,并且我一直在寻找一种在(任何)Linux 环境中重新创建它的方法。如果我能让这个工作正常的话,我会考虑使用任何 GUI,但当然更“通用”的解决方案会更好。

最佳答案

我想我终于明白了!!

我使用xmodmapgrave键转换为修饰符Hyper_L,并且XCape如果释放该键而没有按下另一个键,则发送坟墓。

Xcape 的目的是在按下并释放 meta 键(“windows 键”)时打开应用程序菜单(“开始菜单”),而无需其他键,因此作为额外的好处,它也可以这样做。这意味着您既可以使用 Meta 作为修饰符(例如 Meta-F)来打开文件管理器,也可以单独使用 meta 键来打开 mustache 菜单。

如果一切正常,您可以使用~-k打开键盘设置管理器,并且可以使用~键创建新的快捷方式。因为这仍然很烦人,而且不容易在不同系统之间移植,所以我添加了一些使用 xfconf-query 的快捷方式,这些快捷方式可能只在 Xfce 中工作。

这是我的脚本的基础知识:

#!/bin/sh

# reset pretty much ALL keyboard settings
setxkbmap

# Free up the mod3 and mod4 flags from all keys it may be associated with:
xmodmap -e "clear mod3"
xmodmap -e "clear mod4"

# Add Hyper_L to the grave key (49)
xmodmap -e "keycode 49 = Hyper_L asciitilde grave asciitilde"

# You need a grave key somewhere else (!) so, bind it to an unused key:
xmodmap -e "keycode 250 = grave"

# Restore Mod4 but without Hyper_L (which was at location 4)
xmodmap -e "add mod4 = Super_L Super_R Super_L"

# Assign the mod3 to Hyper_L:
xmodmap -e "add mod3 = Hyper_L"

dist=100
/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>Right -s "xdotool mousemove_relative -- $dist 0" --create -t string
/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>Down -s "xdotool mousemove_relative -- 0 $dist" --create -t string
/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>Left -s "xdotool mousemove_relative -- -$dist 0" --create -t string
/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>Up -s "xdotool mousemove_relative -- 0 -$dist" --create -t string
/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>space -s "xdotool click 1" --create -t string

/usr/bin/xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/\<Hyper\>k -s "xfce4-keyboard-settings" --create -t string

# (re)starting xcape to produce a ` after key-up if no other key was pressed
killall xcape
xcape -t5000 -e "#49=grave;Super_L=Control_L|Escape" &

可以找到该脚本的更扩展版本,以及更多快捷方式 here

关于linux - 使用反引号/重音/波形符作为修饰键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com