OSDN Git Service

#24609 任意画面での画面キャプチャ機能を追加。また、それに付随するリファクタ。FDKのメジャー番号更新(I/F追加に伴うもの)。
[dtxmania/dtxmania.git] / FDK17プロジェクト / コード / 02.入力 / DeviceConstantConverter.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Windows.Forms;\r
5 using SlimDX.DirectInput;\r
6 \r
7 namespace FDK\r
8 {\r
9         public class DeviceConstantConverter\r
10         {\r
11                 // メソッド\r
12 \r
13                 public static Key DIKtoKey( int dik )\r
14                 {\r
15                         switch( dik )\r
16                         {\r
17                                 case 1:\r
18                                         return Key.Escape;\r
19 \r
20                                 case 2:\r
21                                         return Key.D1;\r
22 \r
23                                 case 3:\r
24                                         return Key.D2;\r
25 \r
26                                 case 4:\r
27                                         return Key.D3;\r
28 \r
29                                 case 5:\r
30                                         return Key.D4;\r
31 \r
32                                 case 6:\r
33                                         return Key.D5;\r
34 \r
35                                 case 7:\r
36                                         return Key.D6;\r
37 \r
38                                 case 8:\r
39                                         return Key.D7;\r
40 \r
41                                 case 9:\r
42                                         return Key.D8;\r
43 \r
44                                 case 10:\r
45                                         return Key.D9;\r
46 \r
47                                 case 11:\r
48                                         return Key.D0;\r
49 \r
50                                 case 12:\r
51                                         return Key.Minus;\r
52 \r
53                                 case 13:\r
54                                         return Key.Equals;\r
55 \r
56                                 case 14:\r
57                                         return Key.Backspace;\r
58 \r
59                                 case 15:\r
60                                         return Key.Tab;\r
61 \r
62                                 case 0x10:\r
63                                         return Key.Q;\r
64 \r
65                                 case 0x11:\r
66                                         return Key.W;\r
67 \r
68                                 case 0x12:\r
69                                         return Key.E;\r
70 \r
71                                 case 0x13:\r
72                                         return Key.R;\r
73 \r
74                                 case 20:\r
75                                         return Key.T;\r
76 \r
77                                 case 0x15:\r
78                                         return Key.Y;\r
79 \r
80                                 case 0x16:\r
81                                         return Key.U;\r
82 \r
83                                 case 0x17:\r
84                                         return Key.I;\r
85 \r
86                                 case 0x18:\r
87                                         return Key.O;\r
88 \r
89                                 case 0x19:\r
90                                         return Key.P;\r
91 \r
92                                 case 0x1a:\r
93                                         return Key.LeftBracket;\r
94 \r
95                                 case 0x1b:\r
96                                         return Key.RightBracket;\r
97 \r
98                                 case 0x1c:\r
99                                         return Key.Return;\r
100 \r
101                                 case 0x1d:\r
102                                         return Key.LeftControl;\r
103 \r
104                                 case 30:\r
105                                         return Key.A;\r
106 \r
107                                 case 0x1f:\r
108                                         return Key.S;\r
109 \r
110                                 case 0x20:\r
111                                         return Key.D;\r
112 \r
113                                 case 0x21:\r
114                                         return Key.F;\r
115 \r
116                                 case 0x22:\r
117                                         return Key.G;\r
118 \r
119                                 case 0x23:\r
120                                         return Key.H;\r
121 \r
122                                 case 0x24:\r
123                                         return Key.J;\r
124 \r
125                                 case 0x25:\r
126                                         return Key.K;\r
127 \r
128                                 case 0x26:\r
129                                         return Key.L;\r
130 \r
131                                 case 0x27:\r
132                                         return Key.Semicolon;\r
133 \r
134                                 case 40:\r
135                                         return Key.Apostrophe;\r
136 \r
137                                 case 0x29:\r
138                                         return Key.Grave;\r
139 \r
140                                 case 0x2a:\r
141                                         return Key.LeftShift;\r
142 \r
143                                 case 0x2b:\r
144                                         return Key.Backslash;\r
145 \r
146                                 case 0x2c:\r
147                                         return Key.Z;\r
148 \r
149                                 case 0x2d:\r
150                                         return Key.X;\r
151 \r
152                                 case 0x2e:\r
153                                         return Key.C;\r
154 \r
155                                 case 0x2f:\r
156                                         return Key.V;\r
157 \r
158                                 case 0x30:\r
159                                         return Key.B;\r
160 \r
161                                 case 0x31:\r
162                                         return Key.N;\r
163 \r
164                                 case 50:\r
165                                         return Key.M;\r
166 \r
167                                 case 0x33:\r
168                                         return Key.Comma;\r
169 \r
170                                 case 0x34:\r
171                                         return Key.Period;\r
172 \r
173                                 case 0x35:\r
174                                         return Key.Slash;\r
175 \r
176                                 case 0x36:\r
177                                         return Key.RightShift;\r
178 \r
179                                 case 0x37:\r
180                                         return Key.NumberPadStar;\r
181 \r
182                                 case 0x38:\r
183                                         return Key.LeftAlt;\r
184 \r
185                                 case 0x39:\r
186                                         return Key.Space;\r
187 \r
188                                 case 0x3a:\r
189                                         return Key.CapsLock;\r
190 \r
191                                 case 0x3b:\r
192                                         return Key.F1;\r
193 \r
194                                 case 60:\r
195                                         return Key.F2;\r
196 \r
197                                 case 0x3d:\r
198                                         return Key.F3;\r
199 \r
200                                 case 0x3e:\r
201                                         return Key.F4;\r
202 \r
203                                 case 0x3f:\r
204                                         return Key.F5;\r
205 \r
206                                 case 0x40:\r
207                                         return Key.F6;\r
208 \r
209                                 case 0x41:\r
210                                         return Key.F7;\r
211 \r
212                                 case 0x42:\r
213                                         return Key.F8;\r
214 \r
215                                 case 0x43:\r
216                                         return Key.F9;\r
217 \r
218                                 case 0x44:\r
219                                         return Key.F10;\r
220 \r
221                                 case 0x45:\r
222                                         return Key.NumberLock;\r
223 \r
224                                 case 70:\r
225                                         return Key.ScrollLock;\r
226 \r
227                                 case 0x47:\r
228                                         return Key.NumberPad7;\r
229 \r
230                                 case 0x48:\r
231                                         return Key.NumberPad8;\r
232 \r
233                                 case 0x49:\r
234                                         return Key.NumberPad9;\r
235 \r
236                                 case 0x4a:\r
237                                         return Key.NumberPadMinus;\r
238 \r
239                                 case 0x4b:\r
240                                         return Key.NumberPad4;\r
241 \r
242                                 case 0x4c:\r
243                                         return Key.NumberPad5;\r
244 \r
245                                 case 0x4d:\r
246                                         return Key.NumberPad6;\r
247 \r
248                                 case 0x4e:\r
249                                         return Key.NumberPadPlus;\r
250 \r
251                                 case 0x4f:\r
252                                         return Key.NumberPad1;\r
253 \r
254                                 case 80:\r
255                                         return Key.NumberPad2;\r
256 \r
257                                 case 0x51:\r
258                                         return Key.NumberPad3;\r
259 \r
260                                 case 0x52:\r
261                                         return Key.NumberPad0;\r
262 \r
263                                 case 0x53:\r
264                                         return Key.NumberPadPeriod;\r
265 \r
266                                 case 0x56:\r
267                                         return Key.Oem102;\r
268 \r
269                                 case 0x57:\r
270                                         return Key.F11;\r
271 \r
272                                 case 0x58:\r
273                                         return Key.F12;\r
274 \r
275                                 case 100:\r
276                                         return Key.F13;\r
277 \r
278                                 case 0x65:\r
279                                         return Key.F14;\r
280 \r
281                                 case 0x66:\r
282                                         return Key.F15;\r
283 \r
284                                 case 0x70:\r
285                                         return Key.Kana;\r
286 \r
287                                 case 0x73:\r
288                                         return Key.AbntC1;\r
289 \r
290                                 case 0x79:\r
291                                         return Key.Convert;\r
292 \r
293                                 case 0x7b:\r
294                                         return Key.NoConvert;\r
295 \r
296                                 case 0x7d:\r
297                                         return Key.Yen;\r
298 \r
299                                 case 0x7e:\r
300                                         return Key.AbntC2;\r
301 \r
302                                 case 0x8d:\r
303                                         return Key.NumberPadEquals;\r
304 \r
305                                 case 0x90:\r
306                                         return Key.PreviousTrack;\r
307 \r
308                                 case 0x91:\r
309                                         return Key.AT;\r
310 \r
311                                 case 0x92:\r
312                                         return Key.Colon;\r
313 \r
314                                 case 0x93:\r
315                                         return Key.Underline;\r
316 \r
317                                 case 0x94:\r
318                                         return Key.Kanji;\r
319 \r
320                                 case 0x95:\r
321                                         return Key.Stop;\r
322 \r
323                                 case 150:\r
324                                         return Key.AX;\r
325 \r
326                                 case 0x97:\r
327                                         return Key.Unlabeled;\r
328 \r
329                                 case 0x99:\r
330                                         return Key.NextTrack;\r
331 \r
332                                 case 0x9c:\r
333                                         return Key.NumberPadEnter;\r
334 \r
335                                 case 0x9d:\r
336                                         return Key.RightControl;\r
337 \r
338                                 case 160:\r
339                                         return Key.Mute;\r
340 \r
341                                 case 0xa1:\r
342                                         return Key.Calculator;\r
343 \r
344                                 case 0xa2:\r
345                                         return Key.PlayPause;\r
346 \r
347                                 case 0xa4:\r
348                                         return Key.MediaStop;\r
349 \r
350                                 case 0xae:\r
351                                         return Key.VolumeDown;\r
352 \r
353                                 case 0xb0:\r
354                                         return Key.VolumeUp;\r
355 \r
356                                 case 0xb2:\r
357                                         return Key.WebHome;\r
358 \r
359                                 case 0xb3:\r
360                                         return Key.NumberPadComma;\r
361 \r
362                                 case 0xb5:\r
363                                         return Key.NumberPadSlash;\r
364 \r
365                                 case 0xb7:\r
366                                         return Key.PrintScreen;\r
367 \r
368                                 case 0xb8:\r
369                                         return Key.RightAlt;\r
370 \r
371                                 case 0xc5:\r
372                                         return Key.Pause;\r
373 \r
374                                 case 0xc7:\r
375                                         return Key.Home;\r
376 \r
377                                 case 200:\r
378                                         return Key.UpArrow;\r
379 \r
380                                 case 0xc9:\r
381                                         return Key.PageUp;\r
382 \r
383                                 case 0xcb:\r
384                                         return Key.LeftArrow;\r
385 \r
386                                 case 0xcd:\r
387                                         return Key.RightArrow;\r
388 \r
389                                 case 0xcf:\r
390                                         return Key.End;\r
391 \r
392                                 case 0xd0:\r
393                                         return Key.DownArrow;\r
394 \r
395                                 case 0xd1:\r
396                                         return Key.PageDown;\r
397 \r
398                                 case 210:\r
399                                         return Key.Insert;\r
400 \r
401                                 case 0xd3:\r
402                                         return Key.Delete;\r
403 \r
404                                 case 0xdb:\r
405                                         return Key.LeftWindowsKey;\r
406 \r
407                                 case 220:\r
408                                         return Key.RightWindowsKey;\r
409 \r
410                                 case 0xdd:\r
411                                         return Key.Applications;\r
412 \r
413                                 case 0xde:\r
414                                         return Key.Power;\r
415 \r
416                                 case 0xdf:\r
417                                         return Key.Sleep;\r
418 \r
419                                 case 0xe3:\r
420                                         return Key.Wake;\r
421 \r
422                                 case 0xe5:\r
423                                         return Key.WebSearch;\r
424 \r
425                                 case 230:\r
426                                         return Key.WebFavorites;\r
427 \r
428                                 case 0xe7:\r
429                                         return Key.WebRefresh;\r
430 \r
431                                 case 0xe8:\r
432                                         return Key.WebStop;\r
433 \r
434                                 case 0xe9:\r
435                                         return Key.WebForward;\r
436 \r
437                                 case 0xea:\r
438                                         return Key.WebBack;\r
439 \r
440                                 case 0xeb:\r
441                                         return Key.MyComputer;\r
442 \r
443                                 case 0xec:\r
444                                         return Key.Mail;\r
445 \r
446                                 case 0xed:\r
447                                         return Key.MediaSelect;\r
448                         }\r
449                         return Key.Unknown;\r
450                 }\r
451                 public static int KeyToDIK( Key key )\r
452                 {\r
453                         switch( key )\r
454                         {\r
455                                 case Key.D0:\r
456                                         return 11;\r
457 \r
458                                 case Key.D1:\r
459                                         return 2;\r
460 \r
461                                 case Key.D2:\r
462                                         return 3;\r
463 \r
464                                 case Key.D3:\r
465                                         return 4;\r
466 \r
467                                 case Key.D4:\r
468                                         return 5;\r
469 \r
470                                 case Key.D5:\r
471                                         return 6;\r
472 \r
473                                 case Key.D6:\r
474                                         return 7;\r
475 \r
476                                 case Key.D7:\r
477                                         return 8;\r
478 \r
479                                 case Key.D8:\r
480                                         return 9;\r
481 \r
482                                 case Key.D9:\r
483                                         return 10;\r
484 \r
485                                 case Key.A:\r
486                                         return 30;\r
487 \r
488                                 case Key.B:\r
489                                         return 0x30;\r
490 \r
491                                 case Key.C:\r
492                                         return 0x2e;\r
493 \r
494                                 case Key.D:\r
495                                         return 0x20;\r
496 \r
497                                 case Key.E:\r
498                                         return 0x12;\r
499 \r
500                                 case Key.F:\r
501                                         return 0x21;\r
502 \r
503                                 case Key.G:\r
504                                         return 0x22;\r
505 \r
506                                 case Key.H:\r
507                                         return 0x23;\r
508 \r
509                                 case Key.I:\r
510                                         return 0x17;\r
511 \r
512                                 case Key.J:\r
513                                         return 0x24;\r
514 \r
515                                 case Key.K:\r
516                                         return 0x25;\r
517 \r
518                                 case Key.L:\r
519                                         return 0x26;\r
520 \r
521                                 case Key.M:\r
522                                         return 50;\r
523 \r
524                                 case Key.N:\r
525                                         return 0x31;\r
526 \r
527                                 case Key.O:\r
528                                         return 0x18;\r
529 \r
530                                 case Key.P:\r
531                                         return 0x19;\r
532 \r
533                                 case Key.Q:\r
534                                         return 0x10;\r
535 \r
536                                 case Key.R:\r
537                                         return 0x13;\r
538 \r
539                                 case Key.S:\r
540                                         return 0x1f;\r
541 \r
542                                 case Key.T:\r
543                                         return 20;\r
544 \r
545                                 case Key.U:\r
546                                         return 0x16;\r
547 \r
548                                 case Key.V:\r
549                                         return 0x2f;\r
550 \r
551                                 case Key.W:\r
552                                         return 0x11;\r
553 \r
554                                 case Key.X:\r
555                                         return 0x2d;\r
556 \r
557                                 case Key.Y:\r
558                                         return 0x15;\r
559 \r
560                                 case Key.Z:\r
561                                         return 0x2c;\r
562 \r
563                                 case Key.AbntC1:\r
564                                         return 0x73;\r
565 \r
566                                 case Key.AbntC2:\r
567                                         return 0x7e;\r
568 \r
569                                 case Key.Apostrophe:\r
570                                         return 40;\r
571 \r
572                                 case Key.Applications:\r
573                                         return 0xdd;\r
574 \r
575                                 case Key.AT:\r
576                                         return 0x91;\r
577 \r
578                                 case Key.AX:\r
579                                         return 150;\r
580 \r
581                                 case Key.Backspace:\r
582                                         return 14;\r
583 \r
584                                 case Key.Backslash:\r
585                                         return 0x2b;\r
586 \r
587                                 case Key.Calculator:\r
588                                         return 0xa1;\r
589 \r
590                                 case Key.CapsLock:\r
591                                         return 0x3a;\r
592 \r
593                                 case Key.Colon:\r
594                                         return 0x92;\r
595 \r
596                                 case Key.Comma:\r
597                                         return 0x33;\r
598 \r
599                                 case Key.Convert:\r
600                                         return 0x79;\r
601 \r
602                                 case Key.Delete:\r
603                                         return 0xd3;\r
604 \r
605                                 case Key.DownArrow:\r
606                                         return 0xd0;\r
607 \r
608                                 case Key.End:\r
609                                         return 0xcf;\r
610 \r
611                                 case Key.Equals:\r
612                                         return 13;\r
613 \r
614                                 case Key.Escape:\r
615                                         return 1;\r
616 \r
617                                 case Key.F1:\r
618                                         return 0x3b;\r
619 \r
620                                 case Key.F2:\r
621                                         return 60;\r
622 \r
623                                 case Key.F3:\r
624                                         return 0x3d;\r
625 \r
626                                 case Key.F4:\r
627                                         return 0x3e;\r
628 \r
629                                 case Key.F5:\r
630                                         return 0x3f;\r
631 \r
632                                 case Key.F6:\r
633                                         return 0x40;\r
634 \r
635                                 case Key.F7:\r
636                                         return 0x41;\r
637 \r
638                                 case Key.F8:\r
639                                         return 0x42;\r
640 \r
641                                 case Key.F9:\r
642                                         return 0x43;\r
643 \r
644                                 case Key.F10:\r
645                                         return 0x44;\r
646 \r
647                                 case Key.F11:\r
648                                         return 0x57;\r
649 \r
650                                 case Key.F12:\r
651                                         return 0x58;\r
652 \r
653                                 case Key.F13:\r
654                                         return 100;\r
655 \r
656                                 case Key.F14:\r
657                                         return 0x65;\r
658 \r
659                                 case Key.F15:\r
660                                         return 0x66;\r
661 \r
662                                 case Key.Grave:\r
663                                         return 0x29;\r
664 \r
665                                 case Key.Home:\r
666                                         return 0xc7;\r
667 \r
668                                 case Key.Insert:\r
669                                         return 210;\r
670 \r
671                                 case Key.Kana:\r
672                                         return 0x70;\r
673 \r
674                                 case Key.Kanji:\r
675                                         return 0x94;\r
676 \r
677                                 case Key.LeftBracket:\r
678                                         return 0x1a;\r
679 \r
680                                 case Key.LeftControl:\r
681                                         return 0x1d;\r
682 \r
683                                 case Key.LeftArrow:\r
684                                         return 0xcb;\r
685 \r
686                                 case Key.LeftAlt:\r
687                                         return 0x38;\r
688 \r
689                                 case Key.LeftShift:\r
690                                         return 0x2a;\r
691 \r
692                                 case Key.LeftWindowsKey:\r
693                                         return 0xdb;\r
694 \r
695                                 case Key.Mail:\r
696                                         return 0xec;\r
697 \r
698                                 case Key.MediaSelect:\r
699                                         return 0xed;\r
700 \r
701                                 case Key.MediaStop:\r
702                                         return 0xa4;\r
703 \r
704                                 case Key.Minus:\r
705                                         return 12;\r
706 \r
707                                 case Key.Mute:\r
708                                         return 160;\r
709 \r
710                                 case Key.MyComputer:\r
711                                         return 0xeb;\r
712 \r
713                                 case Key.NextTrack:\r
714                                         return 0x99;\r
715 \r
716                                 case Key.NoConvert:\r
717                                         return 0x7b;\r
718 \r
719                                 case Key.NumberLock:\r
720                                         return 0x45;\r
721 \r
722                                 case Key.NumberPad0:\r
723                                         return 0x52;\r
724 \r
725                                 case Key.NumberPad1:\r
726                                         return 0x4f;\r
727 \r
728                                 case Key.NumberPad2:\r
729                                         return 80;\r
730 \r
731                                 case Key.NumberPad3:\r
732                                         return 0x51;\r
733 \r
734                                 case Key.NumberPad4:\r
735                                         return 0x4b;\r
736 \r
737                                 case Key.NumberPad5:\r
738                                         return 0x4c;\r
739 \r
740                                 case Key.NumberPad6:\r
741                                         return 0x4d;\r
742 \r
743                                 case Key.NumberPad7:\r
744                                         return 0x47;\r
745 \r
746                                 case Key.NumberPad8:\r
747                                         return 0x48;\r
748 \r
749                                 case Key.NumberPad9:\r
750                                         return 0x49;\r
751 \r
752                                 case Key.NumberPadComma:\r
753                                         return 0xb3;\r
754 \r
755                                 case Key.NumberPadEnter:\r
756                                         return 0x9c;\r
757 \r
758                                 case Key.NumberPadEquals:\r
759                                         return 0x8d;\r
760 \r
761                                 case Key.NumberPadMinus:\r
762                                         return 0x4a;\r
763 \r
764                                 case Key.NumberPadPeriod:\r
765                                         return 0x53;\r
766 \r
767                                 case Key.NumberPadPlus:\r
768                                         return 0x4e;\r
769 \r
770                                 case Key.NumberPadSlash:\r
771                                         return 0xb5;\r
772 \r
773                                 case Key.NumberPadStar:\r
774                                         return 0x37;\r
775 \r
776                                 case Key.Oem102:\r
777                                         return 0x56;\r
778 \r
779                                 case Key.PageDown:\r
780                                         return 0xd1;\r
781 \r
782                                 case Key.PageUp:\r
783                                         return 0xc9;\r
784 \r
785                                 case Key.Pause:\r
786                                         return 0xc5;\r
787 \r
788                                 case Key.Period:\r
789                                         return 0x34;\r
790 \r
791                                 case Key.PlayPause:\r
792                                         return 0xa2;\r
793 \r
794                                 case Key.Power:\r
795                                         return 0xde;\r
796 \r
797                                 case Key.PreviousTrack:\r
798                                         return 0x90;\r
799 \r
800                                 case Key.RightBracket:\r
801                                         return 0x1b;\r
802 \r
803                                 case Key.RightControl:\r
804                                         return 0x9d;\r
805 \r
806                                 case Key.Return:\r
807                                         return 0x1c;\r
808 \r
809                                 case Key.RightArrow:\r
810                                         return 0xcd;\r
811 \r
812                                 case Key.RightAlt:\r
813                                         return 0xb8;\r
814 \r
815                                 case Key.RightShift:\r
816                                         return 0x36;\r
817 \r
818                                 case Key.RightWindowsKey:\r
819                                         return 220;\r
820 \r
821                                 case Key.ScrollLock:\r
822                                         return 70;\r
823 \r
824                                 case Key.Semicolon:\r
825                                         return 0x27;\r
826 \r
827                                 case Key.Slash:\r
828                                         return 0x35;\r
829 \r
830                                 case Key.Sleep:\r
831                                         return 0xdf;\r
832 \r
833                                 case Key.Space:\r
834                                         return 0x39;\r
835 \r
836                                 case Key.Stop:\r
837                                         return 0x95;\r
838 \r
839                                 case Key.PrintScreen:\r
840                                         return 0xb7;\r
841 \r
842                                 case Key.Tab:\r
843                                         return 15;\r
844 \r
845                                 case Key.Underline:\r
846                                         return 0x93;\r
847 \r
848                                 case Key.Unlabeled:\r
849                                         return 0x97;\r
850 \r
851                                 case Key.UpArrow:\r
852                                         return 200;\r
853 \r
854                                 case Key.VolumeDown:\r
855                                         return 0xae;\r
856 \r
857                                 case Key.VolumeUp:\r
858                                         return 0xb0;\r
859 \r
860                                 case Key.Wake:\r
861                                         return 0xe3;\r
862 \r
863                                 case Key.WebBack:\r
864                                         return 0xea;\r
865 \r
866                                 case Key.WebFavorites:\r
867                                         return 230;\r
868 \r
869                                 case Key.WebForward:\r
870                                         return 0xe9;\r
871 \r
872                                 case Key.WebHome:\r
873                                         return 0xb2;\r
874 \r
875                                 case Key.WebRefresh:\r
876                                         return 0xe7;\r
877 \r
878                                 case Key.WebSearch:\r
879                                         return 0xe5;\r
880 \r
881                                 case Key.WebStop:\r
882                                         return 0xe8;\r
883 \r
884                                 case Key.Yen:\r
885                                         return 0x7d;\r
886                         }\r
887                         return 0;\r
888                 }\r
889                 public static Keys KeyToKeyCode( Key key )\r
890                 {\r
891                         switch ( key )\r
892                         {\r
893                                 case Key.D0:\r
894                                         return Keys.D0;\r
895 \r
896                                 case Key.D1:\r
897                                         return Keys.D1;\r
898 \r
899                                 case Key.D2:\r
900                                         return Keys.D2;\r
901 \r
902                                 case Key.D3:\r
903                                         return Keys.D3;\r
904 \r
905                                 case Key.D4:\r
906                                         return Keys.D4;\r
907 \r
908                                 case Key.D5:\r
909                                         return Keys.D5;\r
910 \r
911                                 case Key.D6:\r
912                                         return Keys.D6;\r
913 \r
914                                 case Key.D7:\r
915                                         return Keys.D7;\r
916 \r
917                                 case Key.D8:\r
918                                         return Keys.D8;\r
919 \r
920                                 case Key.D9:\r
921                                         return Keys.D9;\r
922 \r
923                                 case Key.A:\r
924                                         return Keys.A;\r
925 \r
926                                 case Key.B:\r
927                                         return Keys.B;\r
928 \r
929                                 case Key.C:\r
930                                         return Keys.C;\r
931 \r
932                                 case Key.D:\r
933                                         return Keys.D;\r
934 \r
935                                 case Key.E:\r
936                                         return Keys.E;\r
937 \r
938                                 case Key.F:\r
939                                         return Keys.F;\r
940 \r
941                                 case Key.G:\r
942                                         return Keys.G;\r
943 \r
944                                 case Key.H:\r
945                                         return Keys.H;\r
946 \r
947                                 case Key.I:\r
948                                         return Keys.I;\r
949 \r
950                                 case Key.J:\r
951                                         return Keys.J;\r
952 \r
953                                 case Key.K:\r
954                                         return Keys.K;\r
955 \r
956                                 case Key.L:\r
957                                         return Keys.L;\r
958 \r
959                                 case Key.M:\r
960                                         return Keys.M;\r
961 \r
962                                 case Key.N:\r
963                                         return Keys.N;\r
964 \r
965                                 case Key.O:\r
966                                         return Keys.O;\r
967 \r
968                                 case Key.P:\r
969                                         return Keys.P;\r
970 \r
971                                 case Key.Q:\r
972                                         return Keys.Q;\r
973 \r
974                                 case Key.R:\r
975                                         return Keys.R;\r
976 \r
977                                 case Key.S:\r
978                                         return Keys.S;\r
979 \r
980                                 case Key.T:\r
981                                         return Keys.T;\r
982 \r
983                                 case Key.U:\r
984                                         return Keys.U;\r
985 \r
986                                 case Key.V:\r
987                                         return Keys.V;\r
988 \r
989                                 case Key.W:\r
990                                         return Keys.W;\r
991 \r
992                                 case Key.X:\r
993                                         return Keys.X;\r
994 \r
995                                 case Key.Y:\r
996                                         return Keys.Y;\r
997 \r
998                                 case Key.Z:\r
999                                         return Keys.Z;\r
1000 \r
1001 //                              case Key.AbntC1:\r
1002 //                                      return Keys.A; //0x73;\r
1003                                         //147\r
1004 //                              case Key.AbntC2:\r
1005 //                                      return Keys.A; //0x7e;\r
1006 \r
1007 //                              case Key.Apostrophe:\r
1008 //                                      return Keys.A;                  ///\r
1009 \r
1010                                 case Key.Applications:\r
1011                                         return Keys.Apps;\r
1012 \r
1013                                 case Key.AT:\r
1014                                         return Keys.Oem3;\r
1015 \r
1016 //                              case Key.AX:\r
1017 //                                      return Keys.A;                  ///\r
1018 \r
1019                                 case Key.Backspace:\r
1020                                         return Keys.Back;\r
1021 \r
1022                                 case Key.Backslash:\r
1023                                         return Keys.Oem5;\r
1024 \r
1025 //                              case Key.Calculator:\r
1026 //                                      return Keys.A;                  ///\r
1027 \r
1028                                 case Key.CapsLock:\r
1029                                         return Keys.CapsLock;\r
1030 \r
1031                                 case Key.Colon:\r
1032                                         return Keys.Oem1;\r
1033 \r
1034                                 case Key.Comma:\r
1035                                         return Keys.Oemcomma;\r
1036 \r
1037                                 case Key.Convert:\r
1038                                         return Keys.IMEConvert;\r
1039 \r
1040                                 case Key.Delete:\r
1041                                         return Keys.Delete;\r
1042 \r
1043                                 case Key.DownArrow:\r
1044                                         return Keys.Down;\r
1045 \r
1046                                 case Key.End:\r
1047                                         return Keys.End;\r
1048 \r
1049                                 case Key.Equals:\r
1050                                         return Keys.A;                  ///\r
1051 \r
1052                                 case Key.Escape:\r
1053                                         return Keys.Escape;\r
1054 \r
1055                                 case Key.F1:\r
1056                                         return Keys.F1;\r
1057 \r
1058                                 case Key.F2:\r
1059                                         return Keys.F2;\r
1060 \r
1061                                 case Key.F3:\r
1062                                         return Keys.F3;\r
1063 \r
1064                                 case Key.F4:\r
1065                                         return Keys.F4;\r
1066 \r
1067                                 case Key.F5:\r
1068                                         return Keys.F5;\r
1069 \r
1070                                 case Key.F6:\r
1071                                         return Keys.F6;\r
1072 \r
1073                                 case Key.F7:\r
1074                                         return Keys.F7;\r
1075 \r
1076                                 case Key.F8:\r
1077                                         return Keys.F8;\r
1078 \r
1079                                 case Key.F9:\r
1080                                         return Keys.F9;\r
1081 \r
1082                                 case Key.F10:\r
1083                                         return Keys.F10;\r
1084 \r
1085                                 case Key.F11:\r
1086                                         return Keys.F11;\r
1087 \r
1088                                 case Key.F12:\r
1089                                         return Keys.F12;\r
1090 \r
1091                                 case Key.F13:\r
1092                                         return Keys.F13;\r
1093 \r
1094                                 case Key.F14:\r
1095                                         return Keys.F14;\r
1096 \r
1097                                 case Key.F15:\r
1098                                         return Keys.F15;\r
1099 \r
1100                                 case Key.Grave:\r
1101                                         return Keys.A;                  ///\r
1102 \r
1103                                 case Key.Home:\r
1104                                         return Keys.Home;\r
1105 \r
1106                                 case Key.Insert:\r
1107                                         return Keys.Insert;\r
1108 \r
1109                                 case Key.Kana:\r
1110                                         return Keys.KanaMode;\r
1111 \r
1112                                 case Key.Kanji:\r
1113                                         return Keys.KanjiMode;\r
1114 \r
1115                                 case Key.LeftBracket:\r
1116                                         return Keys.Oem4;\r
1117 \r
1118                                 case Key.LeftControl:\r
1119                                         return Keys.LControlKey;\r
1120 \r
1121                                 case Key.LeftArrow:\r
1122                                         return Keys.Left;\r
1123 \r
1124                                 case Key.LeftAlt:\r
1125                                         return Keys.LMenu;\r
1126 \r
1127                                 case Key.LeftShift:\r
1128                                         return Keys.LShiftKey;\r
1129 \r
1130                                 case Key.LeftWindowsKey:\r
1131                                         return Keys.LWin;\r
1132 \r
1133                                 case Key.Mail:\r
1134                                         return Keys.LaunchMail;\r
1135 \r
1136                                 case Key.MediaSelect:\r
1137                                         return Keys.SelectMedia;\r
1138 \r
1139                                 case Key.MediaStop:\r
1140                                         return Keys.MediaStop;\r
1141 \r
1142                                 case Key.Minus:\r
1143                                         return Keys.OemMinus;\r
1144 \r
1145                                 case Key.Mute:\r
1146                                         return Keys.VolumeMute;\r
1147 \r
1148                                 case Key.MyComputer:                    ///\r
1149                                         return Keys.A;\r
1150 \r
1151                                 case Key.NextTrack:\r
1152                                         return Keys.MediaNextTrack;\r
1153 \r
1154                                 case Key.NoConvert:\r
1155                                         return Keys.IMENonconvert;\r
1156 \r
1157                                 case Key.NumberLock:\r
1158                                         return Keys.NumLock;\r
1159 \r
1160                                 case Key.NumberPad0:\r
1161                                         return Keys.NumPad0;\r
1162 \r
1163                                 case Key.NumberPad1:\r
1164                                         return Keys.NumPad1;\r
1165 \r
1166                                 case Key.NumberPad2:\r
1167                                         return Keys.NumPad2;\r
1168 \r
1169                                 case Key.NumberPad3:\r
1170                                         return Keys.NumPad3;\r
1171 \r
1172                                 case Key.NumberPad4:\r
1173                                         return Keys.NumPad4;\r
1174 \r
1175                                 case Key.NumberPad5:\r
1176                                         return Keys.NumPad5;\r
1177 \r
1178                                 case Key.NumberPad6:\r
1179                                         return Keys.NumPad6;\r
1180 \r
1181                                 case Key.NumberPad7:\r
1182                                         return Keys.NumPad7;\r
1183 \r
1184                                 case Key.NumberPad8:\r
1185                                         return Keys.NumPad8;\r
1186 \r
1187                                 case Key.NumberPad9:\r
1188                                         return Keys.NumPad9;\r
1189 \r
1190                                 case Key.NumberPadComma:\r
1191                                         return Keys.Separator;\r
1192 \r
1193                                 case Key.NumberPadEnter:\r
1194                                         return Keys.A;                          //\r
1195 \r
1196                                 case Key.NumberPadEquals:\r
1197                                         return Keys.A;                          //\r
1198 \r
1199                                 case Key.NumberPadMinus:\r
1200                                         return Keys.Subtract;\r
1201 \r
1202                                 case Key.NumberPadPeriod:\r
1203                                         return Keys.Decimal;\r
1204 \r
1205                                 case Key.NumberPadPlus:\r
1206                                         return Keys.Add;\r
1207 \r
1208                                 case Key.NumberPadSlash:\r
1209                                         return Keys.Divide;\r
1210 \r
1211                                 case Key.NumberPadStar:\r
1212                                         return Keys.Multiply;           //\r
1213 \r
1214                                 case Key.Oem102:\r
1215                                         return Keys.Oem102;\r
1216 \r
1217                                 case Key.PageDown:\r
1218                                         return Keys.PageDown;\r
1219 \r
1220                                 case Key.PageUp:\r
1221                                         return Keys.PageUp;\r
1222 \r
1223                                 case Key.Pause:\r
1224                                         return Keys.Pause;\r
1225 \r
1226                                 case Key.Period:\r
1227                                         return Keys.OemPeriod;\r
1228 \r
1229                                 case Key.PlayPause:\r
1230                                         return Keys.MediaPlayPause;\r
1231 \r
1232                                 case Key.Power:\r
1233                                         return Keys.A;                          ///\r
1234 \r
1235                                 case Key.PreviousTrack:\r
1236                                         return Keys.MediaPreviousTrack;\r
1237 \r
1238                                 case Key.RightBracket:\r
1239                                         return Keys.Oem6;\r
1240 \r
1241                                 case Key.RightControl:\r
1242                                         return Keys.RControlKey;\r
1243 \r
1244                                 case Key.Return:\r
1245                                         return Keys.Return;\r
1246 \r
1247                                 case Key.RightArrow:\r
1248                                         return Keys.Right;\r
1249 \r
1250                                 case Key.RightAlt:\r
1251                                         return Keys.RMenu;\r
1252 \r
1253                                 case Key.RightShift:\r
1254                                         return Keys.A;\r
1255 \r
1256                                 case Key.RightWindowsKey:\r
1257                                         return Keys.RWin;\r
1258 \r
1259                                 case Key.ScrollLock:\r
1260                                         return Keys.Scroll;\r
1261 \r
1262                                 case Key.Semicolon:\r
1263                                         return Keys.Oemplus;            ///??\r
1264 \r
1265                                 case Key.Slash:\r
1266                                         return Keys.Oem2;\r
1267 \r
1268                                 case Key.Sleep:\r
1269                                         return Keys.Sleep;\r
1270 \r
1271                                 case Key.Space:\r
1272                                         return Keys.Space;\r
1273 \r
1274                                 case Key.Stop:\r
1275                                         return Keys.MediaStop;\r
1276 \r
1277                                 case Key.PrintScreen:\r
1278                                         return Keys.PrintScreen;\r
1279 \r
1280                                 case Key.Tab:\r
1281                                         return Keys.Tab;\r
1282 \r
1283                                 case Key.Underline:\r
1284                                         return Keys.Oem102;\r
1285 \r
1286 //                              case Key.Unlabeled:                             ///\r
1287 //                                      return Keys.A;\r
1288 \r
1289                                 case Key.UpArrow:\r
1290                                         return Keys.Up;\r
1291 \r
1292                                 case Key.VolumeDown:\r
1293                                         return Keys.VolumeDown;\r
1294 \r
1295                                 case Key.VolumeUp:\r
1296                                         return Keys.VolumeUp;\r
1297 \r
1298                                 case Key.Wake:\r
1299                                         return Keys.A;                          ///\r
1300 \r
1301                                 case Key.WebBack:\r
1302                                         return Keys.BrowserBack;\r
1303 \r
1304                                 case Key.WebFavorites:\r
1305                                         return Keys.BrowserFavorites;\r
1306 \r
1307                                 case Key.WebForward:\r
1308                                         return Keys.BrowserForward;\r
1309 \r
1310                                 case Key.WebHome:\r
1311                                         return Keys.BrowserHome;\r
1312 \r
1313                                 case Key.WebRefresh:\r
1314                                         return Keys.BrowserRefresh;\r
1315 \r
1316                                 case Key.WebSearch:\r
1317                                         return Keys.BrowserSearch;\r
1318 \r
1319                                 case Key.WebStop:\r
1320                                         return Keys.BrowserStop;\r
1321 \r
1322                                 case Key.Yen:\r
1323                                         return Keys.OemBackslash;\r
1324                         }\r
1325                         return 0;\r
1326                 }\r
1327         }\r
1328 }\r