From 5d44f5292ff42006719c1191a2e5ff93aa175e1d Mon Sep 17 00:00:00 2001 From: Sean Fausett Date: Wed, 10 Feb 2010 08:06:26 +0000 Subject: [PATCH] Added Unix PlatformKeyCode support for Silverlight => Moonlight. --HG-- extra : convert_revision : svn%3Affd33b8c-2492-42e0-bdc5-587b920b7d6d/trunk%4040956 --- .../Services/SilverlightKeyboardService.cs | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Virtu/Silverlight/Services/SilverlightKeyboardService.cs b/Virtu/Silverlight/Services/SilverlightKeyboardService.cs index 1e9ac2e..30b22fc 100644 --- a/Virtu/Silverlight/Services/SilverlightKeyboardService.cs +++ b/Virtu/Silverlight/Services/SilverlightKeyboardService.cs @@ -316,7 +316,42 @@ private int GetAsciiKey(Key key, int platformKeyCode) } break; - case PlatformID.Unix: // TODO + case PlatformID.Unix: + switch (platformKeyCode) + { + case 0x2F: + return shift ? ':' : ';'; + + case 0x3D: + return shift ? '?' : '/'; + + case 0x31: + return shift ? '~' : '`'; + + case 0x22: + return shift ? '{' : '['; + + case 0x33: + return control ? 0x1C : shift ? '|' : '\\'; + + case 0x23: + return control ? 0x1D : shift ? '}' : ']'; + + case 0x30: + return shift ? '"' : '\''; + + case 0x14: + return control ? 0x1F : shift ? '_' : '-'; + + case 0x15: + return shift ? '+' : '='; + + case 0x3B: + return shift ? '<' : ','; + + case 0x3C: + return shift ? '>' : '.'; + } break; } break;