Revision: 5106 http://tigervnc.svn.sourceforge.net/tigervnc/?rev=5106&view=rev Author: ossman_ Date: 2013-05-23 11:42:41 +0000 (Thu, 23 May 2013) Log Message: ----------- XkbTranslateKeyCode() is not implemented according to specification in any system I can find, so change our code to follow reality rather than specification.
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:41:35 UTC (rev 5105) +++ trunk/unix/xserver/hw/vnc/InputXKB.cc 2013-05-23 11:42:41 UTC (rev 5106) @@ -414,7 +414,14 @@ if (ks == NoSymbol) continue; - if (state_out & state & LockMask) + /* + * Despite every known piece of documentation on + * XkbTranslateKeyCode() stating that mods_rtrn returns + * the unconsumed modifiers, in reality it always + * returns the _potentially consumed_ modifiers. + */ + state_out = state & ~state_out; + if (state_out & LockMask) XkbConvertCase(ks, &dummy, &ks); if (ks == keysym) 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