From 8de269636901674abcaa13ecd14e4a42b67b4645 Mon Sep 17 00:00:00 2001 From: crs Date: Sat, 4 May 2002 18:09:02 +0000 Subject: [PATCH] checkpoint. changed when toggle keys toggle (now always on release). must see if this works. --- client/CXWindowsSecondaryScreen.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/client/CXWindowsSecondaryScreen.cpp b/client/CXWindowsSecondaryScreen.cpp index 3c16cbe9..bfac2f44 100644 --- a/client/CXWindowsSecondaryScreen.cpp +++ b/client/CXWindowsSecondaryScreen.cpp @@ -585,13 +585,23 @@ KeyModifierMask CXWindowsSecondaryScreen::mapKey( // get modifier const unsigned int modifierBit = (1 << index->second); +/* FIXME -- old comment // toggle keys modify the state on press if toggling on and on // release if toggling off. other keys set the bit on press // and clear the bit on release. if half-duplex then toggle // each time we get here. +*/ + // toggle keys modify the state on release. other keys set the + // bit on press and clear the bit on release. if half-duplex + // then toggle each time we get here. if ((modifierBit & m_toggleModifierMask) != 0) { + if (action == kRelease) { + mask ^= modifierBit; + } +/* FIXME -- supposed to toggle on on press and off on release but does it? if (((mask & modifierBit) == 0) == (action == kPress)) mask ^= modifierBit; +*/ } else if (action == kPress) { mask |= modifierBit;