[gtk-vnc] vncdisplaykeymap: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard
- From: Daniel P. Berrange <dberrange src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-vnc] vncdisplaykeymap: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard
- Date: Sat, 28 Feb 2015 16:38:05 +0000 (UTC)
commit 81efaded88bf6235a4bd00659bac93fd0ae4bcd3
Author: Pavel Grunt <pgrunt redhat com>
Date: Sat Feb 28 16:34:12 2015 +0000
vncdisplaykeymap: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard
XkbGetKeyboard does not work in XWayland (bfo#89240).
Copied from spice-gtk: 95e322a6bbc29dc9c28724fb80706464e276b89f
src/vncdisplaykeymap.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/src/vncdisplaykeymap.c b/src/vncdisplaykeymap.c
index 92cda37..4f076ce 100644
--- a/src/vncdisplaykeymap.c
+++ b/src/vncdisplaykeymap.c
@@ -187,11 +187,12 @@ const guint16 *vnc_display_keymap_gdk2rfb_table(size_t *maplen)
* X servers..... patches welcomed.
*/
- desc = XkbGetKeyboard(gdk_x11_display_get_xdisplay(dpy),
- XkbGBN_AllComponentsMask,
- XkbUseCoreKbd);
+ Display *xdisplay = gdk_x11_display_get_xdisplay(dpy);
+ desc = XkbGetMap(xdisplay,
+ XkbGBN_AllComponentsMask,
+ XkbUseCoreKbd);
if (desc) {
- if (desc->names) {
+ if (XkbGetNames(xdisplay, XkbKeycodesNameMask, desc) == Success) {
keycodes = gdk_x11_get_xatom_name(desc->names->keycodes);
if (!keycodes)
g_warning("could not lookup keycode name");
@@ -217,11 +218,11 @@ const guint16 *vnc_display_keymap_gdk2rfb_table(size_t *maplen)
VNC_DEBUG("Using wayland evdec keycode mapping");
*maplen = G_N_ELEMENTS(keymap_xorgevdev2rfb);
return keymap_xorgevdev2rfb;
- } else if (keycodes && STRPREFIX(keycodes, "evdev_")) {
+ } else if (keycodes && STRPREFIX(keycodes, "evdev")) {
VNC_DEBUG("Using evdev keycode mapping");
*maplen = G_N_ELEMENTS(keymap_xorgevdev2rfb);
return keymap_xorgevdev2rfb;
- } else if (keycodes && STRPREFIX(keycodes, "xfree86_")) {
+ } else if (keycodes && STRPREFIX(keycodes, "xfree86")) {
VNC_DEBUG("Using xfree86 keycode mapping");
*maplen = G_N_ELEMENTS(keymap_xorgkbd2rfb);
return keymap_xorgkbd2rfb;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]