GNOME Bugzilla – Bug 91334
libzvt-i18n branch breaks control-^ and control-@
Last modified: 2009-08-15 18:40:50 UTC
[libzvt2.0_0-2.0.1-5mdk] control-shift-6 on a US keyboard is usually control-^ With this release of libzvt it now generates an underlined 6, and control-6 generated control^ Neither Control-2 nor control-space generates a NUL though, and neither does control-shift-zero. Please make control-shift-six (^^) work again! It's used in the vi text editor (and probably emacs). Or do I need to live with control-6 generating control-^ abd control-^ generating control-6? Or could you use the keys on the numeric keypad instead? Liam
assigning to hidetoshi, it is i18n branch
gdk's key press event for ctl-shift-6 is like: *event = { type = GDK_KEY_PRESS window = 0x152cf0 send_event = '\0' time = 3547617748U state = 5U keyval = 94U length = 1 string = 0x12aa88 "^^" hardware_keycode = 42U group = '\0' } The event->string[0] is 0x1e here, so it's returned as input string to the application on the terminal. ctrl-^ also returns 0x1e. Not only with libzvt from libzvt-i18n branch but also from the HEAD, gnome-terminal behaves like this. xterm and CDE's dtterm behave samely. To me, everything looks normal. Am I missing something?
Yes, you are missing trying it out in gnome-terminal and finding that control-shift-six does not not return a string to the application. I think it's probably being intercepted by g-t or gtk somewhere -- control-shift-digit is used to enter a unicode digit now, which breaks compatibility with other terminal emulators and applications. Best, Liam
I got it. This is a feature of gtk+. The "Default" input method converts ctl-shift-something to a Unicode character. Actually, you must get underlined "6" not only on gnome-terminal but on gedit, right? A simple workaround is to setenv GTK_IM_MODULE and to use any other input method than the default one when you run gnome-terminal. If you want to hack code change in gtk+ to make "xim" always the default, you can put a patch to gtk+/modules/input/imxim.c as follows: (which Sun does in the local build.) Index: gtk+/modules/input/imxim.c =================================================================== RCS file: /cvs/gnome/gtk+/modules/input/imxim.c,v retrieving revision 1.3 diff -u -r1.3 imxim.c --- gtk+/modules/input/imxim.c 27 Feb 2002 19:09:35 -0000 1.3 +++ gtk+/modules/input/imxim.c 12 Apr 2002 17:53:40 -0000 @@ -27,7 +27,7 @@ N_("X Input Method"), /* Human readable name */ "gtk+", /* Translation domain */ GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */ - "ko:ja:zh" /* Languages for which this module is the default */ + "*" /* Languages for which this module is the default */ }; static const GtkIMContextInfo *info_list[] = {
See Bug 58201 for related topic. I don't think this is libzvt's issue.. Can we close this?
Closing this bug as it's not libzvt's issue. Please reopen if you think otherwise. BTW, I opened Bug 91457 - to add user interface to switch input methods at gnome-terminal, which is a 2.2 stuff.