! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Terminal blocks SCIM from seeing Ctrl-Alt-Up and Ctrl-Alt-Down
Status:
RESOLVED: WONTFIX
Product:
Xfce4-terminal
Component:
General

Comments

Description Matthew Skala 2012-03-10 02:58:55 CET
SCIM defaults to using Ctrl-Alt-Up and Ctrl-Alt-Down to switch input methods.  That conflicts with XFCE Window Manager's shortcuts for switching desktops; but because my desktops are arranged horizontally anyway, I would never have a reason to use those shortcuts in Window Manager; I accordingly disabled them.

The problem:  within Terminal, given that these key sequences are no longer configured as shortcuts in Window Manager and were never configured as shortcuts in Terminal, they no longer seem to have any special meaning at all.  SCIM does not see them; they are passed through as escape sequences to the program running in the terminal.  This behaviour is specific to Terminal.  In other software, the key sequences are caught by SCIM and have their intended effect there.

Changing SCIM's settings to non-defaults is a serious inconvenience, and doesn't seem to help much unless drastically different sequences are used.  Configuring SCIM to use Alt-Up and Alt-Down gives the same result (except that they were never Window Manager shortcuts to begin with - further evidence that it's Terminal and not Window Manager at fault).  Using Shift-Ctrl-Up and Shift-Control-Down causes Terminal to scroll its scrollback window, despite those not being configured as shortcuts in Terminal.  Ctrl-Alt-bracketleft and Ctrl-Alt-bracketright don't work.  Ctrl-Shift-braceleft and Ctrl-Shift-braceright DO work.  SCIM, when so configured, will accept any of these sequences everywhere except in Terminal.  My guess is that Terminal is grabbing a few undocumented shortcuts of its own (such as Shift-Ctrl-Up/Down), plus all key combinations that include Alt whether it needs those or not, possibly with some special handling to pass through to Window Manager sequences that are special to Window Manager.  I don't want it to do that.

Steps to reproduce:

* Have SCIM installed, and configured for its default of using Ctrl-Alt-Up and Ctrl-Alt-Down to switch input methods, with more than one input method configured (which is also the default).

* In Settings > Window Manager > Keyboard, clear the shortcuts for "Upper workspace" and "Bottom workspace" (formerly Ctrl-Alt-Up and Ctrl-Alt-Down).

* In a Terminal window, press Ctrl-Alt-Up or Ctrl-Alt-Down.

* Expected behaviour:  SCIM should pop up its status bar and cycle through input methods.  Observed behaviour:  escape sequences are passed to whatever's running in the terminal window.  If that's a command prompt, they are typically echoed as the letters "A" and "B," but capturing and hex-dumping them indicates they really are being sent as escape sequences in a way that would presumably be correct if SCIM weren't configured to capture them.

I am running Arch Linux on an Asus Eee PC 1005HA netbook.  The keyboard is configured in Xorg with model=asus_laptop and layout=us, which are correct for this hardware and work in all the other software I've tried.  I have the single Windows key ("lwin") configured as "compose" in Xorg's "kbd" driver, and that works everywhere including in Terminal. Arch Linux deprecates SCIM in favour of iBus, but I need a specific input method (hexadecimal Unicode with support for non-BMP characters, i.e. five- and six-digit codes) that is not available in iBus.
Comment 1 Igor editbugs 2016-09-23 16:49:10 CEST
Shift+Ctrl+Up/Down are VTE's shortcuts to scroll one line up/down. xfce4-terminal is not handling them.
You could use e.g. Shift+Up/Down as these shortcuts are not used by the terminal since https://git.xfce.org/apps/xfce4-terminal/commit/?id=4cf4d385b952e770d2e353941dc14934d9bb8d8c

Bug #8551

Reported by:
Matthew Skala
Reported on: 2012-03-10
Last modified on: 2016-09-23

People

CC List:
2 users

Version

Attachments

Additional information