[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tigervnc-commits
Subject:    [Tigervnc-commits] SF.net SVN: tigervnc:[5108] trunk/unix/xserver/hw/vnc/InputXKB.cc
From:       ossman_ () users ! sourceforge ! net
Date:       2013-05-23 11:45:19
Message-ID: E1UfTxP-0001jo-70 () sfp-svn-2 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Revision: 5108
          http://tigervnc.svn.sourceforge.net/tigervnc/?rev=5108&view=rev
Author:   ossman_
Date:     2013-05-23 11:45:18 +0000 (Thu, 23 May 2013)
Log Message:
-----------
xkbcomp ignores keycodes without names, so make sure any keycode
we use actually has one.

Modified Paths:
--------------
    trunk/unix/xserver/hw/vnc/InputXKB.cc

Modified: trunk/unix/xserver/hw/vnc/InputXKB.cc
===================================================================
--- trunk/unix/xserver/hw/vnc/InputXKB.cc	2013-05-23 11:44:23 UTC (rev 5107)
+++ trunk/unix/xserver/hw/vnc/InputXKB.cc	2013-05-23 11:45:18 UTC (rev 5108)
@@ -501,6 +501,22 @@
 
 	XkbSetCauseUnknown(&cause);
 
+	/*
+	 * Tools like xkbcomp get confused if there isn't a name
+	 * assigned to the keycode we're trying to use.
+	 */
+	if (xkb->names && xkb->names->keys &&
+	    (xkb->names->keys[key].name[0] == '\0')) {
+		xkb->names->keys[key].name[0] = 'I';
+		xkb->names->keys[key].name[1] = '0' + (key / 100) % 10;
+		xkb->names->keys[key].name[2] = '0' + (key /  10) % 10;
+		xkb->names->keys[key].name[3] = '0' + (key /   1) % 10;
+
+		changes.names.changed |= XkbKeyNamesMask;
+		changes.names.first_key = key;
+		changes.names.num_keys = 1;
+	}
+
 	/* FIXME: Verify that ONE_LEVEL isn't screwed up */
 
 	types[XkbGroup1Index] = XkbOneLevelIndex;

This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Tigervnc-commits mailing list
Tigervnc-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic