我正在尝试创建单手键盘布局,并希望Hyper在按下某些键时使用它来生成特殊键。
例如,当我按下Hyper_L和 时B,我希望 XKB 生成XF86AudioRaiseVolume.
相关部分来自custom_2.kbd
(完整代码在http://pastebin.com/gm8cggn3):
xkb_keycodes {
<K_36> = 54; // b B XF86AudioRaiseVolume
<K_85> = 133; // Hyper_L
};
xkb_symbols {
key <K_36> { type = "HYPER_LEVEL", [ b, B, XF86AudioRaiseVolume ] };
key <K_85> { type = "ONE_LEVEL", [ Hyper_L ] };
};
xkb_compatibility {
interpret Hyper_L { action = SetMods(modifiers=Hyper); };
};
xkb_types {
type "HYPER_LEVEL" {
modifiers= Shift+Hyper;
map[Shift]= Level2;
map[Hyper]= Level3;
map[Shift+Hyper]= …Run Code Online (Sandbox Code Playgroud) 我想要一个 bash 脚本,它可以在:
setxkbmap se和setxkbmap us.
然后我的意图是CtrlEsc通过键盘> 自定义快捷方式将该脚本映射到。
关键是我想用CtrlEscape. 我该如何实施?
我如何映射键“超级”,以便与左/右结合时,它会生成键码 Home/End?
我目前的 setxkbmap:
setxkbmap \
-model pc105 \
-layout 'us(dvorak-intl),us(alt-intl)' \
-option \
-option grp:lctrl_lshift_toggle \
-option compose:rwin
Run Code Online (Sandbox Code Playgroud) 我应该如何在 xorg.conf 中编写多个 XkbOptions?我试过“选项、选项、选项”、“选项、选项、选项”、“选项选项选项”,但这些都没有奏效——只执行了第一个选项。
我想用 XKB 随机播放几个键。(为什么?在某些按键不方便的笔记本电脑上。)我目前使用 xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Run Code Online (Sandbox Code Playgroud)
相反,我想使用 XKB 并为某些物理键分配不同的符号名称,而不是为某些键码分配不同的键符。(这就是为什么。)我希望发送 keycode 110PGUP而不是 ,发送HOMEkeycode 115DELE而不是END等等。其余的配置必须不受影响(所以PGUP要继续发送 keysymPrior等,并且所有其他键都保留像他们那样)。
如何更改这些特定键码的分配?我将加载一个文件xkbcomp somefile.xkb $DISPLAY,我需要放入somefile.xkb什么?
似乎有几个选项,setxkbmap如-option caps:backspace使盖退格。但是,我似乎找不到使退格键成为转义键的选项。如何创建将退格键更改为转义键的单个 setxkbmap 命令?
我正在运行 Linux Mint 13 的笔记本电脑上设置 openbox。我希望我的 Caps Lock 键充当额外的控制键。我将所需的设置放在我的~/.Xmodmap文件中并通过运行进行检查
xmodmap ~/.Xmodmap
Run Code Online (Sandbox Code Playgroud)
它工作正常。
但是,当我重新登录到我的 openbox 会话时,这些关键更改不存在。运行上面的xmodmap命令让它再次工作,但我希望它在启动时自动发生。
有趣的是,我zenity在我的~/.config/openbox/autostart文件中添加了如下测试命令
zenity --info --text=Hello
Run Code Online (Sandbox Code Playgroud)
这会生成一个小的对话窗口,并且仅在该对话框关闭后才退出。
现在,当我重新登录到我的 openbox 会话时,Caps Lock 充当 Ctrl 键,直到zenity 对话框关闭。关闭该对话框后,Caps Lock 将返回其默认行为。
我在谷歌上没有找到任何关于这个的东西,所以我在这里寻求帮助。你们对可能出现的问题有什么想法吗?
我一直在试图解决这个问题,在我的实验中,我将我的/usr/bin/xmodmap文件复制到/usr/bin/xmodmap_并用/usr/bin/xmodmap以下 bash 脚本替换了该文件
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
Run Code Online (Sandbox Code Playgroud)
因此,每次系统上运行任何该死的脚本时xmodmap,我都会了解它。
有了这个,我重新登录,我只在我的~/xmodmap-calls文件中找到一个条目,这是运行 my 的条目~/.Xmodmap,这是预期的。所以,我认为这不是xmodmap覆盖我的更改。
接下来,通过一些谷歌搜索向我介绍了该setxkbmap命令,它显然也可以做同样的事情。我也替换了那个可执行文件,类似于上面的 …
有什么方法可以CapsLock在Esc按下时禁用。是的,我使用 VIM!我实际上有一个替代的全大写键盘布局,Ctrl-6但我发现它很麻烦,并且更愿意让操作系统在Esc按下时禁用 CapsLock 。另外,我经常通过 SSH 连接到其他服务器几个小时,所以我在那里使用库存 VIM。
请注意,我碰巧已经交换了CapsLock和Esc键。但是,当Esc按下该键时(碰巧CapsLock在键盘上标记并在 旁边A),我需要它同时执行Escape和Disable-CapsLock-If-It-Is-Enabled。
这是在 Kubuntu 12.10 上。谢谢。
我真的习惯了的“同时vi模式”功能KeyRemap4MacBook它可以让你按住s,并d同时键,然后使用h,j,k,和l键作为箭头键。当s和d被按下时,没有s或d事件被触发,但是当我正常输入时,我没有注意到击球s或d单独的任何延迟问题。
如何在 Linux(特别是 RHEL 6.4)中重新创建此功能?
我有几个想法:
我有一个xmodmap我使用的自定义文件,包括有用的多语言变音符号、英文引号、破折号等。我想将此地图与 一起使用kmscon,因此我需要从中创建一个xkb配置。有没有自动化的方法来做到这一点?或者甚至是一个简单的手动过程,因为我不需要经常这样做?
xkb ×10
x11 ×4
keyboard ×2
xmodmap ×2
kubuntu ×1
linux-mint ×1
openbox ×1
shell-script ×1
xcape ×1
xorg ×1