标签: xkb

如何在 xkb 中重新映射“特殊”键?

我一直在尝试将我的键盘映射从 xmodmap 迁移到 xkb,但是我遇到了一些麻烦。我可以看到在哪里修改“普通”键,/usr/share/X11/xkb/symbol/us对我来说,但是这个文件似乎没有“特殊”键,包括修饰符。

我希望实现的完整重新映射是:

  • 交换Left CtrlShift
  • 替换Right CtrlShift
  • 替换Right Shift'
  • 替换'/
  • 右空白键(键码 97)到 Menu
  • 左空白键(键码 92)到 AltGr
  • AltGr 编码:
    • 键码 20 = 减去下划线减去下划线 endash emdash
    • 键码 60 = 句号更大的句号更大的省略号
    • Fn+F5Fn+F6控制亮度
    • 键码 148 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
    • 键码 179 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp

我怎样才能做到这一点?

configuration xorg keyboard keyboard-layout xkb

8
推荐指数
1
解决办法
8239
查看次数

为什么我对 xkb 的修改不起作用?

精简版

目前,AltGr+-产生 ¥。我希望它产生一个破折号。在 中/usr/share/X11/xkb/symbols/us,我用“endash”替换了所有出现的“yen”并重新启动,但这没有任何区别。

作为记录:

$ setxkbmap -query
rules:      evdev
model:      pc104
layout:     us
variant:    altgr-intl
options:    lv3:ralt_switch_multikey,numpad:pc
Run Code Online (Sandbox Code Playgroud)

更长的版本

我最初是从查看 开始的/usr/share/X11/xkb/symbols/us,其中包含一个标记为 的部分xkb_symbols "altgr-intl" {。本节包含include "us(intl)"include "level3(ralt_switch)",但没有提及AE11(这是 的键码-)。

标记为xkb_symbols "intl" {contains的部分key <AE11> { [ minus, underscore, yen, dead_belowdot ] };,因此我yen将 AltGr 位置中的here修改为endash. 我重新启动,这没有什么区别,所以我做了上面的蛮力方法(然后重新启动)。

更多疑难解答

如果我设置了setxkbmap -layout us -variant macAltGr+-会按预期产生一个短划线(并在本 …

kde xorg keyboard-layout internationalization xkb

7
推荐指数
1
解决办法
4201
查看次数

在 Ubuntu 17.10 及更高版本中使用 GNOME 3 进行键盘布局切换的静态排序

刚刚安装了 Ubuntu 17.10,键盘布局切换似乎改变了它的行为。

在以前的 Ubuntu 版本(例如 16.04 Unity)中,如果我有 3 种不同的键盘布局(例如EN - TH - JA),按Super+Space始终按相同顺序循环到下一个布局(例如ENTHJA然后回到EN)。

但是,从 Ubuntu 17.10 开始,情况不再如此。它在MRU (最近使用)排序中循环布局。所以假设布局以EN开头,然后我循环到TH。下次我点击Super+ 时Space,它会给我EN而不是JA

我试图挖掘,发现罪魁祸首是里面新实现的DCONF设置org.gnome.desktop.input-sources,似乎没有办法改变这种行为。

所以我的问题是:有没有办法将这种行为更改为键盘布局切换的“静态排序”


(顺便说一句,当我们有三个或更多布局时,新行为非常糟糕。大多数时候我们作为用户不记得MRU布局,因此布局切换非常不方便,而且比已经知道的要慢得多下一个布局是如果使用静态排序。)

如果没有更改此行为的设置,我应该在哪里将其报告为错误或功能请求?

keyboard-layout input-language shortcut-keys xkb gnome-shell

7
推荐指数
1
解决办法
468
查看次数

Ubuntu 21.04 Wayland 上的自定义 xkb 布局

我在 google 上搜索了有关使用 xkb 创建自定义键盘布局的各种指南。我想要左 Alt 键发送控制键事件。经过大量的试验和错误,我想出了这个(基于爱沙尼亚语键盘布局):

partial alphanumeric_keys modifier_keys
xkb_symbols "ee_dfv" {
    include "ee(basic)"

    name[Group1]="Estonian (DFV)";

    key <LALT> {
        type[Group1]="ONE_LEVEL",
        symbols[Group1] = [ Control_L ]
    };

    modifier_map Control { <LALT> };
};
Run Code Online (Sandbox Code Playgroud)

我添加了它evdev.xml,当我使用 GNOME 布局可视化器时,它确实显示了修改后的映射,但按键的工作方式和以前一样。令人惊讶的是,修改后的映射在 xterm 中可以正常工作。

我做错了什么还是有其他方法可以使用 Wayland 修改键盘布局?我成功使用 xmodmap 十年了,但谷歌搜索表明 Wayland 不支持它。

wayland xkb

7
推荐指数
0
解决办法
625
查看次数

使用 HJKL 作为箭头的自定义键盘布局无法正常工作

我将键盘布局设置/usr/share/X11/xkb/symbols/为使用 HJKL 键作为向左、向下、向上和向右箭头作为第三和第四个移位级别。我大部分时间都在关注这个帖子。正确的 Alt 是我的替代字符键。

虽然此自定义“基本上”有效,但我无法通过将其与SHIFT. 举例来说,我不能按选择文本Alt Gr+ Shift+ H,因为它将做Shift+ Left。但我可以用Ctrl.

HJKL 的工作方式与 Firefox 中的箭头完全相同(带有shiftCtrl),但不适用于 Gedit、Rhythmbox 或 Chrome,甚至可能更多...

有任何想法吗?我正在使用 Ubuntu 14.04。


编辑:我正在使用带有AltGr. 文件如下:

链接到键盘布局

(希望链接现在有效)

keyboard-layout shortcut-keys xkb 14.04

6
推荐指数
1
解决办法
1124
查看次数

如何重置xkb?

我修改了我的 /usr/share/X11/xkb/symbols/pc 文件。这样做后,我的 End 和 PgDn 键不再起作用。我没有备份文件,而是尝试手动恢复它,但没有结果。Ctrl/Shift+End/PgDn 仍然有效,但 End/PgDn 不会在 xkeybind 或我的浏览器中注册密钥代码。

如何将 xkb 重置为默认值?

我正在运行 Mint 18。

我对此进行了广泛的研究,但无济于事,并在这里发现了类似的问题,但没有人遇到完全相同的问题。

keyboard key-binding xkb

6
推荐指数
1
解决办法
835
查看次数

创建并激活新的键盘布局,但将文件放在 /usr/share/X11 之外

我多年来一直在使用我自己定制的键盘布局。创建和使用新布局相当容易。然而,我经常重新安装我的系统,每次我都需要一次又一次地添加我的自定义布局。

我想知道是否可以将我的文件保存在安全的地方,例如,在我的/home目录下,而不是/usr/share? 理想情况下,我希望能够只创建两个文件

~/.xkb/rules/myevdev.xml
~/.xmb/symbols/my_lng
Run Code Online (Sandbox Code Playgroud)

然后让 Xkb 以某种方式接他们。以下是我的问题:

  • 这样的事情有可能吗?
  • 如果是,我是否需要将整个evdev.xml文件复制到我的 /home 目录,然后在其中添加我的规则,或者我可以保持它干净并且只包含我的规则而不包含其他规则(并让 Xkb 以某种方式将它与现有的/usr/share/X11/xkb/rules/evdev.xml)?
  • 不同的位置是否更适合这些自定义文件?如果我希望多个用户访问自定义布局如何?
  • 一个额外的问题:如果我想.deb为我的自定义布局构建自己的安装,在这种情况下理想的文件和文件夹结构是什么?它可以安装在哪里才能不影响系统文件并且不会在升级/重新安装过程中被覆盖?

到目前为止,我已经尝试摆弄setxkbmap,但似乎没有任何事情像我期望的那样工作。我尝试设置该-rules选项,但未检测到我的文件。

提前致谢。

xorg keyboard keyboard-layout xkb

6
推荐指数
1
解决办法
439
查看次数

将箭头键重新映射到新的组合键

我键盘上的左、上和下键坏了,不会注册任何键码。我已经使用 xev 对其进行了测试。

我想让以下键触发与损坏的键关联的键代码。

<Win> h -> Left
<Win> j -> Down
<Win> k -> Up
<Win> l -> Right
Run Code Online (Sandbox Code Playgroud)

我读到这是 xkb 的工作,但我不知道如何去做。

任何帮助表示赞赏!

keyboard xkb 16.04

6
推荐指数
1
解决办法
2876
查看次数

R_Control+Arrows 的 xkb 映射

有一台带有方向箭头键和/ / / 的Fn+ 箭头的笔记本电脑。想要制作这些键,以便 Right Control 将它们更改为:PageUpPageDownHomeEnd

  • RCtrl+ Up->Page Up
  • RCtrl+ Down->Page Down
  • RCtrl+ Left-> Ctrl+Page Up
  • RCtrl+ Right-> Ctrl+Page Down

左控制应该像以前一样继续工作。

接近工作的XKB:

以下内容/usr/share/X11/xkb/symbols/custom通过此命令保存和加载setxkbmap -symbols "pc+us+inet(evdev)+custom"

key <UP> {  
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]= [ Up, NoSymbol ],  
    actions[Group1] = [NoAction(), RedirectKey(key=<PGUP>, clearMods=Control)] };  
key <DOWN> {  
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]= [ Down, NoSymbol ],  
    actions[Group1] = [NoAction(), …
Run Code Online (Sandbox Code Playgroud)

keyboard-layout xkb 17.10

6
推荐指数
2
解决办法
425
查看次数

将 ALT + 向左/向右箭头绑定到 XKB 中的 HOME 和 END 键

我尝试了几种方法来实现此目的,但似乎都不起作用,自动键会在应用程序中插入Alt+\xe2\x86\x92和结束键。我正在 XKB 中寻找解决方案,我已经做了一些更改,我希望和箭头Alt的行为映射到和。\xe2\x86\x90\xe2\x86\x92HomeEnd

\n

keyboard shortcut-keys xkb 14.04

5
推荐指数
0
解决办法
815
查看次数