From bb6cd2901edfa135f1cfeef862519e53e243aa4c Mon Sep 17 00:00:00 2001 From: Marc Sibson Date: Sun, 22 Mar 2015 22:11:43 -0700 Subject: [PATCH] --force-caps works with special keys, fixes #26 --- vncdotool/client.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vncdotool/client.py b/vncdotool/client.py index eab38db6..b2d16661 100644 --- a/vncdotool/client.py +++ b/vncdotool/client.py @@ -130,9 +130,12 @@ class VNCDoToolClient(rfb.RFBClient): cursor = None cmask = None + SPECIAL_KEYS_US = "~!@#$%^&*()_+{}|:\"<>?" + def _decodeKey(self, key): - if self.factory.force_caps and key.isupper(): - key = 'shift-%c' % key + if self.factory.force_caps: + if key.isupper() or key in self.SPECIAL_KEYS_US: + key = 'shift-%c' % key if len(key) == 1: keys = [key]