The workaround seems to be
xmodmap -e 'keycode 94 = comma less'
But why do I need this?
Chris Quenelle wrote:
> I'm having a keyboard problem where my less than sign is broken.
> The problem is very intriguing.
>
> It only shows up with Xvnc.
>
> It shows up on the last several builds, and I can't imagine
> that it was there and I didn't notice it, but maybe ...
>
> I have keycaps on KB that have the usual (less-than/comma)
> and (greater-than/period) characters on them.
>
> When I examine the output of xmodmap -pk, I see that
> these should map to keycodes 59 and 60:
>
> 59 0x002c (comma) 0x003c (less) 0x002c (comma) 0x003c (less)
> 60 0x002e (period) 0x003e (greater) 0x002e (period) 0x003e (greater)
>
> When I use the xev program, I can see that is true.
> Except when I press the comma key with a shift key held down.
> It tells me I've hit keycode 94. And shift-94 turns out to
> be greater-than.
>
> So basically my less-than key produces greater-than, but all
> other keys seem to work fine, including the unshifted behavior
> of the same key.
>
> I see an extra line about XKeysymToKeycode in the xev output,
> but I have no idea what that signifies.
>
> If anyone has hints for how to debug this next, I'd be grateful.
>
> What utilities should I use to investigate keyboard drivers and
> keyboard bindings, as they apply to Xvnc?
>
> Here is the partial output from "xmodmap -pk"
>
> 59 0x002c (comma) 0x003c (less) 0x002c (comma) 0x003c
> (less)
> 60 0x002e (period) 0x003e (greater) 0x002e (period) 0x003e
> (greater)
>
> 94 0x003c (less) 0x003e (greater) 0x003c (less) 0x003e
> (greater) 0x007c (bar) 0x00a6 (brokenbar)
>
> Here is the output from xev:
>
> greater-than produces:
>
> KeyRelease event, serial 222, synthetic NO, window 0x1c00001,
> root 0xfd, subw 0x1c00002, time 4037746580, (34,46), root:(1044,942),
> state 0x1, keycode 60 (keysym 0x3e, greater), same_screen YES,
> XLookupString gives 1 bytes: (3e) ">"
> XFilterEvent returns: False
>
> less-than produces:
>
> KeyRelease event, serial 222, synthetic NO, window 0x1c00001,
> root 0xfd, subw 0x1c00002, time 4037746190, (34,46), root:(1044,942),
> state 0x1, keycode 94 (keysym 0x3e, greater), same_screen YES,
> XKeysymToKeycode returns keycode: 60
> XLookupString gives 1 bytes: (3e) ">"
> XFilterEvent returns: False
>
>
>
> -----------
>
> Here is the Xvnc startup log (newlines removed):
>
> Xvnc TigerVNC 1.0.0
> Copyright (C) 2002-2005 RealVNC Ltd.
> Copyright (C) 2000-2006 Constantin Kaplinsky
> Copyright (C) 2004-2009 Peter Astrand for Cendio AB
> See http://www.tigervnc.org for information on TigerVNC.
> Underlying X server release 10704000,
>
>
> Tue Jan 26 13:54:14 2010
> vncext: VNC extension running!
> vncext: Listening for VNC connections on port 5901
> vncext: created VNC server for screen 0
> _IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root
> GNOME_KEYRING_SOCKET=/var/tmp/keyring-tBk17h/socket
> SSH_AUTH_SOCK=/var/tmp/keyring-tBk17h/socket.ssh
> GNOME_KEYRING_PID=1447
>
> ** (gnome-settings-daemon:1445): WARNING **: Call to screen_info_new is too
> frequent, skipping...
> ** (gnome-settings-daemon:1445): WARNING **: Call to screen_info_new is too
> frequent, skipping...
> ** (gnome-settings-daemon:1445): WARNING **: Call to screen_info_new is too
> frequent, skipping...
> ** (gnome-settings-daemon:1445): WARNING **: Call to screen_info_new is too
> frequent, skipping...
> Window manager warning: Failed to read saved session file
> /home/quenelle/.config/metacity/sessions/10dc2bc1f85f6faf32126454285794605600000014230019
> .ms: Failed to open file
> '/home/quenelle/.config/metacity/sessions/10dc2bc1f85f6faf32126454285794605600000014230019.ms':
> No such file or directory
> /usr/bin/dispswitch exiting: too few (less than 2) or too many (more than 2)
> crtcs: 1
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/wubi_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/newpy_gbk.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/newsp_gbk.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/cle/input_methods/NeiMa.so
>
> ** (gnome-power-manager:1468): WARNING **: DBUS error: Could not get owner of
> name 'org.gnome.ScreenSaver': no such name
> ** (gnome-power-manager:1468): DEBUG: proxy is NULL, maybe the daemon
> responsible for org.gnome.ScreenSaver is not running?
> Xlib: extension "DPMS" missing on display ":1.0".
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/sunpinyin_big5.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/cangjie.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/boshiamy.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/dayi.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/zhuyin.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/array.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/codetable_im.so
> Warning: could not open module file:
> /usr/lib/iiim/le/twle/input_methods/NeiMa.so
> started.
> SUNWpython-notify package must be installed
>
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> Initializing nautilus-open-terminal extension
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkimagemenuitem.c: line 825:
> assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed
> Allow the connection from unknown source.
> Client shut down the connection owned by im_id(1).
> Client shut down the connection owned by im_id(1).
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-WARNING **: About JDS: missing action About JDS
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-WARNING **: About JDS: missing action About JDS
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-WARNING **: About JDS: missing action About JDS
> (nautilus:1465): Gtk-WARNING **: Go to Burn CD: missing action Go to Burn CD
> (nautilus:1465): Gtk-CRITICAL **: file gtkwidget.c: line 6112: assertion
> `GTK_IS_WIDGET (widget)' failed
> (nautilus:1465): Gtk-CRITICAL **: file gtkuimanager.c: line 1986: assertion
> `GTK_IS_MENU_SHELL (menushell)' failed
> (nautilus:1465): Gtk-WARNING **: About JDS: missing action About JDS
> 26/01/2010 1:54:23 PM Autoprobing TCP port in (all) network interface
> 26/01/2010 1:54:23 PM Listening IPv{4,6}://*:5900
> 26/01/2010 1:54:23 PM Autoprobing selected port 5900
> 26/01/2010 1:54:23 PM Advertising security type: 'TLS' (18)
> 26/01/2010 1:54:23 PM Advertising authentication type: 'VNC Authentication'
> (2)
> 26/01/2010 1:54:23 PM Advertising security type: 'VNC Authentication' (2)
> _______________________________________________
> desktop-discuss mailing list
> desktop-discuss at opensolaris.org