我如何恢复丢失的 AltGr 键盘输入功能?

我如何恢复丢失的 AltGr 键盘输入功能?

这个问题与安装 Xubuntu 16.04.3 LTS 和当前内核 4.4.0-116-generic x86_64 有关。我正在运行联想笔记本电脑 W530,键盘是德国键盘(QWERTZU)。

创刊号

我安装了一个商业程序的新版本,该程序在键盘输入方面与我迄今为止使用的所有其他 Ubuntu 程序(包括该程序的先前版本)不同:它抑制了死键,即,按两次这些键不会单独产生这些重音,按一次这些键后再按一个已知的带有该重音的字符也不会产生带有该字符的重音版本。

不幸的是,该程序中经常使用插入符号 ^、akut ´ 和 gravis `。我联系了该程序的支持人员。他们无法在 Ubuntu 18.04 上重现此问题,并要求我提供键盘和语言设置的确切设置。

在缩小问题范围的试验过程中出现了一些问题

我搜索了很久,仍然没有找到一种方法来明确地传达我的计算机上有效的语言设置。我仍在寻找一些命令或列出哪些系统文件来明确地传达这些系统设置。我只能从 GUI 程序中截取屏幕截图来设置键盘设置和国家/地区设置。

在试验键盘时,为了在其他程序(如 LibreOffice、Mousepad 和 Thunderbird)中传达其结果,我尝试了 、 和 组合键中的所有键,ShiftAlt仔细AltGr观察了是否存在“死键”以及在哪里存在“死键”(如果下一个字符与该特殊功能结合使用,则会产生一个动作)。

我发现了以下结果:

最上行下方的按键产生(例如在鼠标垫或 Thunderbird 中)

shifted:        ° ! " § $ % & / ( ) = ? `
unshifted:      ^ 1 2 3 4 5 6 7 8 9 0 ß ´
shift+AltGr:    ″ ¡ ⅛ £ ¤ ⅜ ⅝ ⅞ ™ ± ° ¿ ˛
with AltGr:     ′ ¹ ² ³ ¼ ½ ¬ { [ ] } \ ¸

Tab 键行:

shifted:        Q W E R T Z U I O P Ü * 
unshifted:      q w e r t z u i o p ü +
shift+AltGr:    Ω Ł € ® Ŧ ¥ ↑ ı Ø Þ ° ¯
with AltGr:     @ ł € ¶ ŧ ← ↓ → ø þ " ~

大写锁定键行

shifted:        A S D F G H J K L Ö Ä '
unshifted:      a s d f g h j k l ö ä #
shift+AltGr:    Æ ẞ Ð ª Ŋ Ħ ˙ & Ł ̣  ˇ ˘      (the one belonging to J the last three Ö, Ä and ' and act like dead keys for certain other keys like ȧạčŏ) 
with AltGr:     æ ſ ð đ ŋ ħ ̣  ĸ ł ˝ ^ ’      (those belonging to j, ö and ä act like dead keys for certain other keys like ạőĉ)

Shift 键所在行

shifted:        > Y X C V B N M ; : _
unshifted:      < y x c v b n m , . -
shift+AltGr:    ¦ › ‹ © ‚ ‘ ’ º × ÷ —
with AltGr:     | » « ¢ „ “ ” µ · … –         (the tree dots are produced by AltGr+.)

经过大量的实验,我最终一定是搞混了什么,因为现在我再也无法产生AltGrShiftAltGr结果了。我一定是无意中改变了一些东西——但那到底是什么,我怎么才能回到以前的样子呢?

我的问题

  1. 我如何明确地传达我当前键盘配置的实际设置?1a. 运行哪些命令来传达它们的输出?1b. 我应该传达哪些系统文件的内容?

  2. 我怎样才能将组合键的功能恢复AltGr到以前的样子(如上所述)?

关于在 Ubuntu 环境中学习编程的更多问题

如果有人读了这篇文章,可以从编程的角度向我解释一下如何处理这些死键:根据我读过的一篇文章(指新的 Wayland 系统),程序可以通过不同的方式了解键盘操作,当它们具有焦点时:一种是返回“未消化”的键盘事件,另一种是处理“消化的键盘事件”,即只有在按下死键的字符后才会发生事件,结果是带有重音的字符(如果按下两次或第二个字符为空格,则为重音本身)。但我不知道我的哪个应用程序使用了 Wayland,据我所知,大多数 Ubuntu 应用程序要么使用 GTK,要么使用 QT,而这些都依赖于 X-Window,而 X-Window 可能是 Wayland 的前身。对它们之间关系的一些澄清也将非常有帮助。

  1. 为了获取主要的“未消化”键事件,需要调用的函数名称是什么?为了获取“消化”键盘操作,需要调用的函数名称是什么?

答案1

这只是第 2 部分的部分答案:“我如何将 AltGr 组合键的工作恢复到以前的状态(如上所述)?”

  1. 使用可以执行 sudo 的帐户登录。
  2. 发出命令sudo dpkg-reconfigure keyboard-configuration
  3. 这将带您浏览与终端式控制台上的初始安装类似的屏幕。要导航到该ok选项,请使用标签关键是。在屏幕上使用这些设置(每个屏幕一个问题)
  4. 这些解剖学特征的模型:通用的PC 评分标准 105 项(国际)
  5. 塔斯塔特的受益者:德文
  6. 口味:德文(第一个给定的选择)
  7. 味道,作为 AltGr 的功能:关税标准
  8. 创作-品味:无创作品味
  9. 关于 Ctl-Alt-Delete 的问题:

终端上显示了这些消息:

Your console font configuration will be updated the next time your system boots. If you want to update it now, run 'setupcon' from a virtual console.

update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults

insserv: script lpd: service cups already provided!
update-initramfs: deferring update (trigger activated)

Trigger für initramfs-tools (0.122ubuntu8.13) werden verarbeitet ...

update-initramfs: Generating /boot/initrd.img-4.4.0-140-generic

您必须重新启动才能使这些设置生效。

然而,两天后我遇到了同样的问题,而且我没有调整中间的设置:AltGr 组合键不再起作用。由于我的解决方法需要相当多的步骤,因此一些如何防止这种情况的分析将非常有帮助。这些是我发现的一些系统设置,它们可能会告诉您一些有关键盘和语言设置的信息但他们有什么问题呢?

a@W530:~$  echo $LANG
de_DE.UTF-8
a@W530:~$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
a@W530:~$ xmodmap -pk
There are 10 KeySyms per KeyCode; KeyCodes range from 8 to 255.

    KeyCode Keysym (Keysym) ...
    Value   Value   (Name)  ...

      8     
      9     0xff1b (Escape) 0x0000 (NoSymbol)   0xff1b (Escape) 
     10     0x0031 (1)  0x0021 (exclam) 0x0031 (1)  0x0021 (exclam)0x00b9 (onesuperior) 0x00a1 (exclamdown) 
     11     0x0032 (2)  0x0022 (quotedbl)   0x0032 (2)  0x0040 (at) 0x00b2 (twosuperior)    0x0ac3 (oneeighth)  
     12     0x0033 (3)  0x00a7 (section)    0x0033 (3)  0x0023 (numbersign) 0x00b3 (threesuperior)  0x00a3 (sterling)   
     13     0x0034 (4)  0x0024 (dollar) 0x0034 (4)  0x0024 (dollar)0x00bc (onequarter)  0x00a4 (currency)   
     14     0x0035 (5)  0x0025 (percent)    0x0035 (5)  0x0025 (percent)    0x00bd (onehalf)    0x0ac4 (threeeighths)   
     15     0x0036 (6)  0x0026 (ampersand)  0x0036 (6)  0x005e (asciicircum)    0x00ac (notsign)    0x0ac5 (fiveeighths)    
     16     0x0037 (7)  0x002f (slash)  0x0037 (7)  0x0026 (ampersand)  0x007b (braceleft)  0x0ac6 (seveneighths)   
     17     0x0038 (8)  0x0028 (parenleft)  0x0038 (8)  0x002a (asterisk)   0x005b (bracketleft)    0x0ac9 (trademark)  
     18     0x0039 (9)  0x0029 (parenright) 0x0039 (9)  0x0028 (parenleft)  0x005d (bracketright)   0x00b1 (plusminus)  
     19     0x0030 (0)  0x003d (equal)  0x0030 (0)  0x0029 (parenright) 0x007d (braceright) 0x00b0 (degree) 
     20     0x00df (ssharp) 0x003f (question)   0x002d (minus)  0x005f (underscore) 0x005c (backslash)  0x00bf (questiondown)   0x1001e9e (U1E9E)   
     21     0xfe51 (dead_acute) 0xfe50 (dead_grave) 0x003d (equal)  0x002b (plus)   0xfe5b (dead_cedilla)   0xfe5c (dead_ogonek)    
     22     0xff08 (BackSpace)  0xff08 (BackSpace)  0xff08 (BackSpace)  0xff08 (BackSpace)  
     23     0xff09 (Tab)    0xfe20 (ISO_Left_Tab)   0xff09 (Tab)    0xfe20 (ISO_Left_Tab)   
     24     0x0071 (q)  0x0051 (Q)  0x0071 (q)  0x0051 (Q)  0x0040 (at) 0x07d9 (Greek_OMEGA)    
     25     0x0077 (w)  0x0057 (W)  0x0077 (w)  0x0057 (W)  0x01b3 (lstroke)    0x01a3 (Lstroke)    
     26     0x0065 (e)  0x0045 (E)  0x0065 (e)  0x0045 (E)  0x20ac (EuroSign)   0x20ac (EuroSign)   
     27     0x0072 (r)  0x0052 (R)  0x0072 (r)  0x0052 (R)  0x00b6 (paragraph)  0x00ae (registered) 
     28     0x0074 (t)  0x0054 (T)  0x0074 (t)  0x0054 (T)  0x03bc (tslash) 0x03ac (Tslash) 
     29     0x007a (z)  0x005a (Z)  0x0079 (y)  0x0059 (Y)  0x08fb (leftarrow)  0x00a5 (yen)    
     30     0x0075 (u)  0x0055 (U)  0x0075 (u)  0x0055 (U)  0x08fe (downarrow)  0x08fc (uparrow)    
     31     0x0069 (i)  0x0049 (I)  0x0069 (i)  0x0049 (I)  0x08fd (rightarrow) 0x02b9 (idotless)   
     32     0x006f (o)  0x004f (O)  0x006f (o)  0x004f (O)  0x00f8 (oslash) 0x00d8 (Oslash) 
     33     0x0070 (p)  0x0050 (P)  0x0070 (p)  0x0050 (P)  0x00fe (thorn)  0x00de (THORN)  
     34     0x00fc (udiaeresis) 0x00dc (Udiaeresis) 0x005b (bracketleft)    0x007b (braceleft)  0xfe57 (dead_diaeresis) 0xfe58 (dead_abovering)
     35     0x002b (plus)   0x002a (asterisk)   0x005d (bracketright)   0x007d (braceright) 0x007e (asciitilde) 0x00af (macron) 
     36     0xff0d (Return) 0x0000 (NoSymbol)   0xff0d (Return) 
     37     0xffe3 (Control_L)  0x0000 (NoSymbol)   0xffe3 (Control_L)  
     38     0x0061 (a)  0x0041 (A)  0x0061 (a)  0x0041 (A)  0x00e6 (ae) 0x00c6 (AE) 
     39     0x0073 (s)  0x0053 (S)  0x0073 (s)  0x0053 (S)  0x100017f (U017F)   0x1001e9e (U1E9E)   
     40     0x0064 (d)  0x0044 (D)  0x0064 (d)  0x0044 (D)  0x00f0 (eth)    0x00d0 (ETH)    
     41     0x0066 (f)  0x0046 (F)  0x0066 (f)  0x0046 (F)  0x01f0 (dstroke)    0x00aa (ordfeminine)    
     42     0x0067 (g)  0x0047 (G)  0x0067 (g)  0x0047 (G)  0x03bf (eng)    0x03bd (ENG)    
     43     0x0068 (h)  0x0048 (H)  0x0068 (h)  0x0048 (H)  0x02b1 (hstroke)    0x02a1 (Hstroke)    
     44     0x006a (j)  0x004a (J)  0x006a (j)  0x004a (J)  0xfe60 (dead_belowdot)  0xfe56 (dead_abovedot)  
     45     0x006b (k)  0x004b (K)  0x006b (k)  0x004b (K)  0x03a2 (kra)    0x0026 (ampersand)  
     46     0x006c (l)  0x004c (L)  0x006c (l)  0x004c (L)  0x01b3 (lstroke)    0x01a3 (Lstroke)    
     47     0x00f6 (odiaeresis) 0x00d6 (Odiaeresis) 0x003b (semicolon)  0x003a (colon)  0xfe59 (dead_doubleacute)   0xfe60 (dead_belowdot)  
     48     0x00e4 (adiaeresis) 0x00c4 (Adiaeresis) 0x0027 (apostrophe) 0x0022 (quotedbl)   0xfe52 (dead_circumflex)    0xfe5a (dead_caron) 
     49     0xfe52 (dead_circumflex)    0x00b0 (degree) 0x0060 (grave)  0x007e (asciitilde) 0x1002032 (U2032)   0x1002033 (U2033)   
     50     0xffe1 (Shift_L)    0x0000 (NoSymbol)   0xffe1 (Shift_L)
     51     0x0023 (numbersign) 0x0027 (apostrophe) 0x005c (backslash)  0x007c (bar)    0x0ad1 (rightsinglequotemark)   0xfe55 (dead_breve) 
     52     0x0079 (y)  0x0059 (Y)  0x007a (z)  0x005a (Z)  0x00bb (guillemotright) 0x100203a (U203A)   
     53     0x0078 (x)  0x0058 (X)  0x0078 (x)  0x0058 (X)  0x00ab (guillemotleft)  0x1002039 (U2039)   
     54     0x0063 (c)  0x0043 (C)  0x0063 (c)  0x0043 (C)  0x00a2 (cent)   0x00a9 (copyright)  
     55     0x0076 (v)  0x0056 (V)  0x0076 (v)  0x0056 (V)  0x0afe (doublelowquotemark) 0x0afd (singlelowquotemark) 
     56     0x0062 (b)  0x0042 (B)  0x0062 (b)  0x0042 (B)  0x0ad2 (leftdoublequotemark)    0x0ad0 (leftsinglequotemark)    
     57     0x006e (n)  0x004e (N)  0x006e (n)  0x004e (N)  0x0ad3 (rightdoublequotemark)   0x0ad1 (rightsinglequotemark)   
     58     0x006d (m)  0x004d (M)  0x006d (m)  0x004d (M)  0x00b5 (mu) 0x00ba (masculine)  
     59     0x002c (comma)  0x003b (semicolon)  0x002c (comma)  0x003c (less)   0x00b7 (periodcentered) 0x00d7 (multiply)   
     60     0x002e (period) 0x003a (colon)  0x002e (period) 0x003e (greater)0x1002026 (U2026)   0x00f7 (division)   
     61     0x002d (minus)  0x005f (underscore) 0x002f (slash)  0x003f (question)   0x0aaa (endash) 0x0aa9 (emdash) 
     62     0xffe2 (Shift_R)    0x0000 (NoSymbol)   0xffe2 (Shift_R)
     63     0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0x1008fe21 (XF86ClearGrab)  0xffaa (KP_Multiply)    0xffaa (KP_Multiply)    0x1008fe21 (XF86ClearGrab)  
     64     0xffe9 (Alt_L)  0xffe7 (Meta_L) 0xffe9 (Alt_L)  0xffe7 (Meta_L)
     65     0x0020 (space)  0x0000 (NoSymbol)   0x0020 (space)  
     66     0xffe5 (Caps_Lock)  0x0000 (NoSymbol)   0xffe5 (Caps_Lock)  
     67     0xffbe (F1) 0xffbe (F1) 0xffbe (F1) 0xffbe (F1) 0xffbe (F1) 0xffbe (F1) 0x1008fe01 (XF86Switch_VT_1)    0xffbe (F1) 0xffbe (F1) 0x1008fe01 (XF86Switch_VT_1)    
     68     0xffbf (F2) 0xffbf (F2) 0xffbf (F2) 0xffbf (F2) 0xffbf (F2) 0xffbf (F2) 0x1008fe02 (XF86Switch_VT_2)    0xffbf (F2) 0xffbf (F2) 0x1008fe02 (XF86Switch_VT_2)    
     69     0xffc0 (F3) 0xffc0 (F3) 0xffc0 (F3) 0xffc0 (F3) 0xffc0 (F3) 0xffc0 (F3) 0x1008fe03 (XF86Switch_VT_3)    0xffc0 (F3) 0xffc0 (F3) 0x1008fe03 (XF86Switch_VT_3)    
     70     0xffc1 (F4) 0xffc1 (F4) 0xffc1 (F4) 0xffc1 (F4) 0xffc1 (F4) 0xffc1 (F4) 0x1008fe04 (XF86Switch_VT_4)    0xffc1 (F4) 0xffc1 (F4) 0x1008fe04 (XF86Switch_VT_4)    
     71     0xffc2 (F5) 0xffc2 (F5) 0xffc2 (F5) 0xffc2 (F5) 0xffc2 (F5) 0xffc2 (F5) 0x1008fe05 (XF86Switch_VT_5)    0xffc2 (F5) 0xffc2 (F5) 0x1008fe05 (XF86Switch_VT_5)    
     72     0xffc3 (F6) 0xffc3 (F6) 0xffc3 (F6) 0xffc3 (F6) 0xffc3 (F6) 0xffc3 (F6) 0x1008fe06 (XF86Switch_VT_6)    0xffc3 (F6) 0xffc3 (F6) 0x1008fe06 (XF86Switch_VT_6)    
     73     0xffc4 (F7) 0xffc4 (F7) 0xffc4 (F7) 0xffc4 (F7) 0xffc4 (F7) 0xffc4 (F7) 0x1008fe07 (XF86Switch_VT_7)    0xffc4 (F7) 0xffc4 (F7) 0x1008fe07 (XF86Switch_VT_7)    
     74     0xffc5 (F8) 0xffc5 (F8) 0xffc5 (F8) 0xffc5 (F8) 0xffc5 (F8) 0xffc5 (F8) 0x1008fe08 (XF86Switch_VT_8)    0xffc5 (F8) 0xffc5 (F8) 0x1008fe08 (XF86Switch_VT_8)    
     75     0xffc6 (F9) 0xffc6 (F9) 0xffc6 (F9) 0xffc6 (F9) 0xffc6 (F9) 0xffc6 (F9) 0x1008fe09 (XF86Switch_VT_9)    0xffc6 (F9) 0xffc6 (F9) 0x1008fe09 (XF86Switch_VT_9)    
     76     0xffc7 (F10)    0xffc7 (F10)    0xffc7 (F10)    0xffc7 (F10)    0xffc7 (F10)    0xffc7 (F10)    0x1008fe0a (XF86Switch_VT_10)   0xffc7 (F10)    0xffc7 (F10)    0x1008fe0a (XF86Switch_VT_10)   
     77     0xff7f (Num_Lock)   0x0000 (NoSymbol)   0xff7f (Num_Lock)   
     78     0xff14 (Scroll_Lock)    0x0000 (NoSymbol)   0xff14 (Scroll_Lock)    
     79     0xff95 (KP_Home)    0xffb7 (KP_7)   0xff95 (KP_Home)    0xffb7 (KP_7)   
     80     0xff97 (KP_Up)  0xffb8 (KP_8)   0xff97 (KP_Up)  0xffb8 (KP_8)   
     81     0xff9a (KP_Prior)   0xffb9 (KP_9)   0xff9a (KP_Prior)   0xffb9 (KP_9)   
     82     0xffad (KP_Subtract)    0xffad (KP_Subtract)    0xffad (KP_Subtract)    0xffad (KP_Subtract)    0xffad (KP_Subtract)    0xffad (KP_Subtract)    0x1008fe23 (XF86Prev_VMode) 0xffad (KP_Subtract)    0xffad (KP_Subtract)    0x1008fe23 (XF86Prev_VMode) 
     83     0xff96 (KP_Left)    0xffb4 (KP_4)   0xff96 (KP_Left)    0xffb4 (KP_4)   
     84     0xff9d (KP_Begin)   0xffb5 (KP_5)   0xff9d (KP_Begin)   0xffb5 (KP_5)   
     85     0xff98 (KP_Right)   0xffb6 (KP_6)   0xff98 (KP_Right)   0xffb6 (KP_6)   
     86     0xffab (KP_Add) 0xffab (KP_Add) 0xffab (KP_Add) 0xffab (KP_Add)0xffab (KP_Add)  0xffab (KP_Add) 0x1008fe22 (XF86Next_VMode) 0xffab (KP_Add)0xffab (KP_Add)  0x1008fe22 (XF86Next_VMode) 
     87     0xff9c (KP_End) 0xffb1 (KP_1)   0xff9c (KP_End) 0xffb1 (KP_1)   
     88     0xff99 (KP_Down)    0xffb2 (KP_2)   0xff99 (KP_Down)    0xffb2 (KP_2)   
     89     0xff9b (KP_Next)    0xffb3 (KP_3)   0xff9b (KP_Next)    0xffb3 (KP_3)   
     90     0xff9e (KP_Insert)  0xffb0 (KP_0)   0xff9e (KP_Insert)  0xffb0 (KP_0)   
     91     0xff9f (KP_Delete)  0xffac (KP_Separator)   0xff9f (KP_Delete)  0xffac (KP_Separator)   
     92     0xfe03 (ISO_Level3_Shift)   0x0000 (NoSymbol)   0xfe03 (ISO_Level3_Shift)   
     93     
     94     0x003c (less)   0x003e (greater)    0x003c (less)   0x003e (greater)    0x007c (bar)    0x00a6 (brokenbar)  0x007c (bar)    0x00a6 (brokenbar)  
     95     0xffc8 (F11)    0xffc8 (F11)    0xffc8 (F11)    0xffc8 (F11)    0xffc8 (F11)    0xffc8 (F11)    0x1008fe0b (XF86Switch_VT_11)   0xffc8 (F11)    0xffc8 (F11)    0x1008fe0b (XF86Switch_VT_11)   
     96     0xffc9 (F12)    0xffc9 (F12)    0xffc9 (F12)    0xffc9 (F12)    0xffc9 (F12)    0xffc9 (F12)    0x1008fe0c (XF86Switch_VT_12)   0xffc9 (F12)    0xffc9 (F12)    0x1008fe0c (XF86Switch_VT_12)   
     97     
     98     0xff26 (Katakana)   0x0000 (NoSymbol)   0xff26 (Katakana)   
     99     0xff25 (Hiragana)   0x0000 (NoSymbol)   0xff25 (Hiragana)   
    100     0xff23 (Henkan_Mode)    0x0000 (NoSymbol)   0xff23 (Henkan_Mode)    
    101     0xff27 (Hiragana_Katakana)  0x0000 (NoSymbol)   0xff27 (Hiragana_Katakana)  
    102     0xff22 (Muhenkan)   0x0000 (NoSymbol)   0xff22 (Muhenkan)   
    103     
    104     0xff8d (KP_Enter)   0x0000 (NoSymbol)   0xff8d (KP_Enter)   
    105     0xffe4 (Control_R)  0x0000 (NoSymbol)   0xffe4 (Control_R)  
    106     0xffaf (KP_Divide)  0xffaf (KP_Divide)  0xffaf (KP_Divide)  0xffaf (KP_Divide)  0xffaf (KP_Divide)  0xffaf (KP_Divide)  0x1008fe20 (XF86Ungrab) 0xffaf (KP_Divide)  0xffaf (KP_Divide)  0x1008fe20 (XF86Ungrab) 
    107     0xff61 (Print)  0xff15 (Sys_Req)    0xff61 (Print)  0xff15 (Sys_Req)    
    108     0xfe03 (ISO_Level3_Shift)   0x0000 (NoSymbol)   0xfe03 (ISO_Level3_Shift)   
    109     0xff0a (Linefeed)   0x0000 (NoSymbol)   0xff0a (Linefeed)   
    110     0xff50 (Home)   0x0000 (NoSymbol)   0xff50 (Home)   
    111     0xff52 (Up) 0x0000 (NoSymbol)   0xff52 (Up) 
    112     0xff55 (Prior)  0x0000 (NoSymbol)   0xff55 (Prior)  
    113     0xff51 (Left)   0x0000 (NoSymbol)   0xff51 (Left)   
    114     0xff53 (Right)  0x0000 (NoSymbol)   0xff53 (Right)  
    115     0xff57 (End)    0x0000 (NoSymbol)   0xff57 (End)    
    116     0xff54 (Down)   0x0000 (NoSymbol)   0xff54 (Down)   
    117     0xff56 (Next)   0x0000 (NoSymbol)   0xff56 (Next)   
    118     0xff63 (Insert) 0x0000 (NoSymbol)   0xff63 (Insert) 
    119     0xffff (Delete) 0x0000 (NoSymbol)   0xffff (Delete) 
    120     
    121     0x1008ff12 (XF86AudioMute)  0x0000 (NoSymbol)   0x1008ff12 (XF86AudioMute)  
    122     0x1008ff11 (XF86AudioLowerVolume)   0x0000 (NoSymbol)   0x1008ff11 (XF86AudioLowerVolume)   
    123     0x1008ff13 (XF86AudioRaiseVolume)   0x0000 (NoSymbol)   0x1008ff13 (XF86AudioRaiseVolume)   
    124     0x1008ff2a (XF86PowerOff)   0x0000 (NoSymbol)   0x1008ff2a (XF86PowerOff)   
    125     0xffbd (KP_Equal)   0x0000 (NoSymbol)   0xffbd (KP_Equal)   
    126     0x00b1 (plusminus)  0x0000 (NoSymbol)   0x00b1 (plusminus)  
    127     0xff13 (Pause)  0xff6b (Break)  0xff13 (Pause)  0xff6b (Break)  
    128     0x1008ff4a (XF86LaunchA)    0x0000 (NoSymbol)   0x1008ff4a (XF86LaunchA)    
    129     0xffae (KP_Decimal) 0xffae (KP_Decimal) 0xffae (KP_Decimal) 0xffae (KP_Decimal) 
    130     0xff31 (Hangul) 0x0000 (NoSymbol)   0xff31 (Hangul) 
    131     0xff34 (Hangul_Hanja)   0x0000 (NoSymbol)   0xff34 (Hangul_Hanja)   
    132     
    133     0xffeb (Super_L)    0x0000 (NoSymbol)   0xffeb (Super_L)
    134     0xffec (Super_R)    0x0000 (NoSymbol)   0xffec (Super_R)
    135     0xff67 (Menu)   0x0000 (NoSymbol)   0xff67 (Menu)   
    136     0xff69 (Cancel) 0x0000 (NoSymbol)   0xff69 (Cancel) 
    137     0xff66 (Redo)   0x0000 (NoSymbol)   0xff66 (Redo)   
    138     0x1005ff70 (SunProps)   0x0000 (NoSymbol)   0x1005ff70 (SunProps)   
    139     0xff65 (Undo)   0x0000 (NoSymbol)   0xff65 (Undo)   
    140     0x1005ff71 (SunFront)   0x0000 (NoSymbol)   0x1005ff71 (SunFront)   
    141     0x1008ff57 (XF86Copy)   0x0000 (NoSymbol)   0x1008ff57 (XF86Copy)   
    142     0x1008ff6b (XF86Open)   0x0000 (NoSymbol)   0x1008ff6b (XF86Open)   
    143     0x1008ff6d (XF86Paste)  0x0000 (NoSymbol)   0x1008ff6d (XF86Paste)  
    144     0xff68 (Find)   0x0000 (NoSymbol)   0xff68 (Find)   
    145     0x1008ff58 (XF86Cut)    0x0000 (NoSymbol)   0x1008ff58 (XF86Cut)    
    146     0xff6a (Help)   0x0000 (NoSymbol)   0xff6a (Help)   
    147     0x1008ff65 (XF86MenuKB) 0x0000 (NoSymbol)   0x1008ff65 (XF86MenuKB) 
    148     0x1008ff1d (XF86Calculator) 0x0000 (NoSymbol)   0x1008ff1d (XF86Calculator) 
    149     
    150     0x1008ff2f (XF86Sleep)  0x0000 (NoSymbol)   0x1008ff2f (XF86Sleep)  
    151     0x1008ff2b (XF86WakeUp) 0x0000 (NoSymbol)   0x1008ff2b (XF86WakeUp) 
    152     0x1008ff5d (XF86Explorer)   0x0000 (NoSymbol)   0x1008ff5d (XF86Explorer)   
    153     0x1008ff7b (XF86Send)   0x0000 (NoSymbol)   0x1008ff7b (XF86Send)   
    154     
    155     0x1008ff8a (XF86Xfer)   0x0000 (NoSymbol)   0x1008ff8a (XF86Xfer)   
    156     0x1008ff41 (XF86Launch1)    0x0000 (NoSymbol)   0x1008ff41 (XF86Launch1)    
    157     0x1008ff42 (XF86Launch2)    0x0000 (NoSymbol)   0x1008ff42 (XF86Launch2)    
    158     0x1008ff2e (XF86WWW)    0x0000 (NoSymbol)   0x1008ff2e (XF86WWW)    
    159     0x1008ff5a (XF86DOS)    0x0000 (NoSymbol)   0x1008ff5a (XF86DOS)    
    160     0x1008ff2d (XF86ScreenSaver)    0x0000 (NoSymbol)   0x1008ff2d (XF86ScreenSaver)    
    161     0x1008ff74 (XF86RotateWindows)  0x0000 (NoSymbol)   0x1008ff74 (XF86RotateWindows)  
    162     0x1008ff7f (XF86TaskPane)   0x0000 (NoSymbol)   0x1008ff7f (XF86TaskPane)   
    163     0x1008ff19 (XF86Mail)   0x0000 (NoSymbol)   0x1008ff19 (XF86Mail)   
    164     0x1008ff30 (XF86Favorites)  0x0000 (NoSymbol)   0x1008ff30 (XF86Favorites)  
    165     0x1008ff33 (XF86MyComputer) 0x0000 (NoSymbol)   0x1008ff33 (XF86MyComputer) 
    166     0x1008ff26 (XF86Back)   0x0000 (NoSymbol)   0x1008ff26 (XF86Back)   
    167     0x1008ff27 (XF86Forward)    0x0000 (NoSymbol)   0x1008ff27 (XF86Forward)    
    168     
    169     0x1008ff2c (XF86Eject)  0x0000 (NoSymbol)   0x1008ff2c (XF86Eject)  
    170     0x1008ff2c (XF86Eject)  0x1008ff2c (XF86Eject)  0x1008ff2c (XF86Eject)  0x1008ff2c (XF86Eject)  
    171     0x1008ff17 (XF86AudioNext)  0x0000 (NoSymbol)   0x1008ff17 (XF86AudioNext)  
    172     0x1008ff14 (XF86AudioPlay)  0x1008ff31 (XF86AudioPause) 0x1008ff14 (XF86AudioPlay)  0x1008ff31 (XF86AudioPause) 
    173     0x1008ff16 (XF86AudioPrev)  0x0000 (NoSymbol)   0x1008ff16 (XF86AudioPrev)  
    174     0x1008ff15 (XF86AudioStop)  0x1008ff2c (XF86Eject)  0x1008ff15 (XF86AudioStop)  0x1008ff2c (XF86Eject)  
    175     0x1008ff1c (XF86AudioRecord)    0x0000 (NoSymbol)   0x1008ff1c (XF86AudioRecord)    
    176     0x1008ff3e (XF86AudioRewind)    0x0000 (NoSymbol)   0x1008ff3e (XF86AudioRewind)    
    177     0x1008ff6e (XF86Phone)  0x0000 (NoSymbol)   0x1008ff6e (XF86Phone)  
    178     
    179     0x1008ff81 (XF86Tools)  0x0000 (NoSymbol)   0x1008ff81 (XF86Tools)  
    180     0x1008ff18 (XF86HomePage)   0x0000 (NoSymbol)   0x1008ff18 (XF86HomePage)   
    181     0x1008ff73 (XF86Reload) 0x0000 (NoSymbol)   0x1008ff73 (XF86Reload) 
    182     0x1008ff56 (XF86Close)  0x0000 (NoSymbol)   0x1008ff56 (XF86Close)  
    183     
    184     
    185     0x1008ff78 (XF86ScrollUp)   0x0000 (NoSymbol)   0x1008ff78 (XF86ScrollUp)   
    186     0x1008ff79 (XF86ScrollDown) 0x0000 (NoSymbol)   0x1008ff79 (XF86ScrollDown) 
    187     0x0028 (parenleft)  0x0000 (NoSymbol)   0x0028 (parenleft)  
    188     0x0029 (parenright) 0x0000 (NoSymbol)   0x0029 (parenright) 
    189     0x1008ff68 (XF86New)    0x0000 (NoSymbol)   0x1008ff68 (XF86New)    
    190     0xff66 (Redo)   0x0000 (NoSymbol)   0xff66 (Redo)   
    191     0x1008ff81 (XF86Tools)  0x0000 (NoSymbol)   0x1008ff81 (XF86Tools)  
    192     0x1008ff45 (XF86Launch5)    0x0000 (NoSymbol)   0x1008ff45 (XF86Launch5)    
    193     0x1008ff46 (XF86Launch6)    0x0000 (NoSymbol)   0x1008ff46 (XF86Launch6)    
    194     0x1008ff47 (XF86Launch7)    0x0000 (NoSymbol)   0x1008ff47 (XF86Launch7)    
    195     0x1008ff48 (XF86Launch8)    0x0000 (NoSymbol)   0x1008ff48 (XF86Launch8)    
    196     0x1008ff49 (XF86Launch9)    0x0000 (NoSymbol)   0x1008ff49 (XF86Launch9)    
    197     
    198     0x1008ffb2 (XF86AudioMicMute)   0x0000 (NoSymbol)   0x1008ffb2 (XF86AudioMicMute)   
    199     0x1008ffa9 (XF86TouchpadToggle) 0x0000 (NoSymbol)   0x1008ffa9 (XF86TouchpadToggle) 
    200     0x1008ffb0 (XF86TouchpadOn) 0x0000 (NoSymbol)   0x1008ffb0 (XF86TouchpadOn) 
    201     0x1008ffb1 (XF86TouchpadOff)    0x0000 (NoSymbol)   0x1008ffb1 (XF86TouchpadOff)    
    202     
    203     0xff7e (Mode_switch)    0x0000 (NoSymbol)   0xff7e (Mode_switch)    
    204     0x0000 (NoSymbol)   0xffe9 (Alt_L)  0x0000 (NoSymbol)   0xffe9 (Alt_L)  
    205     0x0000 (NoSymbol)   0xffe7 (Meta_L) 0x0000 (NoSymbol)   0xffe7 (Meta_L) 
    206     0x0000 (NoSymbol)   0xffeb (Super_L)    0x0000 (NoSymbol)   0xffeb (Super_L)    
    207     0x0000 (NoSymbol)   0xffed (Hyper_L)    0x0000 (NoSymbol)   0xffed (Hyper_L)    
    208     0x1008ff14 (XF86AudioPlay)  0x0000 (NoSymbol)   0x1008ff14 (XF86AudioPlay)  
    209     0x1008ff31 (XF86AudioPause) 0x0000 (NoSymbol)   0x1008ff31 (XF86AudioPause) 
    210     0x1008ff43 (XF86Launch3)    0x0000 (NoSymbol)   0x1008ff43 (XF86Launch3)    
    211     0x1008ff44 (XF86Launch4)    0x0000 (NoSymbol)   0x1008ff44 (XF86Launch4)    
    212     0x1008ff4b (XF86LaunchB)    0x0000 (NoSymbol)   0x1008ff4b (XF86LaunchB)    
    213     0x1008ffa7 (XF86Suspend)    0x0000 (NoSymbol)   0x1008ffa7 (XF86Suspend)    
    214     0x1008ff56 (XF86Close)  0x0000 (NoSymbol)   0x1008ff56 (XF86Close)  
    215     0x1008ff14 (XF86AudioPlay)  0x0000 (NoSymbol)   0x1008ff14 (XF86AudioPlay)  
    216     0x1008ff97 (XF86AudioForward)   0x0000 (NoSymbol)   0x1008ff97 (XF86AudioForward)   
    217     
    218     0xff61 (Print)  0x0000 (NoSymbol)   0xff61 (Print)  
    219     
    220     0x1008ff8f (XF86WebCam) 0x0000 (NoSymbol)   0x1008ff8f (XF86WebCam) 
    221     
    222     
    223     0x1008ff19 (XF86Mail)   0x0000 (NoSymbol)   0x1008ff19 (XF86Mail)   
    224     0x1008ff8e (XF86Messenger)  0x0000 (NoSymbol)   0x1008ff8e (XF86Messenger)  
    225     0x1008ff1b (XF86Search) 0x0000 (NoSymbol)   0x1008ff1b (XF86Search) 
    226     0x1008ff5f (XF86Go) 0x0000 (NoSymbol)   0x1008ff5f (XF86Go) 
    227     0x1008ff3c (XF86Finance)    0x0000 (NoSymbol)   0x1008ff3c (XF86Finance)    
    228     0x1008ff5e (XF86Game)   0x0000 (NoSymbol)   0x1008ff5e (XF86Game)   
    229     0x1008ff36 (XF86Shop)   0x0000 (NoSymbol)   0x1008ff36 (XF86Shop)   
    230     
    231     0xff69 (Cancel) 0x0000 (NoSymbol)   0xff69 (Cancel) 
    232     0x1008ff03 (XF86MonBrightnessDown)  0x0000 (NoSymbol)   0x1008ff03 (XF86MonBrightnessDown)  
    233     0x1008ff02 (XF86MonBrightnessUp)    0x0000 (NoSymbol)   0x1008ff02 (XF86MonBrightnessUp)    
    234     0x1008ff32 (XF86AudioMedia) 0x0000 (NoSymbol)   0x1008ff32 (XF86AudioMedia) 
    235     0x1008ff59 (XF86Display)    0x0000 (NoSymbol)   0x1008ff59 (XF86Display)    
    236     0x1008ff04 (XF86KbdLightOnOff)  0x0000 (NoSymbol)   0x1008ff04 (XF86KbdLightOnOff)  
    237     0x1008ff06 (XF86KbdBrightnessDown)  0x0000 (NoSymbol)   0x1008ff06 (XF86KbdBrightnessDown)  
    238     0x1008ff05 (XF86KbdBrightnessUp)    0x0000 (NoSymbol)   0x1008ff05 (XF86KbdBrightnessUp)    
    239     0x1008ff7b (XF86Send)   0x0000 (NoSymbol)   0x1008ff7b (XF86Send)   
    240     0x1008ff72 (XF86Reply)  0x0000 (NoSymbol)   0x1008ff72 (XF86Reply)  
    241     0x1008ff90 (XF86MailForward)    0x0000 (NoSymbol)   0x1008ff90 (XF86MailForward)    
    242     0x1008ff77 (XF86Save)   0x0000 (NoSymbol)   0x1008ff77 (XF86Save)   
    243     0x1008ff5b (XF86Documents)  0x0000 (NoSymbol)   0x1008ff5b (XF86Documents)  
    244     0x1008ff93 (XF86Battery)    0x0000 (NoSymbol)   0x1008ff93 (XF86Battery)    
    245     0x1008ff94 (XF86Bluetooth)  0x0000 (NoSymbol)   0x1008ff94 (XF86Bluetooth)  
    246     0x1008ff95 (XF86WLAN)   0x0000 (NoSymbol)   0x1008ff95 (XF86WLAN)   
    247     
    248     
    249     
    250     
    251     
    252     
    253     
    254     
    255     
a@W530:~$ xmodmap -pp
There are 12 pointer buttons defined.

    Physical        Button
     Button          Code
        1              1
        2              2
        3              3
        4              4
        5              5
        6              6
        7              7
        8              8
        9              9
       10             10
       11             11
       12             12

a@W530:~$

真正奇怪的是,当我使用管理员账户登录时,AltGr 组合键仍然有效。但是,当我切换回普通用户账户后,AltGr 不再起作用。

在为这个问题苦苦挣扎了好一阵子之后,我找到了命令xev -event keyboard。奇怪的是,当我使用 AltGr 不起作用的正常账户登录时,这会产生不同的结果。然后这个命令返回

FocusOut 事件,序列 37,合成 NO,窗口 0x3c00001,模式 NotifyGrab,细节 NotifyAncestor

FocusIn 事件,序列 37,合成 NO,窗口 0x3c00001,模式 NotifyUngrab,细节 NotifyAncestor

KeymapNotify 事件,序列 37,合成 NO,窗口 0x0,键:99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0

而对于管理帐户,AltGr 可以工作并允许我到达它返回的键盘的第三级:

KeyPress 事件,序列 37,合成 NO,窗口 0x2c00001,根 0x124,subw 0x0,时间 7442734,(-338,129),根:(533,615),状态 0x0,键码 108(keysym 0xfe03,ISO_Level3_Shift),same_screen YES,XKeysymToKeycode 返回键码:92 XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False

KeyRelease 事件,序列 37,合成 NO,窗口 0x2c00001,根 0x124,subw 0x0,时间 7442804,(-338,129),根:(533,615),状态 0x80,键码 108(keysym 0xfe03,ISO_Level3_Shift),same_screen YES,XKeysymToKeycode 返回键码:92 XLookupString 给出 0 个字节:XFilterEvent 返回:False

这次有两个事件:一个是按下 Alt 键时,另一个是释放 Alt 键时,如图所示。如果我在 AltGr 上还按下了另一个键,按下该键并释放它会产生额外的按下和释放事件,这与 Shift 键的情况类似。


从第二个答案如何在 Ubuntu 16.04 上启用 Alt-Gr?我们学会了改变替代字符键系统设置 > 键盘 > 快捷方式 > 打字到 AltGr。我有一个德语键盘,对话框也使用德语。因此我这样做了:

从...开始我开始的地方

我把它改成了更改为右 Alt 键 - 保持按下并移除 englisch kbd但这对我来说不起作用,即使在计算机冷启动后也是如此。

答案2

上述解决方案对我来说不起作用,但我发现还有另一个设置可能会干扰 AltGr 的正常运行。在 18.04 中,可以在“Optimierungen->Testatur und Maus->Compose-Taste”下找到它,应将其设置为“Deaktiviert”。我不能 100% 确定这些英文是什么,但也许“Optimisations->Keyboard and Mouse->Compose Key”设置为“Off”。

有趣的是,此设置不会被上述涉及撰写键的其他方法改变。

在此处输入图片描述

答案3

有一些配置文件~/.config/xfce4/与键盘配置有关,从其中出现的“key”可以看出。它们按用户工作,从它们在文件系统中的位置可以看出。AltGr为用户工作gast,所以我寻找了包含单词“key”的配置文件。

a@v:~$ grep -l -r 'key' /home/gast/.config/xfce4/
/home/gast/.config/xfce4/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/home/gast/.config/xfce4/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
/home/gast/.config/xfce4/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
/home/gast/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/home/gast/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
/home/gast/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
a@v:~$

因为我有一个用户帐户“a”,其中键组合的键盘映射AltGr不起作用,而我有一个 gast 帐户,它们可以正常工作,所以我将这些文件的内容与它们的对应文件进行了比较。

在这样做时,我注意到这/home/a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml是阻止用户“a”使用AltGr组合键的原因。有一行

<property name="ISO_Level3_Shift" type="string" value="xfce4-screenshooter -cmw"/>

其中将xfce4-sceenshooterAltGr键关联。显然ISO_Level3_Shift是该键的名称,该名称也出现在 的输出中xev(作为该键起作用的用户)。另一个中.config/xfce4/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml没有对 的引用ISO_Level3_Shift。此文件的两个版本之间还存在其他几个差异。因此,我将该文件从有效的用户复制到了AltGr组合键无效的用户“a”。

但是,完成此操作后,AltGr-Keys 不会立即对用户“a”起作用。我不得不使用xfce4-keyboard-settings删除“Tastenkürzel für die Belegungsänderung”(左侧下拉选择框)的设置:这两个框都必须指示减号,这显然意味着无。

相关内容