Chr*_*ris 11 linux macos keyboard-shortcuts
有没有办法在Linux中映射Cmd+C到复制?(而不是Ctrl+C)
如果我也可以使用emacs样式,比如Ctrl+B向左移动一个字符,那就太好了.
在Linux/X上,有没有办法将某些关键组合映射到其他关键组合?
在所有开源项目的传统,有没有一个办法,也有几个.在最低级别,你有内核键绑定,这可能不是你想要的.在X服务器级别,你有xkb及其无数的实用程序.然后似乎每个窗口管理器 - gnome,kde,xfce或其他 - 也有一个键映射实用程序.xkb似乎有很多utils等等,并且可能比任何随机窗口管理器的键映射工具更完整,所以我先看看它.
KDE 3 可能是最灵活的;有一个名为“Mac Scheme”的预定义键盘快捷键方案。您可以通过 KControlControl Center > Regional & Accessibility > Keyboard Shortcuts或KControl 来设置它kcmshell keys,它会立即对几乎所有 KDE 应用程序生效。您可能会错过 OS X 中的一些类似 Emacs 的“Ctrl-*”快捷键,但除此之外,它的效果很好(只要您的 X 修饰符映射正确)。如果它不符合您的喜好,也可以轻松定制。
您还可以设置Control Center > Desktop > Behavior启用类似 Mac OS 的菜单栏;所有 KDE 应用程序将共享屏幕顶部的菜单栏,而不是单独附加到每个窗口。
更新 02/03/2020
Kinto 现已使用 x11 为 Ubuntu/Debian 系统用 C 语言重写。它还使用 json 配置文件,使其更易于管理和扩展到其他应用程序,而不仅仅是终端。该应用程序不再映射到终端应用程序中的 Super,它现在可以正确映射到 Ctrl+Shift 以创建与使用 Cmd 键完全相同的感觉。
请查看最新版本。 https://github.com/rbreaves/kinto
允许 Super = Ctrl+Shift 更改的主要更改在此符号文件中。
default partial xkb_symbols "mac_levelssym" {
key <LWIN> {
repeat= no,
type= "ONE_LEVEL",
symbols[Group1]= [ Hyper_L ],
actions[group1]=[ SetMods(modifiers=Shift+Control) ]
};
key <RWIN> {
repeat= no,
type= "ONE_LEVEL",
symbols[Group1]= [ Hyper_R ],
actions[group1]=[ SetMods(modifiers=Shift+Control) ]
};
};
Run Code Online (Sandbox Code Playgroud)
Pjz 的答案是正确的,xkb 解决方案将是理想的,遗憾的是很少有人采取这条路线,很可能是由于学习 xkb 的困难,而且似乎许多人已经采取了使用 Xmodmap 文件的路线,而我们在使用 Xmodmap 文件时,该文件已被弃用我们去韦兰的路。
这个答案可能晚了几年,但这里有任何方法。
Kinto 是我最近创建的一个工具,可以解决这个问题,它通过使用 xkb 并监听您当前正在使用的应用程序来解决这个问题,因为它还会在使用终端时更改键盘映射,以便像 mac 一样的体验可以保持一致。
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
这也是一个要点,如果你只是想看看这一切的核心是什么,它不会在需要时改变你的键盘映射。Gist 也不包括设置使用 Cmd 和箭头键的 macOS 风格光标/逐字操作的自定义 xkb 键盘映射文件。
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
编辑:也发布要点内容。我无法真实地发布 Kinto 的内容。
# permanent apple keyboard keyswap
echo "options hid_apple swap_opt_cmd=1" | sudo tee -a /etc/modprobe.d/hid_apple.conf
update-initramfs -u -k all
# Temporary & instant apple keyboard keyswap
echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd
# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win
# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win
#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8623 次 |
| 最近记录: |