[Pkg-xfce-devel] Bug#465127: xfce4-terminal: Wrong key sequences sent for modified F1-F4 keys

Paul LeoNerd Evans leonerd at leonerd.org.uk
Sun Feb 10 20:54:08 UTC 2008


Package: xfce4-terminal
Version: 0.2.8-2
Severity: normal

Similar to xterm, xfce4-terminal sends SS3 P to SS3 S for the F1 to F4
keys, but uses CSI ~ to report numbered keys F5 to F12. This is good.

  F1 = SS3 P
  F5 = CSI 15 ~

When sending modified (e.g. Shifted, Controlled, etc...) function keys,
xfce4-terminal also sends xterm-like modified CSIs for F5 to F12.

  Shift-F5 = CSI 15 ; 2 ~

But it mangles F1 to F4, applying the CSI arguments to the SS3 sequence,
resulting in the invalid sequence

  Shift-F1 = SS3 1 ; 2 P

To quote ECMA-35 on the subject of the Single Shift 3 function:

  When such a shift function occurs, the immediately following bit
  combination (or sequence of n bit combinations for a multiple-byte
  set) in the CC-data-element shall represent the corresponding
  character from the set that is designated as the code element G2 or G3
  respectively. The shift status that was in effect immediately before
  the occurrence of the single-shift function shall continue in effect
  immediately after the bit combination (or sequence) that represents
  the invoked single graphic character.

That is, SS3 affects the single next character only. This means that
xfce4-terminal's representation of Shift-F1 really means

  SS3 1
  ; 2 P    (As normal text)

I recommend that the sequences for F1 to F4 be modified either to match
xterm:

  Shift-F1 =  CSI 1 ; 2 P

or to avoid the PQRS commands entirely and unify the 20 function keys as
CSI functions (as is the way rxvt does it):

  F1 = CSI 11 ~
  Shift-F1 = CSI 11 ; 2 ~
  etc...


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.23-mh1.nim
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages xfce4-terminal depends on:
ii  libatk1.0-0                  1.20.0-1    The ATK accessibility toolkit
ii  libc6                        2.7-6       GNU C Library: Shared libraries
ii  libdbus-1-3                  1.1.2-1     simple interprocess messaging syst
ii  libdbus-glib-1-2             0.74-1      simple interprocess messaging syst
ii  libexo-0.3-0                 0.3.4-1     Library with extensions for Xfce
ii  libglib2.0-0                 2.14.5-2    The GLib library of C routines
ii  libgtk2.0-0                  2.12.5-2    The GTK+ graphical user interface 
ii  libstartup-notification0     0.9-1       library for program launch feedbac
ii  libvte9                      1:0.16.12-1 Terminal emulator widget for GTK+ 
ii  libx11-6                     2:1.0.3-7   X11 client-side library
ii  libxfce4util4                4.4.2-1     Utility functions library for Xfce

Versions of packages xfce4-terminal recommends:
ii  dbus                          1.1.2-1    simple interprocess messaging syst

-- no debconf information





More information about the Pkg-xfce-devel mailing list