Re: [Spice-devel] [PATCH spice-gtk 6/7] keymaps: add basic x11 keysyms

2013-05-13 Thread Daniel P. Berrange
On Fri, May 10, 2013 at 10:46:07PM +0200, Marc-André Lureau wrote:
 Ok, this isn't a good idea, but atm, the browser don't seem to send
 hardware keycode, and so Gtk+ broadway backend decided to use keysyms
 representation, which spice-gtk receives as hardware keycodes...
 
 Since Gdk keysyms are same as X11, add a new x11 keysym to keymap.
 
 This is not going to fly,...

Yeah this is pretty much doomed to awfulness. We need to get GTK
to pass through better data for hardware keycodes

Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 6/7] keymaps: add basic x11 keysyms

2013-05-13 Thread Marc-André Lureau
Hi

- Mensaje original -
 On Fri, May 10, 2013 at 10:46:07PM +0200, Marc-André Lureau wrote:
  Ok, this isn't a good idea, but atm, the browser don't seem to send
  hardware keycode, and so Gtk+ broadway backend decided to use keysyms
  representation, which spice-gtk receives as hardware keycodes...
  
  Since Gdk keysyms are same as X11, add a new x11 keysym to keymap.
  
  This is not going to fly,...
 
 Yeah this is pretty much doomed to awfulness. We need to get GTK
 to pass through better data for hardware keycodes

It's probably a browser limitation atm, but it could already be a bit better:

https://bugzilla.gnome.org/show_bug.cgi?id=700105
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] [PATCH spice-gtk 6/7] keymaps: add basic x11 keysyms

2013-05-10 Thread Marc-André Lureau
Ok, this isn't a good idea, but atm, the browser don't seem to send
hardware keycode, and so Gtk+ broadway backend decided to use keysyms
representation, which spice-gtk receives as hardware keycodes...

Since Gdk keysyms are same as X11, add a new x11 keysym to keymap.

This is not going to fly,...
---
 gtk/Makefile.am   |   4 +
 gtk/keymap-gen.pl |   8 +-
 gtk/keymaps.csv   | 248 ++
 3 files changed, 147 insertions(+), 113 deletions(-)

diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index e65d3e2..17544fb 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -14,6 +14,7 @@ KEYMAPS = \
vncdisplaykeymap_xorgxwin2xtkbd.c   \
vncdisplaykeymap_osx2xtkbd.c\
vncdisplaykeymap_win322xtkbd.c  \
+   vncdisplaykeymap_x112xtkbd.c\
$(NULL)
 
 # End users build dependencies can be cleaned
@@ -520,6 +521,9 @@ vncdisplaykeymap_osx2xtkbd.c:
 vncdisplaykeymap_win322xtkbd.c:
$(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv win32 xtkbd  $@ || rm $@
 
+vncdisplaykeymap_x112xtkbd.c:
+   $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv x11 xtkbd  $@ || rm $@
+
 if WITH_PYTHON
 pyexec_LTLIBRARIES = SpiceClientGtk.la
 
diff --git a/gtk/keymap-gen.pl b/gtk/keymap-gen.pl
index 3582e2b..56953f8 100755
--- a/gtk/keymap-gen.pl
+++ b/gtk/keymap-gen.pl
@@ -14,6 +14,7 @@ my %namecolumns = (
 linux = 0,
 osx = 2,
 win32 = 10,
+x11 = 14,
 );
 
 # Base data sources:
@@ -28,7 +29,9 @@ my %namecolumns = (
 #usb:   USB HID: linux/drivers/hid/usbhid/usbkbd.c  
(usb_kbd_keycode)
 #  win32: Win32: mingw32/winuser.h  (manually 
mapped)
 # xwinxt:   XWin XT: xorg-server/hw/xwin/{winkeybd.c,winkeynames.h} (xt + 
manually transcribed)
-# xkbdxt:   XKBD XT: xf86-input-keyboard/src/at_scancode.c  (xt + 
manually transcribed)
+# xkbdxt:   XKBD XT: xf86-input-keyboard/src/at_scancode.c
+#(xt + manually transcribed)
+#x11: X11 keysyms: 
http://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h
 #
 # Derived data sources
 #
@@ -38,7 +41,7 @@ my %namecolumns = (
 # xorgxwin: Xorg + Cygwin: xwinxt + an offset
 #  rfb:   XT over RFB: xtkbd + special re-encoding of high bit
 
-my @basemaps = qw(linux osx atset1 atset2 atset3 xt xtkbd usb win32 xwinxt 
xkbdxt);
+my @basemaps = qw(linux osx atset1 atset2 atset3 xt xtkbd usb win32 xwinxt 
xkbdxt x11);
 my @derivedmaps = qw(xorgevdev xorgkbd xorgxquartz xorgxwin rfb);
 my @maps = (@basemaps, @derivedmaps);
 
@@ -58,6 +61,7 @@ my %mapcolumns = (
 win32 = 11,
 xwinxt = 12,
 xkbdxt = 13,
+x11 = 15
 );
 
 sub help {
diff --git a/gtk/keymaps.csv b/gtk/keymaps.csv
index ab29e4a..9052e3b 100644
--- a/gtk/keymaps.csv
+++ b/gtk/keymaps.csv
@@ -1,91 +1,117 @@
-Linux Name,Linux Keycode,OS-X Name,OS-X Keycode,AT set1 keycode,AT 
set2 keycode,AT set3 keycode,XT,XT KBD,USB Keycodes,Win32 Name,Win32 
Keycode,Xwin XT,Xfree86 KBD XT
-KEY_RESERVED,0
-KEY_ESC,1,Escape,0x35,1,118,8,1,1,41,VK_ESCAPE,0x1b,1,1
-KEY_1,2,ANSI_1,0x12,2,22,22,2,2,30,VK_1,0x31,2,2
-KEY_2,3,ANSI_2,0x13,3,30,30,3,3,31,VK_2,0x32,3,3
-KEY_3,4,ANSI_3,0x14,4,38,38,4,4,32,VK_3,0x33,4,4
-KEY_4,5,ANSI_4,0x15,5,37,37,5,5,33,VK_4,0x34,5,5
-KEY_5,6,ANSI_5,0x17,6,46,46,6,6,34,VK_5,0x35,6,6
-KEY_6,7,ANSI_6,0x16,7,54,54,7,7,35,VK_6,0x36,7,7
-KEY_7,8,ANSI_7,0x1a,8,61,61,8,8,36,VK_7,0x37,8,8
-KEY_8,9,ANSI_8,0x1c,9,62,62,9,9,37,VK_8,0x38,9,9
-KEY_9,10,ANSI_9,0x19,10,70,70,10,10,38,VK_9,0x39,10,10
-KEY_0,11,ANSI_0,0x1d,11,69,69,11,11,39,VK_0,0x30,11,11
-KEY_MINUS,12,ANSI_Minus,0x1b,12,78,78,12,12,45,VK_OEM_MINUS,0xbd,12,12
-KEY_EQUAL,13,ANSI_Equal,0x18,13,85,85,13,13,46,VK_OEM_PLUS,0xbb,13,13
-KEY_BACKSPACE,14,Delete,0x33,14,102,102,14,14,42,VK_BACK,0x08,14,14
-KEY_TAB,15,Tab,0x30,15,13,13,15,15,43,VK_TAB,0x09,15,15
-KEY_Q,16,ANSI_Q,0xc,16,21,21,16,16,20,VK_Q,0x51,16,16
-KEY_W,17,ANSI_W,0xd,17,29,29,17,17,26,VK_W,0x57,17,17
-KEY_E,18,ANSI_E,0xe,18,36,36,18,18,8,VK_E,0x45,18,18
-KEY_R,19,ANSI_R,0xf,19,45,45,19,19,21,VK_R,0x52,19,19
-KEY_T,20,ANSI_T,0x11,20,44,44,20,20,23,VK_T,0x54,20,20
-KEY_Y,21,ANSI_Y,0x10,21,53,53,21,21,28,VK_Y,0x59,21,21
-KEY_U,22,ANSI_U,0x20,22,60,60,22,22,24,VK_U,0x55,22,22
-KEY_I,23,ANSI_I,0x22,23,67,67,23,23,12,VK_I,0x49,23,23
-KEY_O,24,ANSI_O,0x1f,24,68,68,24,24,18,VK_O,0x4f,24,24
-KEY_P,25,ANSI_P,0x23,25,77,77,25,25,19,VK_P,0x50,25,25
-KEY_LEFTBRACE,26,ANSI_LeftBracket,0x21,26,84,84,26,26,47,VK_OEM_4,0xdb,26,26
-KEY_RIGHTBRACE,27,ANSI_RightBracket,0x1e,27,91,91,27,27,48,VK_OEM_6,0xdd,27,27
-KEY_ENTER,28,Return,0x24,28,90,90,28,28,40,VK_RETURN,0x0d,28,28
-KEY_LEFTCTRL,29,Control,0x3b,29,20,17,29,29,224,VK_LCONTROL,0xa2,29,29
-KEY_LEFTCTRL,29,Control,0x3b,29,20,17,29,29,224,VK_CONTROL,0x11,29,29
-KEY_A,30,ANSI_A,0x0,30,28,28,30,30,4,VK_A,0x41,30,30
-KEY_S,31,ANSI_S,0x1,31,27,27,31,31,22,VK_S,0x53,31,31
-KEY_D,32,ANSI_D,0x2,32,35,35,32,32,7,VK_D,0x44,32,32