2

This question pertains to an installation of Xubuntu 16.04.3 LTS with current kernel 4.4.0-116-generic x86_64. I am running a Lenovo laptop W530 and the keyboard is a German one (QWERTZU).

Initial issue

I installed a new version of a commercial program which differs from all other Ubuntu programs which I used so far (including the previous version of that program) with respect to keyboard entry: It suppresses the dead keys, i.e. neither does pressing them twice produce those accents alone nor does pressing them once followed by one of the characters known with that accent after it produce the accent carrying version of that character.

Unfortunately the caret character ^, akut ´ and gravis ` are used frequently within that program. I contacted the support of that program. They could not reproduce this problem with Ubuntu 18.04 and they asked me for the exact settings of my keyboard and language settings.

Problems risen during trials to narrow down the issue

I searched long and still did not find a way how to unambiguously communicate what language settings are in effect on my computer. I am still looking for some command or what system file to list to unambiguously communicate those system settings. I only could take screenshots from the GUI programs to set the keyboard settings and to set the country settings.

In experimenting with the keyboard and in order to communicate its results in other programs (like LibreOffice, Mousepad and Thunderbird), I tried all keys in the combinations with Shift, Alt and AltGr and I carefully observed if and where there are “dead keys” (which produce an action on the next character if it is one which is used in combination with that special feature).

I found the following results:

The uppermost row below keys produces (e.g. in mousepad or Thunderbird)

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

row of the tab-key:

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:     @ ł € ¶ ŧ ← ↓ → ø þ " ~

row of the caps-lock key

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 ạőĉ)

row of the shift-key

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+.)

After carrying out a lot of experiments, finally I must have mixed up something since now, I can not longer produce the AltGr and the Shift-AltGr results any longer. I must have changed something inadvertently – but what the hell was it and how can I return to what I had before?

My questions

  1. How do I unambiguously communicate the actual settings of my current keyboard configuration? 1a. What commands to run to communicate their output? 1b. Content of which system files shall I communicate?

  2. How can I restore the working of AltGr key combinations to what I had before (documented above)?

Further question to learn programming in Ubuntu environment

If someone reading this post could give me some explanation how such dead keys are processed from a programmatic point of view: According to an article I read (referring to the new Wayland system) there are different ways for a program to learn about keyboard actions while they have the focus: One which returns the “undigested” keyboard events and one which processes “digested keyboard events”, i.e. an event only happens after the character of a dead key is pressed and the result is the character with the accent (or the accent itself if it is pressed twice or if the second character is a blank). But I do not know which of my applications uses Wayland, as far as I know, most Ubuntu applications either use GTK or they use QT and those all rely on X-Window which is probably the predecessor to Wayland. Some clarifications on the relationships between them would also be very wellcome.

  1. What are the names of the functions to to be called in order to get primary “undigested” key events and what are the names for the functions to be called with “digested” keyboard actions?
4
  • sorry, the lines showing what is returned for the keys on my kbd got completely garbeled. there were 4 lines for each line of keys: shifted, unshifted, AltGr-shifted and AltGr-unshifted. Unfortunately I don't know how to fix that now. Dec 8, 2018 at 12:50
  • The magic to prevent garbling of the keyboard result lines was to make them code. Dec 8, 2018 at 12:57
  • 1: What program is "a commercial program which differs from all other Ubuntu programs"? 2: Xubuntu 16.04 has nothing to do with Wayland, AFAIK. 3: Try to reduce the question to the main issue. This site works best when dealing with a single issue.
    – DK Bose
    Dec 8, 2018 at 13:05
  • The commercial program which causes my problem is Mathematica 11.3 for Linux. Version 10.1 of it did not show this problem (but that was on another computer, also with Xubuntu 16.4). The difference is the treatment of dead keys: In this particulat installation, they don't work as expected. Dec 8, 2018 at 16:08

3 Answers 3

1

This is only a partial answer on the part 2: "How can I restore the working of AltGr key combinations to what I had before (documented above)?"

  1. Log in with an account able to do sudo.
  2. Issue the command sudo dpkg-reconfigure keyboard-configuration
  3. This will take you through simlar screens as in the initial installation on a terminal-like console. In order to navigate to the ok option use the Tab key there. Use these settings on the screens (one question per screen)
  4. Das Modell der Tatstatur dieses Rechners: Generische PC-Tastatur mit 105 Tasten (international)
  5. Herkunftsland für die Tastatur: Deutsch
  6. Tastaturbelegeung: Deutsch (the first given choice)
  7. Taste, die als AltGr funktionieren soll: Der Standard für die Tastaturbelegung
  8. Compose-Taste: keine Compose-Taste
  9. Question about Ctl-Alt-Delete: Nein

These messages were shown on the terminal:

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

You have to reboot in order to make these settings effective.

However, two days later I encountered the same problem and I did not play with settings in between: AltGr-key combinations don't work any longer. Since my recipe how to overcome it requires quite some steps, some analysis how to prevent that would be wellcome. These are some system settings I figured out that they might tell something about the keyboard and the langugage settings but wha's wrong with them?

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:~$

The really strange thing was that AltGr-key combinations still work when I am logged in with my administrative account. However, after I switch back to the normal user account, AltGr does not work any longer.

After struggeling quite some time with this problem I came about the command xev -event keyboard. Strangely this gives different results when logged in with my normal account where AltGr does not work. Then this command returns

FocusOut event, serial 37, synthetic NO, window 0x3c00001, mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x3c00001, mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0, keys: 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

wheras for the administrative account, where AltGr works and lets me reach the third level of the keyboard it returns:

KeyPress event, serial 37, synthetic NO, window 0x2c00001, root 0x124, subw 0x0, time 7442734, (-338,129), root:(533,615), state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES, XKeysymToKeycode returns keycode: 92 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x2c00001, root 0x124, subw 0x0, time 7442804, (-338,129), root:(533,615), state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES, XKeysymToKeycode returns keycode: 92 XLookupString gives 0 bytes: XFilterEvent returns: False

This time there are two events: One when the Alt key is pressed and another one when it is released, as can be seen. If I would have pressed another key in addition with AltGr there pressing that other key and releasing it would make additional pressing and releasing events, it is similar to what is shown for shifted keys.


From the second answer to How to enable Alt-Gr on Ubuntu 16.04? we learned to change Alternate Chacter Key in System Settings > Keyboard > Shortcuts > Typing to AltGr. I have a German keyboard and the dialogs also speak Geran. Therefore I did this:

Starting with where I started

I changed it to changed to right Alt key - keep pressed and removed englisch kbd. But that did not work for me, even after a cold start of the computer.

1

The above solutions did not work for me, but I found that there is one other setting that has the potential to interfere with the correct functioning of AltGr. In 18.04 it can be found under 'Optimierungen->Testatur und Maus->Compose-Taste', which should be set to 'Deaktiviert'. I'm not 100% certain what these are in English but perhaps 'Optimisations->Keyboard and Mouse->Compose Key' set to 'Off'.

Interestingly this setting is not changed by other methods above that involve the compose key.

enter image description here

0

There are some configuration files in ~/.config/xfce4/ related to keyboard configuration as can be seen from 'key' appearing in them. They work per user, as one can see from their location in the file system. AltGr worked for user gast so I looked for configuration files containing the word '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:~$

Since I had a user account 'a' where the keyboard mappings for the AltGr key combinations did not work and I had the gast-account where they worked, I compared the contents of these files to their counterparts.

In doing so, I noticed that /home/a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml was the one which prevented user 'a' to use AltGr key combinations. There was a line

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

in it associating the xfce4-sceenshooter to the AltGr key. Apparently ISO_Level3_Shift is the name for that key, this name also appeared in the output of xev (as a user with that key functioning). In the other .config/xfce4/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml there is no reference to ISO_Level3_Shift. There also were several other deviations between the two versions of this file. Therefore I copied this file from the user which worked to user 'a' whos AltGr key combinations did not work.

However, this having done, the AltGr-Keys did not work immediately for user 'a'. I had to use the xfce4-keyboard-settings to remove a setting for “Tastenkürzel für die Belegungsänderung” (the left drop down selection box): both of these boxes have to indicate a minus sign which apparently means none.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .