2 using System.Collections.Generic;
\r
4 using System.Windows.Forms;
\r
5 using SlimDX.DirectInput;
\r
9 public class DeviceConstantConverter
\r
13 public static Key DIKtoKey( int dik )
\r
57 return Key.Backspace;
\r
93 return Key.LeftBracket;
\r
96 return Key.RightBracket;
\r
102 return Key.LeftControl;
\r
132 return Key.Semicolon;
\r
135 return Key.Apostrophe;
\r
141 return Key.LeftShift;
\r
144 return Key.Backslash;
\r
177 return Key.RightShift;
\r
180 return Key.NumberPadStar;
\r
183 return Key.LeftAlt;
\r
189 return Key.CapsLock;
\r
222 return Key.NumberLock;
\r
225 return Key.ScrollLock;
\r
228 return Key.NumberPad7;
\r
231 return Key.NumberPad8;
\r
234 return Key.NumberPad9;
\r
237 return Key.NumberPadMinus;
\r
240 return Key.NumberPad4;
\r
243 return Key.NumberPad5;
\r
246 return Key.NumberPad6;
\r
249 return Key.NumberPadPlus;
\r
252 return Key.NumberPad1;
\r
255 return Key.NumberPad2;
\r
258 return Key.NumberPad3;
\r
261 return Key.NumberPad0;
\r
264 return Key.NumberPadPeriod;
\r
291 return Key.Convert;
\r
294 return Key.NoConvert;
\r
303 return Key.NumberPadEquals;
\r
306 return Key.PreviousTrack;
\r
315 return Key.Underline;
\r
327 return Key.Unlabeled;
\r
330 return Key.NextTrack;
\r
333 return Key.NumberPadEnter;
\r
336 return Key.RightControl;
\r
342 return Key.Calculator;
\r
345 return Key.PlayPause;
\r
348 return Key.MediaStop;
\r
351 return Key.VolumeDown;
\r
354 return Key.VolumeUp;
\r
357 return Key.WebHome;
\r
360 return Key.NumberPadComma;
\r
363 return Key.NumberPadSlash;
\r
366 return Key.PrintScreen;
\r
369 return Key.RightAlt;
\r
378 return Key.UpArrow;
\r
384 return Key.LeftArrow;
\r
387 return Key.RightArrow;
\r
393 return Key.DownArrow;
\r
396 return Key.PageDown;
\r
405 return Key.LeftWindowsKey;
\r
408 return Key.RightWindowsKey;
\r
411 return Key.Applications;
\r
423 return Key.WebSearch;
\r
426 return Key.WebFavorites;
\r
429 return Key.WebRefresh;
\r
432 return Key.WebStop;
\r
435 return Key.WebForward;
\r
438 return Key.WebBack;
\r
441 return Key.MyComputer;
\r
447 return Key.MediaSelect;
\r
449 return Key.Unknown;
\r
451 public static int KeyToDIK( Key key )
\r
569 case Key.Apostrophe:
\r
572 case Key.Applications:
\r
581 case Key.Backspace:
\r
584 case Key.Backslash:
\r
587 case Key.Calculator:
\r
605 case Key.DownArrow:
\r
677 case Key.LeftBracket:
\r
680 case Key.LeftControl:
\r
683 case Key.LeftArrow:
\r
689 case Key.LeftShift:
\r
692 case Key.LeftWindowsKey:
\r
698 case Key.MediaSelect:
\r
701 case Key.MediaStop:
\r
710 case Key.MyComputer:
\r
713 case Key.NextTrack:
\r
716 case Key.NoConvert:
\r
719 case Key.NumberLock:
\r
722 case Key.NumberPad0:
\r
725 case Key.NumberPad1:
\r
728 case Key.NumberPad2:
\r
731 case Key.NumberPad3:
\r
734 case Key.NumberPad4:
\r
737 case Key.NumberPad5:
\r
740 case Key.NumberPad6:
\r
743 case Key.NumberPad7:
\r
746 case Key.NumberPad8:
\r
749 case Key.NumberPad9:
\r
752 case Key.NumberPadComma:
\r
755 case Key.NumberPadEnter:
\r
758 case Key.NumberPadEquals:
\r
761 case Key.NumberPadMinus:
\r
764 case Key.NumberPadPeriod:
\r
767 case Key.NumberPadPlus:
\r
770 case Key.NumberPadSlash:
\r
773 case Key.NumberPadStar:
\r
791 case Key.PlayPause:
\r
797 case Key.PreviousTrack:
\r
800 case Key.RightBracket:
\r
803 case Key.RightControl:
\r
809 case Key.RightArrow:
\r
815 case Key.RightShift:
\r
818 case Key.RightWindowsKey:
\r
821 case Key.ScrollLock:
\r
824 case Key.Semicolon:
\r
839 case Key.PrintScreen:
\r
845 case Key.Underline:
\r
848 case Key.Unlabeled:
\r
854 case Key.VolumeDown:
\r
866 case Key.WebFavorites:
\r
869 case Key.WebForward:
\r
875 case Key.WebRefresh:
\r
878 case Key.WebSearch:
\r
889 public static Keys KeyToKeyCode( Key key )
\r
1001 // case Key.AbntC1:
\r
1002 // return Keys.A; //0x73;
\r
1004 // case Key.AbntC2:
\r
1005 // return Keys.A; //0x7e;
\r
1007 // case Key.Apostrophe:
\r
1008 // return Keys.A; ///
\r
1010 case Key.Applications:
\r
1017 // return Keys.A; ///
\r
1019 case Key.Backspace:
\r
1022 case Key.Backslash:
\r
1025 // case Key.Calculator:
\r
1026 // return Keys.A; ///
\r
1028 case Key.CapsLock:
\r
1029 return Keys.CapsLock;
\r
1035 return Keys.Oemcomma;
\r
1038 return Keys.IMEConvert;
\r
1041 return Keys.Delete;
\r
1043 case Key.DownArrow:
\r
1050 return Keys.A; ///
\r
1053 return Keys.Escape;
\r
1101 return Keys.A; ///
\r
1107 return Keys.Insert;
\r
1110 return Keys.KanaMode;
\r
1113 return Keys.KanjiMode;
\r
1115 case Key.LeftBracket:
\r
1118 case Key.LeftControl:
\r
1119 return Keys.LControlKey;
\r
1121 case Key.LeftArrow:
\r
1125 return Keys.LMenu;
\r
1127 case Key.LeftShift:
\r
1128 return Keys.LShiftKey;
\r
1130 case Key.LeftWindowsKey:
\r
1134 return Keys.LaunchMail;
\r
1136 case Key.MediaSelect:
\r
1137 return Keys.SelectMedia;
\r
1139 case Key.MediaStop:
\r
1140 return Keys.MediaStop;
\r
1143 return Keys.OemMinus;
\r
1146 return Keys.VolumeMute;
\r
1148 case Key.MyComputer: ///
\r
1151 case Key.NextTrack:
\r
1152 return Keys.MediaNextTrack;
\r
1154 case Key.NoConvert:
\r
1155 return Keys.IMENonconvert;
\r
1157 case Key.NumberLock:
\r
1158 return Keys.NumLock;
\r
1160 case Key.NumberPad0:
\r
1161 return Keys.NumPad0;
\r
1163 case Key.NumberPad1:
\r
1164 return Keys.NumPad1;
\r
1166 case Key.NumberPad2:
\r
1167 return Keys.NumPad2;
\r
1169 case Key.NumberPad3:
\r
1170 return Keys.NumPad3;
\r
1172 case Key.NumberPad4:
\r
1173 return Keys.NumPad4;
\r
1175 case Key.NumberPad5:
\r
1176 return Keys.NumPad5;
\r
1178 case Key.NumberPad6:
\r
1179 return Keys.NumPad6;
\r
1181 case Key.NumberPad7:
\r
1182 return Keys.NumPad7;
\r
1184 case Key.NumberPad8:
\r
1185 return Keys.NumPad8;
\r
1187 case Key.NumberPad9:
\r
1188 return Keys.NumPad9;
\r
1190 case Key.NumberPadComma:
\r
1191 return Keys.Separator;
\r
1193 case Key.NumberPadEnter:
\r
1196 case Key.NumberPadEquals:
\r
1199 case Key.NumberPadMinus:
\r
1200 return Keys.Subtract;
\r
1202 case Key.NumberPadPeriod:
\r
1203 return Keys.Decimal;
\r
1205 case Key.NumberPadPlus:
\r
1208 case Key.NumberPadSlash:
\r
1209 return Keys.Divide;
\r
1211 case Key.NumberPadStar:
\r
1212 return Keys.Multiply; //
\r
1215 return Keys.Oem102;
\r
1217 case Key.PageDown:
\r
1218 return Keys.PageDown;
\r
1221 return Keys.PageUp;
\r
1224 return Keys.Pause;
\r
1227 return Keys.OemPeriod;
\r
1229 case Key.PlayPause:
\r
1230 return Keys.MediaPlayPause;
\r
1233 return Keys.A; ///
\r
1235 case Key.PreviousTrack:
\r
1236 return Keys.MediaPreviousTrack;
\r
1238 case Key.RightBracket:
\r
1241 case Key.RightControl:
\r
1242 return Keys.RControlKey;
\r
1245 return Keys.Return;
\r
1247 case Key.RightArrow:
\r
1248 return Keys.Right;
\r
1250 case Key.RightAlt:
\r
1251 return Keys.RMenu;
\r
1253 case Key.RightShift:
\r
1256 case Key.RightWindowsKey:
\r
1259 case Key.ScrollLock:
\r
1260 return Keys.Scroll;
\r
1262 case Key.Semicolon:
\r
1263 return Keys.Oemplus; ///??
\r
1269 return Keys.Sleep;
\r
1272 return Keys.Space;
\r
1275 return Keys.MediaStop;
\r
1277 case Key.PrintScreen:
\r
1278 return Keys.PrintScreen;
\r
1283 case Key.Underline:
\r
1284 return Keys.Oem102;
\r
1286 // case Key.Unlabeled: ///
\r
1292 case Key.VolumeDown:
\r
1293 return Keys.VolumeDown;
\r
1295 case Key.VolumeUp:
\r
1296 return Keys.VolumeUp;
\r
1299 return Keys.A; ///
\r
1302 return Keys.BrowserBack;
\r
1304 case Key.WebFavorites:
\r
1305 return Keys.BrowserFavorites;
\r
1307 case Key.WebForward:
\r
1308 return Keys.BrowserForward;
\r
1311 return Keys.BrowserHome;
\r
1313 case Key.WebRefresh:
\r
1314 return Keys.BrowserRefresh;
\r
1316 case Key.WebSearch:
\r
1317 return Keys.BrowserSearch;
\r
1320 return Keys.BrowserStop;
\r
1323 return Keys.OemBackslash;
\r