Keyboard setting does not stick

I currently use this model: https://deskthority.net/wiki/Cherry_G83-6000#G83-6105LUNDE-2.2F08

By some black magic pressing a key always results in whatever is engraved on the key caps to appear on the screen, on my machines of course. I frequently observed different behavior on different machines, predominantly in corporate environments: What you get is never what is shown on the key cap.

Host erlangen currently has:

karl@erlangen:~> localectl 
   System Locale: LANG=de_DE.UTF-8 
       **VC Keymap: de-nodeadkeys** 
      X11 Layout: de 
       **X11 Model: microsoftpro** 
     X11 Variant: nodeadkeys 
     X11 Options: terminate:ctrl_alt_bksp 
karl@erlangen:~> 

Settings shown in post #9 are slightly different:

karl@erlangen:~> localectl 
   System Locale: LANG=de_DE.UTF-8 
       **VC Keymap: de-latin1-nodeadkeys **
      X11 Layout: de 
       **X11 Model: pc105** 
     X11 Variant: nodeadkeys 
     X11 Options: terminate:ctrl_alt_bksp 
karl@erlangen:~> 

Both of the above work correctly. But I am unsure about what other users want to have.

Henk, I must admit that, I’m using a Cherry CyMotion Master Linux keyboard – with a German layout – I don’t remember if other layouts were ever on the market.


 > localectl 
   System Locale: LANG=de_DE.UTF-8
       VC Keymap: de-latin1-nodeadkeys
      X11 Layout: de
       X11 Model: cymotionlinux
     X11 Variant: nodeadkeys
     X11 Options: terminate:ctrl_alt_bksp
 > 

Your mileage may vary but, it usually pays to carefully select the manufacturer dependent “X11 Model” – the files containing the definitions are littered below ‘/usr/share/X11/xkb/’ but, I personally find the “xkeyboard-config” man (7) page to be much more comfortable.

Again, I am not sure if it will help the OP with his, to me unknown, problem, but here:

henk@boven:~> localectl
   System Locale: LC_CTYPE=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
       X11 Model: pc105+inet
     X11 Options: terminate:ctrl_alt_bksp
henk@boven:~>

Henk, Let me just explain what the problem was.

I am a long time (open)SUSE user (from version 9.3 or something like that).
For all those years typing an é was never a problem.

Since I went to Tumble weed however, I had this issue, that every time after a restart, I could not type an é anymore.
I lost count on how many times, I managed to fix it through the settings, but then after a restart same problem again.

I am now happy though, I am already getting used to the Alt Gr key en then press e, for an é to appear.
Which still works after I restart my pc. :slight_smile:

When you are happy, I will not try any more suggestions.

guus@localhost:~> localectl 
   System Locale: LANG=nl_NL.UTF-8 
       VC Keymap: us-intl 
      X11 Layout: us 
       X11 Model: microsoftpro 
     X11 Variant: intl 
     X11 Options: terminate:ctrl_alt_bksp 

No dead keys is something I could try. That could be what was causing my confusion. (Different way to get an é on leap, although I doubt it has anything to do with Leap vs Tumbleweed)

While typing this I suddenly remember something about the cli language. I remember setting it to out put in English.
Yesterday I noticed, the cli to speak dutch again.

Noticed it when updating with zypper dup, I needed to type an j instead of an y. rotfl!

What is your exact make and model? Show this:

**erlangen:~ #** lsusb 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 001 Device 005: ID 1462:7c56 Micro Star International MYSTIC LIGHT  
**Bus 001 Device 004: ID 046a:0011 Cherry GmbH G83 (RS 6000) Keyboard **
Bus 001 Device 003: ID 046d:c542 Logitech, Inc. Wireless Receiver 
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
**erlangen:~ #**
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 001 Device 003: ID 046d:c084 Logitech, Inc. G203 Gaming Mouse 
**Bus 001 Device 002: ID 1a2c:0e24 China Resource Semico Co., Ltd USB Keyboard** 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The manufacturer is very terse. Anyway localectl has everything what is needed for fine grained adjustments. I always select all settings at installation time and never need to change them. For full control all three of these are needed:

**erlangen:~ #** localectl --help  
localectl [OPTIONS...] COMMAND ... 

**Query or change system locale and keyboard settings.**

Commands: 
  status                   Show current locale settings 
**  set-locale LOCALE...     Set system locale **
  list-locales             Show known locales 
**  set-keymap MAP [MAP]     Set console and X11 keyboard mappings **
  list-keymaps             Show known virtual console keyboard mappings 
**  set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]] **
                           Set X11 and console keyboard mappings 
  list-x11-keymap-models   Show known X11 keyboard mapping models 
  list-x11-keymap-layouts  Show known X11 keyboard mapping layouts 
  list-x11-keymap-variants [LAYOUT] 
                           Show known X11 keyboard mapping variants 
  list-x11-keymap-options  Show known X11 keyboard mapping options 

Options: 
  -h --help                Show this help 
     --version             Show package version 
     --no-pager            Do not pipe output into a pager 
     --no-ask-password     Do not prompt for password 
  -H --host=[USER@]HOST    Operate on remote host 
  -M --machine=CONTAINER   Operate on local container 
     --no-convert          Don't convert keyboard mappings 

See the localectl(1) man page for details. 
**erlangen:~ #**

Commands and configuration files

yast2 keyboard

**erlangen:~ #** **grep -v ^\# /etc/sysconfig/keyboard | grep -v ^\$ **
KBD_DELAY="" 
KBD_RATE="" 
KBD_NUMLOCK="bios" 
KBD_SCRLOCK="yes" 
KBD_CAPSLOCK="no" 
KBD_DISABLE_CAPS_LOCK="yes" 
KBD_TTY="" 
YAST_KEYBOARD="german,pc105" 
**erlangen:~ #** 

**erlangen:~ #** **localectl set-locale de_DE.UTF-8** 
**erlangen:~ #**
**erlangen:~ #** **cat /etc/locale.conf ** 
LANG=de_DE.UTF-8 
**erlangen:~ #**

**erlangen:~ #** **localectl set-keymap de-nodeadkeys**  
**erlangen:~ #**
**erlangen:~ #** **cat /etc/vconsole.conf**  
FONT_MAP= 
FONT_UNIMAP= 
FONT=ter-v32b 
KEYMAP=de-nodeadkeys 
**erlangen:~ #**

**erlangen:~ #** **localectl set-x11-keymap de pc105 nodeadkeys terminate:ctrl_alt_bksp**             
**erlangen:~ #** 
**erlangen:~ #** **cat /etc/X11/xorg.conf.d/00-keyboard.conf**  
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's 
# probably wise not to edit this file manually. Use localectl(1) to 
# instruct systemd-localed to update it. 
Section "InputClass" 
        Identifier "system-keyboard" 
        MatchIsKeyboard "on" 
        Option "XkbLayout" "de" 
        Option "XkbModel" "pc105" 
        Option "XkbVariant" "nodeadkeys" 
        Option "XkbOptions" "terminate:ctrl_alt_bksp" 
EndSection 
**erlangen:~ #**

** User configuration files**

karl@erlangen:~> **cat .profile** 
# Sample .profile for SuSE Linux 
# rewritten by Christian Steinruecken <cstein@suse.de> 
# 
# This file is read each time a login shell is started. 
# All other interactive shells will only read .bashrc; this is particularly 
# important for language settings, see below. 

test -z "$PROFILEREAD" && . /etc/profile || true 

# Most applications support several languages for their output. 
# To make use of this feature, simply uncomment one of the lines below or 
# add your own one (see /usr/share/locale/locale.alias for more codes) 
# This overwrites the system default set in /etc/sysconfig/language 
# in the variable RC_LANG. 
# 
#export LANG=de_DE.UTF-8        # uncomment this line for German output 
#export LANG=fr_FR.UTF-8        # uncomment this line for French output 
#export LANG=es_ES.UTF-8        # uncomment this line for Spanish output 


# Some people don't like fortune. If you uncomment the following lines, 
# you will have a fortune each time you log in ;-) 

#if  -x /usr/bin/fortune ] ; then 
#    echo 
#    /usr/bin/fortune 
#    echo 
#fi 
export PLASMA_USE_QT_SCALING=1 
karl@erlangen:~> 


karl@erlangen:~> **cat .config/plasma-localerc** 
[Formats] 
LANG=de_DE.UTF-8 

[Translations] 
LANGUAGE=de:en_US 
karl@erlangen:~>