AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[keyboard-layout](ubuntu)

Martin Hope
Tina Russell
Asked: 2025-01-06 08:13:13 +0800 CST

重启后我的 XKB 自定义键盘布局不再起作用

  • 6

因此,几周前,我让自定义的 XKB 键盘布局可以在 Ubuntu 上使用。我按照这里的说明操作:https: //who-t.blogspot.com/2020/09/user-specific-xkb-configuration-putting.html并下载了它链接到的脚本,这里:https ://gitlab.freedesktop.org/whot/xkblayout运行脚本后(我忘记了我使用的选项的细节以及自动生成的选项有多少,但我稍后会向您展示结果)并编辑生成的~/.config/xkb/symbols/us文件(可能还有生成的~/.config/xkb/rules/evdev.xml文件,我不记得我是否必须手动编辑它,或者这是否都是脚本做的),突然我的自定义键盘布局“英语 - Interna-Tina-l(AltGr 死键)”出现在“设置”应用中(选择新键盘布局时,使用“设置”->“键盘”->“输入源”部分->“添加输入源”按钮;我的新布局列在选择“英语(美国)”时显示的变体中)。我选择了布局,它突然就起作用了,我就可以愉快地用自定义键打字了。(我还在键盘设置中将“备用字符键”选项设置为“左超级键”。我认为这比在布局中硬设置更有意义。)

然后,两天前,我的系统崩溃了。我不知道为什么,也不认为这与此有关(我只能说,我试图在 Emacs 中复制和粘贴某些内容,期望它能正常运作,但我的整个计算机却死机了,而且由于它似乎有点热,我想我唯一的选择是 Alt+PrtSc+REISUO 并关闭它,让它冷却一段时间),但关键是我不得不关闭并稍后重新启动。然后,令我惊恐的是,登录 Ubuntu 后,我发现我的自定义键盘布局不再起作用!突然它使用了“英语(国际,带有 AltGr 死键)”布局,我的布局继承自该布局(但进行了重大更改,足以让尝试在此布局或任何其他非我自己的布局上打字令人抓狂)。

不过,最令人困惑的是,如果我进入键盘设置,它仍然显示我正在使用自定义布局!我尝试明确添加“英语(国际,带有 AltGr 死键)”布局作为第二个输入源,这样我就可以在两种布局之间切换(使用 Super+Space),并希望刷新我的系统对我使用哪种布局打字的认识。但是,如果我切换到该布局然后返回到我自己的布局,我仍然像在使用其他布局一样打字!

可能还相关的是,如果我尝试使用setxkbmap -query来查看我当前正在使用的键盘映射setxkbmap,它会这样说,即使我肯定根据键盘设置和任务栏指示器使用我的自定义布局:

rules:      evdev
model:      pc105
layout:     us
variant:    altgr-intl

(正如您可能已经猜到的那样,“altgr-intl”指的是“英语(国际,带有 AltGr 死键)”布局。)

(可能还相关的是,键盘设置中的“备用字符键”选项仍然设置为“左超级键”,但左超级键实际上不再充当“备用字符键”;相反,右 Alt(AltGr)可以起到这个作用,这是“英语(国际,带有 AltGr 死键)”/“altgr-intl”布局的默认设置。)

另外,如果我尝试使用setxkbmap -variant tina,我认为这是我应该直接setxkbmap选择自定义变体的方式,它只会说Error loading new keyboard description然后退出。哼。

无论如何,在这里我将向您展示我的自定义布局文件,以便您可以自行判断它们是否存在问题,但请记住,在我重新启动计算机之前,这一切都运行正常。我真的不知道出了什么问题。

(请记住,中间注释掉的行是我的键盘布局中曾经有的部分,但无论原因如何,现在不再有它们了;我只是为了完整性才将它们包括在内,因为虽然我无法想象为什么注释掉的行会导致任何问题,但我不知道实际上是什么导致了问题。)

~/.config/xkb/symbols/us:

// $XKeyboardConfig$

partial alphanumeric_keys modifier_keys
xkb_symbols "tina" {
    name[Group1]= "English - Interna-Tina-l (AltGr dead keys)";

    include "us(altgr-intl)"
    
//    include "level3(ralt_alt)"
//    include "level3(win_switch)"
//    key <CAPS> {
//      type[Group1]="ONE_LEVEL",
//      symbols[Group1] = [ ISO_Level5_Shift ]
//      };
//    modifier_map Mod3   { ISO_Level5_Shift };
    
//    key.type[Group1]="EIGHT_LEVEL"

    key <TLDE> { [       grave,  asciitilde, dead_abovedot,  dead_tilde ] };
    key <CAPS> { [   parenleft, ISO_Next_Group, Greek_lambda, Greek_phi ] };
    key <BKSL> { [  parenright,         bar,     backslash,   brokenbar ] };
    key  <TAB> { [        Tab, ISO_Left_Tab, XF86BackForward,   notsign ] };

    key <AE01> { [           1,      exclam,   onesuperior,       U203C ] };
    key <AE04> { [           4,      dollar,          cent,    sterling ] };
    key <AE05> { [       5,     percent,      EuroSign,         yen ] };
    key <AE06> { [           6, asciicircum, onequarter,dead_circumflex ] };
    key <AE07> { [       7,   ampersand,       onehalf,   dead_horn ] };
    key <AE08> { [           8,    asterisk, threequarters, dead_ogonek ] };
    key <AE09> { [       9,   parenleft,   bracketleft,   braceleft ] };
    key <AE10> { [       0,  parenright,  bracketright,  braceright ] };
    key <AE11> { [   minus,  underscore,        emdash,      endash ] };

    key <AB03> { [       c,           C,      ccedilla,    Ccedilla ] };
    key <AB04> { [       v,           V,     copyright,  registered ] };
    key <AC04> { [       f,           F,         U017f,       U2122 ] };
    key <AC10> { [ leftsinglequotemark,  leftdoublequotemark, dead_grave, degree ] };
    key <AC11> { [rightsinglequotemark, rightdoublequotemark, dead_acute, dead_diaeresis ] };
    
    key <AB08> { [      comma,     less,        dead_ogonek,     dead_caron ] };
    key <AB09> { [     period,  greater,           ellipsis,  dead_abovedot ] };
    key <AD11> { [  semicolon,    colon, enfilledcircbullet, guillemotright ] };
    key <AD12> { [ apostrophe, quotedbl,   enopencircbullet,  guillemotleft ] };
    
    key <I151> { [ Menu ] };
};

~/.config/rules/evdev:

// generated by xkblayout templates

// Note: no rules file entries are required for for a custom layout

// Include the system 'evdev' file
! include %S/evdev

~/.config/rules/evdev.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
<!-- generated by xkblayout -->
<xkbConfigRegistry version="1.1">

  <layoutList>
    <layout>
      <configItem>
        <name>us</name>
        <!-- Keyboard indicator for English layouts -->
        <shortDescription>en</shortDescription>
        <description>English (US)</description>
        <countryList>
          <iso3166Id>US</iso3166Id>
        </countryList>
        <languageList>
          <iso639Id>eng</iso639Id>
        </languageList>
      </configItem>

      <variantList>
        <variant>
          <configItem>
            <name>tina</name>
            <shortDescription>tina</shortDescription>
            <description>English - Interna-Tina-l (AltGr dead keys)</description>
          </configItem>
        </variant>
      </variantList>

    </layout>
  </layoutList>

</xkbConfigRegistry>

此外,xkblayout 脚本生成了一些空目录:~/.config/xkb/compat、~/.config/xkb/keycodes/和~/.config/xkb/types。

我在 Thinkpad P53 工作站上使用 Ubuntu 24.04。我认为不是任何软件包升级导致了这种情况的发生;事实上,软件更新程序和 Synaptic 软件包管理器(在选择“重新加载”和“标记所有升级”后)几周内都没有显示任何可升级的软件包,这对我来说似乎很奇怪,但这是另一个话题了。(也许 24.04 已经变得足够稳定,不需要不断更新?)

keyboard-layout
  • 1 个回答
  • 41 Views
Martin Hope
leogama
Asked: 2023-11-24 22:22:33 +0800 CST

如何为 Linux 控制台、登录屏幕 (GDM) 和桌面会话 (GNOME/Wayland/XWayland) 永久设置自定义键盘布局

  • 5

我想要简单的说明,了解如何在使用 GNOME/Wayland(自版本 23.10 起)的标准 Ubuntu 桌面安装中为所有这些用户界面永久且一致地设置自定义键盘布局配置:

  • Linux控制台
  • 登录屏幕 (GDM)
  • Wayland 会话*(GNOME Shell、Mutter 和 XWayland)

(*)系统范围和用户特定的

  1. 我应该将自定义键盘布局文件放在哪里以及采用哪种格式?

  2. 更改这些设置最直接的方法是什么?


localectl注意:我对 XKB、IM、包等有所了解。keyboard-configuration但是,在实践中,它是一个大混乱,文档稀缺。甚至有关该主题的 Debian wiki 页面也解释了很多,但没有给出明确的说明。

keyboard-layout
  • 1 个回答
  • 51 Views
Martin Hope
Masoud Borbor
Asked: 2023-10-23 20:46:36 +0800 CST

Ubuntu 使用不同的 unicode 吗?

  • 6

我多次使用波斯语字母 - (U+06C0),因此我尝试为其分配一个简单的键。我打开“/usr/share/X11/xkb/symbols/ir”并更改了一个我从未使用过的密钥,如下所示:

key <AC07> { [ Arabic_teh,      0x000006C0,                VoidSymbol   ] };

但它不是键入 ю,而是 U+044E (Unicode 0x0000044E)

我不明白为什么。Ubuntu 中的 Unicode-32 代码是否不同?!我打赌不会,但我不知道我的错误在哪里。如何将 AC07 键更改为键入 - (U+06C0) 而不是 ю (U+044E)

编辑:我使用带有红外键盘布局(波斯语)的 Ubuntu 23.10,我将上面提到的行放在文件“/usr/share/X11/xkb/symbols/ir”中第 74 行中名为 // 波斯语字母和符号的部分下

keyboard-layout
  • 1 个回答
  • 75 Views
Martin Hope
Никита Каргин
Asked: 2022-10-09 20:57:50 +0800 CST

为什么在Openbox开始时布局的变化没有连接

  • 1

我使用昨天从官方存储库下载的 Ubuntu 22.04.1 在我的计算机上安装了 Openbox 而不是 Gnome。我已经通过 apt 安装了 openbox,我使用 LightDM 来选择 openbox 而不是 Gnome。

我尝试使用此命令添加另一个布局:

setxkbmap -layout us,ru -variant -option grp:alt_shift_toggle

如果我直接在终端中执行它,效果很好。但我希望它从系统开始,而不是每次启动计算机时都编写它。所以我把它放在 ~/.config/openbox/autostart 里面我还放了一些其他有用的命令。所以它就像:

xinput set-prop "Elan Touchpad" "libinput Tapping Enabled" 1 &
setxkbmap -layout us,ru -variant -option grp:alt_shift_toggle &
lxpanel &
xfce4-power-manager &

第一行激活点击我的触摸板。

第三行开始 lxpanel

第四行启动 xfce 电源管理器

所有这些命令都正常执行。但第二行不是。每次我启动电脑我都无法切换语言。但是如果我手动执行 ~/.config/openbox/autostart ,它可以正常工作。这里有什么问题?

keyboard-layout
  • 1 个回答
  • 21 Views
Martin Hope
les_h
Asked: 2022-04-20 08:26:13 +0800 CST

多种语言的屏幕键盘

  • 1

我偶尔想输入物理键盘以外的字符集,似乎板载应该是一个很好的解决方案。我的系统上安装了几种语言,但单击语言键(键盘右侧的?)只显示英语,即系统上的活动语言。如何在不更改整个系统语言的情况下让其他语言出现在该列表中?

我在 Ubuntu 21.10

我目前正在使用屏幕键盘(请参阅:https ://help.ubuntu.com/stable/ubuntu-help/keyboard-osk.html ),事实证明它与板载分开。

带有打开的语言选择菜单的屏幕键盘,仅显示英语

此图像显示了带有语言菜单的键盘。单击“区域和语言设置”进入系统偏好设置,我安装了我想要的语言。我知道它们在系统上,因为我不小心将我的系统语言简单地设置为其中一种。它们不会显示在键盘的菜单上。

keyboard-layout
  • 1 个回答
  • 116 Views
Martin Hope
João Pimentel Ferreira
Asked: 2022-03-12 12:51:37 +0800 CST

是否有任何 GUI 键盘布局定制器?

  • 1

我知道我可以使用XKB拥有自己的键盘布局,但是这个过程很麻烦。

是否有任何 GUI 软件可以自定义键盘布局(例如用于交换键)?

最好用于 Ubuntu 20.04。

keyboard-layout
  • 1 个回答
  • 102 Views
Martin Hope
Pavel Schriber
Asked: 2022-02-23 22:22:23 +0800 CST

Budgie 21.10 切换键盘布局问题

  • 1

我有 2 种布局 - 英语和俄语。重新启动后,即使键盘指示灯显示 RU,我也无法输入俄语。从输入源中删除 RU 键盘并再次添加它会有所帮助。但直到下一次重新启动。将区域格式从英国更改为俄罗斯并没有帮助。重新排序输入源也没有效果。在过去的 10 年里,我在使用其他 Ubuntu 版本时从未遇到过这个问题。

keyboard-layout
  • 2 个回答
  • 720 Views
Martin Hope
Radovan Bezak
Asked: 2022-01-04 01:27:58 +0800 CST

相同的键盘布局在不同的计算机上是不同的

  • 1

最近我收到了一台安装了 Ubuntu 18.04.06 LTS 的计算机,我无法重新安装它。

当我将键盘布局设置为 时Slovak,我得到了这个:

新 PC 上的斯洛伐克语布局

这与我习惯的完全不同。除了必须按 AltGr 而不是 Shift 来键入数字、完全不同的符号映射之外,这个键盘是 QWERTY。平原Slovak应该是QWERTZ。对于 QWERTY,有一些Slovak QWERTY选项。这意味着我无法在该计算机上选择斯洛伐克语 QWERTZ 布局,所有选择都会导致 QWERTY 字母布局。

这是我在选择Slovak布局时所期望的: 预期的斯洛伐克语布局,来自我的个人电脑 这是我个人 Ubuntu 20.04.2 LTS 计算机的屏幕截图。此外,当我Slovak在其他计算机上键入布局时,这是熟悉的行为。

这怎么可能发生?我能做些什么呢?我尝试在“安装语言”对话框中删除然后重新添加斯洛伐克语,但没有帮助。

setxkbmap -query -v 10:

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us,sk,us
variant:    ,,
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+sk:2+us:3+inet(evdev)
geometry:   pc(pc105)
rules:      evdev
model:      pc105
layout:     us,sk,us
variant:    ,,

cat /etc/default/keyboard:

XKBLAYOUT=us,sk
BACKSPACE=guess
XKBVARIANT=,
keyboard-layout
  • 1 个回答
  • 55 Views
Martin Hope
Rasmus
Asked: 2021-09-18 14:30:55 +0800 CST

在 Wayland 下将一个组合键重新映射到另一个组合,例如 AltGr+C -> Ctrl+C

  • 5

TL;博士

在 Wayland 下,我可以以某种方式绑定AltGr + C到Ctrl + C吗?

细节

我基本上想问这个问题,但是对于 Wayland 上的 GNOME。这意味着涉及AutoKey和xbindkeys的答案将不起作用,因为在 Wayland 下都不起作用。

背景

我想重新映射一些键以最终更好地利用CapsLock.

我的计划是映射CapsLock到AltGr,然后按照这个来获得类似 vim 的键绑定。在 Wayland 上,这种重新映射可以通过 XKB 文件完成(参见链接)。

但是,我也想CapsLock用于复制/粘贴。目前,我已将其映射到Ctrl(使用 XKB 文件)。这使CapsLock + C整个系统的工作顺利进行,我想保留这一点。

所以:CapsLock映射到AltGr,我想Capslock (= AltGr) + C充当Ctrl + C。

我的问题

在 Wayland 下,我可以以某种方式绑定AltGr + C到Ctrl + C吗?

(不只是重新绑定AltGr到Ctrl,因为那样会破坏目的)

Q 的另一个例子

在 latin 的 XKB 文件中,为我的密钥/usr/share/X11/xkb/symbols/latin定义了以下行为:Q

key <AD01>  { [ q, Q, at, Greek_OMEGA ] };

这表明密钥有四个可能的输出:

  1. 单独按下,它会产生q.
  2. 按下Shift,它产生Q。
  3. 按下AltGr,它产生@。
  4. 按下AltGr + Shift,它产生Ω。

基本上我想要实现的是,当Q被按下时AltGr,它不会产生@但是Ctrl + Q。

keyboard-layout
  • 1 个回答
  • 1057 Views
Martin Hope
koyakun
Asked: 2021-08-05 21:45:55 +0800 CST

为什么日文键盘箭头键在 LibreOffice Calc 中滚动,但使用美式键盘布局移动单元格?

  • 1

升级到 Ubuntu 21.04 后,我的 USB 日语 108 键键盘上的箭头键在 LibreOffice Calc 中滚动,好像滚动锁定已打开(即使滚动锁定灯未亮起),而不是移动选定的单元格。(实际上,美国国际键盘布局也会发生这种情况。)箭头键在其他程序中按预期工作,包括 LibreOffice Writer。

如果我切换到默认的美式键盘布局,箭头键可以正常工作:移动选定的单元格。

我试过grp_led:scroll从XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"in 中删除,如此处/etc/default/keyboard所述,但它没有解决它。

我还尝试按照此处的说明卸载 LibreOffice 并删除配置文件,但这也没有解决问题。

这在 Ubuntu 20.10 中不是问题,因此与升级相关的某些内容发生了变化。

为什么会发生这种情况,我该如何解决?

keyboard-layout
  • 1 个回答
  • 65 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve