Keymapping problems with (remote) MacOS X11 server



Hi,

With GTK (2.6.10), I have problems when running applications against a remote MacOS X11 server with a Swedish keyboard, e.g the "7" key generates the following symbols

  "7"             -> 7         ("7")
  "<shift>7"      -> slash     ("/")
  "<alt>7"        -> bar       ("|")
  "<alt><shift>7" -> backslash ("\")

as can be seen from the following xev events:

KeyPress event, serial 24, synthetic NO, window 0x1200001,
    root 0x57, subw 0x0, time 77291681, (117,103), root:(117,147),
    state 0x0, keycode 34 (keysym 0x37, 7), same_screen YES,
    XLookupString gives 1 bytes: (37) "7"
    XmbLookupString gives 1 bytes: (37) "7"
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0x1200001,
    root 0x57, subw 0x1200002, time 77151914, (64,46), root:(64,90),
    state 0x1, keycode 34 (keysym 0x2f, slash), same_screen YES,
    XLookupString gives 1 bytes: (2f) "/"
    XmbLookupString gives 1 bytes: (2f) "/"
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0x1200001,
    root 0x57, subw 0x1200002, time 77152757, (64,46), root:(64,90),
    state 0x8, keycode 34 (keysym 0x7c, bar), same_screen YES,
    XLookupString gives 1 bytes: (7c) "|"
    XmbLookupString gives 1 bytes: (7c) "|"
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0x1200001,
    root 0x57, subw 0x0, time 77295470, (117,103), root:(117,147),
    state 0x9, keycode 34 (keysym 0x5c, backslash), same_screen YES,
    XLookupString gives 1 bytes: (5c) "\"
    XmbLookupString gives 1 bytes: (5c) "\"
    XFilterEvent returns: False


But with GTK applications these keys instead gives the following result:

string=7, state=0x0, keyval=0x37, hardware_keycode=0x22
string=/, state=0x1, keyval=0x2f, hardware_keycode=0x22
string=7, state=0x8, keyval=0x37, hardware_keycode=0x22
string=/, state=0x9, keyval=0x2f, hardware_keycode=0x22

I.e. hardware_keycode and state is correct, but string and keyval are wrong (or at least not consistent with other X applications). I have tried to work around it by trying a bind to a key-press-event in gtkrc-2.0, but have not been able to determine the correct parameters (I get a 'gtk_binding_entry_activate(): binding "test::<Alt>7": signature mismatch for signal "key-press-event" in the `GtkTextView' class ancestry').

Anybody that can shed some light on this?

Regards

Anders Blomdell





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