[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#920287: marked as done (Shift-Tab doesn't work in text mode)



Your message dated Fri, 08 Feb 2019 23:35:09 +0000
with message-id <E1gsFfp-000Eef-D5@fasolo.debian.org>
and subject line Bug#920287: fixed in console-setup 1.189
has caused the Debian Bug report #920287,
regarding Shift-Tab doesn't work in text mode
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
920287: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920287
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: console-setup
Version: 1.188
Severity: important
Tags: patch upstream

Shift-Tab doesn't work in text mode so for example, in the debian installer or
openSUSE's YaST, pressing Tab goes to the next focusable item but pressing
Shift-Tab (which should go to the previous focusable item) just works as if only
Tab was pressed.

This is due to ISO_Left_Tab being translated just to Tab by ckbcomp when
converting the text layouts.

Looking at how the keyboard layouts were defined before xkb layouts were parsed,
I noticed legacy layouts were defined like:

```
keycode 15 = Tab
    shift  keycode 15 = Meta_Tab
```

The attached patch changes ckbcomp to translate ISO_Left_Tab to Meta_Tab fixing
the issue for Yast and I guess also for the debian installer (in openSUSE the
kbd package has to be rebuilt with the fixed console-setup package, and in
debian I think the console-data package has to be rebuilt the same way too)

Note that I also submitted a merge request at
https://salsa.debian.org/installer-team/console-setup/merge_requests/1
with the same patch and the commit log explains more about the issue.

>From 564f2dfbe9661df5094a0107568878d405fc2fae Mon Sep 17 00:00:00 2001
From: Antonio Larrosa <antonio.larrosa@gmail.com>
Date: Tue, 22 Jan 2019 18:06:28 +0100
Subject: [PATCH] Translate ISO_Left_Tab to Meta_Tab

Short description:
ISO_Left_Tab shouldn't be translated to Tab (just like regular Tab)
otherwise there's no way to differentiate between Tab and Shift-Tab
on text mode. This commit changes ckbcomp to translate ISO_Left_Tab
to Meta_Tab.

Long description:
Currently, in most Linux distribution, most keyboard layouts in text
mode assign the Tab and Shift-Tab key presses the same code.
This can be checked by pressing ctrl-alt-f1, logging in and running:
"showkey -a"

Pressing Tab and Shift-Tab generate the same code (0x09), so for
example, when Yast runs with ncurses, Tab moves the focus to the next
focusable item, but Shift-Tab can't be used as it behaves just like
Tab and there's no way applications can differentiate both.

Changing the keyboard layout with "loadkeys es", "loadkeys de" or
"loadkeys fr" doesn't help.

I investigated this and found that ckbcomp was translating the
ISO_Left_Tab symbol to Tab just like it does with Tab, which doesn't
make sense since Shift-Tab should produce a "Left Tab" (in many
keyboards it's even printed in the Tab key over the regular Right-Tab
drawing).

Looking at how the keyboard layouts were defined before xkb layouts
were parsed, I noticed legacy layouts were defined like:

keycode 15 = Tab
    shift  keycode 15 = Meta_Tab

So ISO_Left_Tab is now translated to Meta_Tab to fix this and let it
generate the same code it did in the past.

Now "showkey -a" shows the (0x09) code for Tab and (0x1b 0x09) for
Shift-Tab which can be recognized by text applications as different
and automatically fixes Yast.

In SUSE/openSUSE distributions, after applying this change and
rebuilding the kbd package with the generated console-setup (which
regenerates the kbd keymaps with the fixed ckbcomp script) fixes this.
I guess other distributions would also need to rebuild kbd after
applying this patch.
---
 Keyboard/ckbcomp            | 2 +-
 Keyboard/compose_translator | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Keyboard/ckbcomp b/Keyboard/ckbcomp
index b0df606..47ec922 100755
--- a/Keyboard/ckbcomp
+++ b/Keyboard/ckbcomp
@@ -2581,7 +2581,7 @@ if ($freebsd) {
          'any' => 'NoSymbol', # Is this recognised by X ?
          'VoidSymbol' => 'VoidSymbol',
          'voidsymbol' => 'VoidSymbol', # Is this recognised by X ?
-         'ISO_Left_Tab' => 'Tab',
+         'ISO_Left_Tab' => 'Meta_Tab',
          'Clear' => 'VoidSymbol',
          'Pause' => 'Pause',
          'Scroll_Lock' => 'Scroll_Lock',
diff --git a/Keyboard/compose_translator b/Keyboard/compose_translator
index d478def..3af492f 100755
--- a/Keyboard/compose_translator
+++ b/Keyboard/compose_translator
@@ -1827,7 +1827,7 @@ my %xkbsym_table = (
      'any' => 'NoSymbol', # Is this recognised by X ?
      'VoidSymbol' => 'VoidSymbol',
      'voidsymbol' => 'VoidSymbol', # Is this recognised by X ?
-     'ISO_Left_Tab' => 'Tab',
+     'ISO_Left_Tab' => 'Meta_Tab',
      'Clear' => 'VoidSymbol',
      'Pause' => 'Pause',
      'Scroll_Lock' => 'Scroll_Lock',
-- 
2.20.1


--- End Message ---
--- Begin Message ---
Source: console-setup
Source-Version: 1.189

We believe that the bug you reported is fixed in the latest version of
console-setup, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 920287@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Holger Wansing <hwansing@mailbox.org> (supplier of updated console-setup package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 08 Feb 2019 23:22:53 +0100
Source: console-setup
Architecture: source
Version: 1.189
Distribution: unstable
Urgency: medium
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Holger Wansing <hwansing@mailbox.org>
Closes: 920287
Changes:
 console-setup (1.189) unstable; urgency=medium
 .
   * Team upload
 .
   [ Holger Wansing ]
   * Correct release date/time of version 1.188 in changelog file.
   * Remove trailing whitespaces from control and rules files, to fix
     lintian tag.
 .
   [ Antonio Larrosa ]
   * Keyboard: Translate ISO_Left_Tab to Meta_Tab. Closes: #920287
 .
   [ Updated translations ]
   * Danish (da.po) by Joe Hansen
   * Finnish (fi.po) by Juhani Numminen
   * Hebrew (he.po) by Yaron Shahrabani
   * Traditional Chinese (zh_TW.po) by Louies
Checksums-Sha1:
 062efb9cff03400efdbc3a8736833bce21adf29b 3360 console-setup_1.189.dsc
 d05111368cc5474a7f9b42d4a7bfbbd6378a8020 1649820 console-setup_1.189.tar.xz
 b21d601704464d8b057c695904653f71cf6518c8 11512 console-setup_1.189_amd64.buildinfo
Checksums-Sha256:
 9969e7661754c2ebe6601685b22dac191d4c991dfb4274155fa37353f6dc8f72 3360 console-setup_1.189.dsc
 5288659f82fb368fca18f3e541eaf877304dda59b38b398b71e6d448bc893eb1 1649820 console-setup_1.189.tar.xz
 a778f0dee6451931a0b53d8af806a3deedfe25df477ad5df209275f52851d4ba 11512 console-setup_1.189_amd64.buildinfo
Files:
 55b56ba9da5a62b8ebd393427a09cd3e 3360 utils optional console-setup_1.189.dsc
 c31ace51628f2cebbcb1b1a6d7fe1085 1649820 utils optional console-setup_1.189.tar.xz
 630d73c174829941f8cf263660508ee6 11512 utils optional console-setup_1.189_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEESWrG6BRCSzSFCDUpWfGHyhVusHYFAlxeDeMVHGh3YW5zaW5n
QG1haWxib3gub3JnAAoJEFnxh8oVbrB2exwQAKDwMCzjpdfOY0FWXTRUx4W5kifF
FWOV01I7fpRMd28EpE43a26Y66tM6nfLkL2mJdqNeNaLOoNPUKszoMVkxJLbR112
lC+dNoE7rZQdldZK4uzm9F7ron7joi4KO9abGkKQb0/C/I2s9qK8yyr/IwwOWLEk
P8Ozzc+q5K2l56aoCkE86luZlsRUsvD2u8hKsG7dpDM9Z8PvJUhdkSrFluoSWIks
YW/ZS4rj9czCL87aujwjLD0xsCfwKQj9Ebf9ezVIOOHha473j6ySbUntWchp3k6l
y1ZQ4LwFhs1iIL4L/C/hpRukXu7kvIK+bWtvp2GCSy2XqniWmxDC7wq7dhy+RNCo
GyJI5wJknBqrGczcfJSo48Ye5eo7iZVgCWTt9SBiq4gfOIEyqdydVDUIhPFEeVXV
QfPocdqC/dZ26wcw+d39vRlfhALzkG+WR6KMCfWqoaii+husIQyeZKz6xid/5H6F
e8ugWgJvsYgXXIGTFOi9JGvbrCxYipKAsH6eJLcIgErR6o18vjKwVNRKy915HE7Z
yIRovgDyVm75tCJilKGmFfH1+A3k/s6/12+Xu4wYBBcA++Q8mHFGHk62fmf2Wyql
o9VQdN2nswGbEPtV4S34G7VrtpJqIc10FuJrV8O5DhnzExkgKFh+UH6FpIW42YNF
yfXIEK/bzT07vl1E
=SInK
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: