[SRU]Alt+KEY incorrectly behaves like Ctrl+Alt+KEY, and/or unwanted VT switch from Alt+Left/Right
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
console-setup (Ubuntu) |
Fix Released
|
High
|
Balint Reczey | ||
Xenial |
Confirmed
|
Low
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
High
|
Balint Reczey | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
kbd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Bionic |
Won't Fix
|
Undecided
|
Unassigned | ||
Cosmic |
Won't Fix
|
Undecided
|
Unassigned | ||
Disco |
Won't Fix
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
(kbd)
[Impact]
* kbd_mode -u is documented to break keyboards in modes other than xlate and unicode, while it is still called by some scripts. Those scripts are called transitively by maintainer scripts such as the one already fixed in console-setup.
* To avoid accidentally breaking keyboards a -f option is added to force such breaking mode changes. Without -f only the safe mode changes are performed and an error is printed when the requested mode change is not safe. Next upstream version will also exit with error, but the cherry-picked fix makes kbd_mode return success even when the mode switch is not performed to avoid regressions of scripts.
[Test case]
* Verify that safe mode switches work and dangerous ones are skipped without -f. Please note that the test will temporarily break the system's keyboard and it is recommended to run the test in a VM.
rbalint@
The keyboard is in Unicode (UTF-8) mode
0
rbalint@
0
rbalint@
0
rbalint@
The keyboard is in xlate (8-bit) mode
rbalint@
0
rbalint@
The keyboard is in Unicode (UTF-8) mode
rbalint@
The keyboard is in some unknown mode
Changing to the requested mode may make your keyboard unusable, please use -f to force the change.
0
rbalint@
0
rbalint@
The keyboard is in Unicode (UTF-8) mode
rbalint@
rbalint@
The keyboard is in raw (scancode) mode
rbalint@
The keyboard is in raw (scancode) mode
Changing to the requested mode may make your keyboard unusable, please use -f to force the change.
0
[Regression Potential]
* kbd_mode stops performing breaking mode switches and this may make scripts ineffective when trying to perform a breaking change. This is the intention of the change and the emitter error helps in finding the offending script.
The following packages found to call kbd_mode directly:
console-setup
xinit
console-cyrillic
initramfs-tools
dracut
console-tools
xview
ubiquity's embedded console-setup copy
console-data
vnc4
The console related packages are expected to execute only safe mode changes because they should operate on consoles only and the rest seem to be safe, too.
(console-setup)
[Impact]
* keyboard-
[Test Case]
* Ssh to a system or open a terminal and unset DISPLAY
$ echo $DISPLAY
$
* Check kbd mode, should be raw (set by kbd_mode -s) or unknown:
$ sudo kbd_mode
The keyboard is in some unknown mode
$ sudo kbd_mode
The keyboard is in raw (scancode) mode
$
On Xenial X runs on VT7 thus the graphical environment is not affected in the default configuration, but the keyboard-
$ sudo kbd_mode -s -C /dev/tty1
$ sudo kbd_mode -C /dev/tty1
The keyboard is in raw (scancode) mode
* Install or reinstall kbd-configuration
$ sudo apt install --reinstall keyboard-
...
Setting up keyboard-
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.
...
* With the fixed package you should see the note above and the kbd mode must stay the same (on Xenial check VT1: sudo kbd_mode -C /dev/tty1):
$ sudo kbd_mode
The keyboard is in raw (scancode) mode
$
* The unfixed package sets the kbd mode to unicode:
$ sudo kbd_mode
The keyboard is in Unicode (UTF-8) mode
$
[Regression Potential]
* The change may break debian-installer changing the keyboard mode, this should also be tested.
* In general changing the postinst script may make the package unable to install, but this is tested in generic environment and the change to the postinst script is very small.
[Original Bug Text]
WORKAROUND:
sudo kbd_mode -s
ORIGINAL DESCRIPTION:
I'm running Ubuntu Lucid development branch.
Pressing alt-f2 switches the screen to the second virtual terminal. Alt-f3 does the same to the third and so on. I expected alt-f2 to open the run dialog.
I'm pretty sure that my keyboard is not malfunctioning as I can use all my applications normally. (Pressing O and Ctrl-O do not have the same effect.)
I'm not sure which package I should file this bug against. I'll happily do an apport-collect once I know.
Changed in ubuntu: | |
status: | New → Confirmed |
tags: | added: patch |
Changed in console-cyrillic (Ubuntu): | |
status: | Confirmed → Incomplete |
Changed in console-setup (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in console-cyrillic (Ubuntu): | |
status: | Confirmed → Invalid |
Changed in console-setup (Ubuntu): | |
status: | Invalid → Confirmed |
tags: | added: xenial |
tags: | added: bionic |
summary: |
- Alt-f2 switches to virtual terminal 2 + Alt+KEY incorrectly behaves like Ctrl+Alt+KEY |
tags: |
added: cosmic removed: lucid precise quantal zesty |
Changed in console-setup (Ubuntu): | |
importance: | Undecided → High |
no longer affects: | console-cyrillic (Ubuntu) |
tags: | added: id-5c51b3a3cb40343530f1abbd |
description: | updated |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → High |
summary: |
- Alt+KEY incorrectly behaves like Ctrl+Alt+KEY + Alt+KEY incorrectly behaves like Ctrl+Alt+KEY, and/or unwanted VT switch + from Alt+Left/Right |
Changed in xorg-server (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in console-setup (Ubuntu): | |
assignee: | nobody → Balint Reczey (rbalint) |
status: | Confirmed → In Progress |
Changed in console-setup (Ubuntu Bionic): | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in xorg-server (Ubuntu Bionic): | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in console-setup (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in console-setup (Ubuntu Eoan): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Eoan): | |
status: | New → Confirmed |
Changed in xorg-server (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in xorg-server (Ubuntu Eoan): | |
status: | New → Confirmed |
Changed in kbd (Ubuntu Bionic): | |
status: | New → Confirmed |
Changed in kbd (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in kbd (Ubuntu Disco): | |
status: | New → Confirmed |
Changed in kbd (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
Changed in console-setup (Ubuntu Eoan): | |
status: | Confirmed → Fix Released |
description: | updated |
Changed in console-setup (Ubuntu Disco): | |
status: | In Progress → Fix Committed |
tags: | added: verification-needed verification-needed-disco |
Changed in console-setup (Ubuntu Cosmic): | |
status: | Confirmed → Fix Committed |
tags: | added: verification-needed-cosmic |
Changed in console-setup (Ubuntu Bionic): | |
status: | Confirmed → Fix Committed |
tags: | added: verification-needed-bionic |
no longer affects: | linux (Ubuntu) |
Changed in xorg-server (Ubuntu Bionic): | |
status: | Confirmed → Invalid |
Changed in xorg-server (Ubuntu Cosmic): | |
status: | Confirmed → Invalid |
Changed in xorg-server (Ubuntu Disco): | |
status: | Confirmed → Invalid |
Changed in xorg-server (Ubuntu Eoan): | |
status: | Confirmed → Invalid |
description: | updated |
Changed in kbd (Ubuntu Eoan): | |
status: | Confirmed → In Progress |
Changed in console-setup (Ubuntu Xenial): | |
importance: | Undecided → Low |
status: | New → Confirmed |
Changed in kbd (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in xorg-server (Ubuntu Xenial): | |
status: | New → Confirmed |
tags: |
added: verification-done-disco removed: verification-needed-disco |
tags: |
added: verification-done-cosmic removed: verification-needed-cosmic |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
tags: |
added: verification-done removed: verification-needed |
description: | updated |
tags: |
added: verification-done verification-done-bionic verification-done-cosmic verification-done-disco verification-done-xenial removed: verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-disco verification-needed-xenial |
tags: |
added: verification-failed verification-failed-bionic verification-failed-cosmic verification-failed-disco verification-failed-xenial removed: verification-done verification-done-bionic verification-done-cosmic verification-done-disco verification-done-xenial |
tags: |
added: verification-done-cosmic verification-done-disco removed: verification-failed-cosmic verification-failed-disco |
summary: |
- [Don't release SRU yet]Alt+KEY incorrectly behaves like Ctrl+Alt+KEY, - and/or unwanted VT switch from Alt+Left/Right + [SRU]Alt+KEY incorrectly behaves like Ctrl+Alt+KEY, and/or unwanted VT + switch from Alt+Left/Right |
Changed in kbd (Ubuntu Cosmic): | |
status: | Fix Committed → Won't Fix |
Changed in linux (Ubuntu Disco): | |
status: | Confirmed → Won't Fix |
Changed in linux (Ubuntu Cosmic): | |
status: | Confirmed → Won't Fix |
no longer affects: | xorg-server (Ubuntu) |
no longer affects: | xorg-server (Ubuntu Lucid) |
no longer affects: | xorg-server (Ubuntu Maverick) |
no longer affects: | xorg-server (Ubuntu Xenial) |
no longer affects: | xorg-server (Ubuntu Bionic) |
no longer affects: | xorg-server (Ubuntu Cosmic) |
no longer affects: | xorg-server (Ubuntu Disco) |
no longer affects: | xorg-server (Ubuntu Eoan) |
no longer affects: | linux (Ubuntu Bionic) |
no longer affects: | linux (Ubuntu Cosmic) |
no longer affects: | linux (Ubuntu Disco) |
no longer affects: | linux (Ubuntu Eoan) |
no longer affects: | kbd (Ubuntu Maverick) |
no longer affects: | kbd (Ubuntu Lucid) |
no longer affects: | console-setup (Ubuntu Maverick) |
no longer affects: | console-setup (Ubuntu Lucid) |
I had the same problem. ALT-F2 switched to terminal 2, ALT-F1 (not F7) switched back to GNOME GUI, CTRL-ALT-Fx did not work at all. At the same time all texts written in GUI application were copied into tty1 as well (these texts are visible during shutdown. This includes also cursor movements. tty1 showed repeating failing login prompts fed by characters entered in GUI.
After pressing CTRL-C in GUI, GDM is restarted and everything is functioning normally.
To me it looks like GDM is running in tty1 and keyboard mapping is confused.
Last restarts (after al upgrades) I could not reproduce problem with ALT-Fx keys to switch to different terminal, but CTRL-ALT-F7 does not switch to GUI and CTRL-ALT-F1 switches to GUI - so it still some discrepancy where the GUI is actually running.
I am using
Linux ***** 2.6.32-13-generic #18-Ubuntu SMP Wed Feb 10 21:32:38 UTC 2010 x86_64 GNU/Linux
with ATI
01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series
using only opensource drivers.