File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -147,7 +147,7 @@ enum MapVirtualKeyType
147147 static extern int MapVirtualKey ( int code , MapVirtualKeyType type ) ;
148148
149149 [ DllImport ( "user32.dll" , CharSet = CharSet . Unicode ) ]
150- static extern int GetKeyNameText ( int scanCode , [ Out ] string name , int nameLength ) ;
150+ static extern int GetKeyNameText ( int scanCode , [ Out ] char [ ] name , int nameLength ) ;
151151 #endregion
152152
153153 // Keyboard scancodes are basically constant; some keyboards have extra buttons (e.g. UK ones tend to have an
@@ -653,9 +653,9 @@ public static Keys GetScanCodeKeys(int scanCode)
653653 public static string GetScanCodeKeyName ( int scanCode )
654654 {
655655 var xnaName = Enum . GetName ( typeof ( Keys ) , GetScanCodeKeys ( scanCode ) ) ;
656- var keyName = new String ( ' \0 ' , 32 ) ;
657- var keyNameLength = GetKeyNameText ( scanCode << 16 , keyName , keyName . Length ) ;
658- keyName = keyName . Substring ( 0 , keyNameLength ) ;
656+ var keyNameBuffer = new char [ 32 ] ;
657+ var keyNameLength = GetKeyNameText ( scanCode << 16 , keyNameBuffer , keyNameBuffer . Length ) ;
658+ var keyName = new string ( keyNameBuffer , 0 , keyNameLength ) ;
659659
660660 if ( keyName . Length > 0 )
661661 {
You can’t perform that action at this time.
0 commit comments