OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / FDK17プロジェクト / コード / 02.入力 / DeviceConstantConverter.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using SlimDX.DirectInput;\r
5 \r
6 namespace FDK\r
7 {\r
8         public class DeviceConstantConverter\r
9         {\r
10                 // メソッド\r
11 \r
12                 public static Key DIKtoKey( int dik )\r
13                 {\r
14                         switch( dik )\r
15                         {\r
16                                 case 1:\r
17                                         return Key.Escape;\r
18 \r
19                                 case 2:\r
20                                         return Key.D1;\r
21 \r
22                                 case 3:\r
23                                         return Key.D2;\r
24 \r
25                                 case 4:\r
26                                         return Key.D3;\r
27 \r
28                                 case 5:\r
29                                         return Key.D4;\r
30 \r
31                                 case 6:\r
32                                         return Key.D5;\r
33 \r
34                                 case 7:\r
35                                         return Key.D6;\r
36 \r
37                                 case 8:\r
38                                         return Key.D7;\r
39 \r
40                                 case 9:\r
41                                         return Key.D8;\r
42 \r
43                                 case 10:\r
44                                         return Key.D9;\r
45 \r
46                                 case 11:\r
47                                         return Key.D0;\r
48 \r
49                                 case 12:\r
50                                         return Key.Minus;\r
51 \r
52                                 case 13:\r
53                                         return Key.Equals;\r
54 \r
55                                 case 14:\r
56                                         return Key.Backspace;\r
57 \r
58                                 case 15:\r
59                                         return Key.Tab;\r
60 \r
61                                 case 0x10:\r
62                                         return Key.Q;\r
63 \r
64                                 case 0x11:\r
65                                         return Key.W;\r
66 \r
67                                 case 0x12:\r
68                                         return Key.E;\r
69 \r
70                                 case 0x13:\r
71                                         return Key.R;\r
72 \r
73                                 case 20:\r
74                                         return Key.T;\r
75 \r
76                                 case 0x15:\r
77                                         return Key.Y;\r
78 \r
79                                 case 0x16:\r
80                                         return Key.U;\r
81 \r
82                                 case 0x17:\r
83                                         return Key.I;\r
84 \r
85                                 case 0x18:\r
86                                         return Key.O;\r
87 \r
88                                 case 0x19:\r
89                                         return Key.P;\r
90 \r
91                                 case 0x1a:\r
92                                         return Key.LeftBracket;\r
93 \r
94                                 case 0x1b:\r
95                                         return Key.RightBracket;\r
96 \r
97                                 case 0x1c:\r
98                                         return Key.Return;\r
99 \r
100                                 case 0x1d:\r
101                                         return Key.LeftControl;\r
102 \r
103                                 case 30:\r
104                                         return Key.A;\r
105 \r
106                                 case 0x1f:\r
107                                         return Key.S;\r
108 \r
109                                 case 0x20:\r
110                                         return Key.D;\r
111 \r
112                                 case 0x21:\r
113                                         return Key.F;\r
114 \r
115                                 case 0x22:\r
116                                         return Key.G;\r
117 \r
118                                 case 0x23:\r
119                                         return Key.H;\r
120 \r
121                                 case 0x24:\r
122                                         return Key.J;\r
123 \r
124                                 case 0x25:\r
125                                         return Key.K;\r
126 \r
127                                 case 0x26:\r
128                                         return Key.L;\r
129 \r
130                                 case 0x27:\r
131                                         return Key.Semicolon;\r
132 \r
133                                 case 40:\r
134                                         return Key.Apostrophe;\r
135 \r
136                                 case 0x29:\r
137                                         return Key.Grave;\r
138 \r
139                                 case 0x2a:\r
140                                         return Key.LeftShift;\r
141 \r
142                                 case 0x2b:\r
143                                         return Key.Backslash;\r
144 \r
145                                 case 0x2c:\r
146                                         return Key.Z;\r
147 \r
148                                 case 0x2d:\r
149                                         return Key.X;\r
150 \r
151                                 case 0x2e:\r
152                                         return Key.C;\r
153 \r
154                                 case 0x2f:\r
155                                         return Key.V;\r
156 \r
157                                 case 0x30:\r
158                                         return Key.B;\r
159 \r
160                                 case 0x31:\r
161                                         return Key.N;\r
162 \r
163                                 case 50:\r
164                                         return Key.M;\r
165 \r
166                                 case 0x33:\r
167                                         return Key.Comma;\r
168 \r
169                                 case 0x34:\r
170                                         return Key.Period;\r
171 \r
172                                 case 0x35:\r
173                                         return Key.Slash;\r
174 \r
175                                 case 0x36:\r
176                                         return Key.RightShift;\r
177 \r
178                                 case 0x37:\r
179                                         return Key.NumberPadStar;\r
180 \r
181                                 case 0x38:\r
182                                         return Key.LeftAlt;\r
183 \r
184                                 case 0x39:\r
185                                         return Key.Space;\r
186 \r
187                                 case 0x3a:\r
188                                         return Key.CapsLock;\r
189 \r
190                                 case 0x3b:\r
191                                         return Key.F1;\r
192 \r
193                                 case 60:\r
194                                         return Key.F2;\r
195 \r
196                                 case 0x3d:\r
197                                         return Key.F3;\r
198 \r
199                                 case 0x3e:\r
200                                         return Key.F4;\r
201 \r
202                                 case 0x3f:\r
203                                         return Key.F5;\r
204 \r
205                                 case 0x40:\r
206                                         return Key.F6;\r
207 \r
208                                 case 0x41:\r
209                                         return Key.F7;\r
210 \r
211                                 case 0x42:\r
212                                         return Key.F8;\r
213 \r
214                                 case 0x43:\r
215                                         return Key.F9;\r
216 \r
217                                 case 0x44:\r
218                                         return Key.F10;\r
219 \r
220                                 case 0x45:\r
221                                         return Key.NumberLock;\r
222 \r
223                                 case 70:\r
224                                         return Key.ScrollLock;\r
225 \r
226                                 case 0x47:\r
227                                         return Key.NumberPad7;\r
228 \r
229                                 case 0x48:\r
230                                         return Key.NumberPad8;\r
231 \r
232                                 case 0x49:\r
233                                         return Key.NumberPad9;\r
234 \r
235                                 case 0x4a:\r
236                                         return Key.NumberPadMinus;\r
237 \r
238                                 case 0x4b:\r
239                                         return Key.NumberPad4;\r
240 \r
241                                 case 0x4c:\r
242                                         return Key.NumberPad5;\r
243 \r
244                                 case 0x4d:\r
245                                         return Key.NumberPad6;\r
246 \r
247                                 case 0x4e:\r
248                                         return Key.NumberPadPlus;\r
249 \r
250                                 case 0x4f:\r
251                                         return Key.NumberPad1;\r
252 \r
253                                 case 80:\r
254                                         return Key.NumberPad2;\r
255 \r
256                                 case 0x51:\r
257                                         return Key.NumberPad3;\r
258 \r
259                                 case 0x52:\r
260                                         return Key.NumberPad0;\r
261 \r
262                                 case 0x53:\r
263                                         return Key.NumberPadPeriod;\r
264 \r
265                                 case 0x56:\r
266                                         return Key.Oem102;\r
267 \r
268                                 case 0x57:\r
269                                         return Key.F11;\r
270 \r
271                                 case 0x58:\r
272                                         return Key.F12;\r
273 \r
274                                 case 100:\r
275                                         return Key.F13;\r
276 \r
277                                 case 0x65:\r
278                                         return Key.F14;\r
279 \r
280                                 case 0x66:\r
281                                         return Key.F15;\r
282 \r
283                                 case 0x70:\r
284                                         return Key.Kana;\r
285 \r
286                                 case 0x73:\r
287                                         return Key.AbntC1;\r
288 \r
289                                 case 0x79:\r
290                                         return Key.Convert;\r
291 \r
292                                 case 0x7b:\r
293                                         return Key.NoConvert;\r
294 \r
295                                 case 0x7d:\r
296                                         return Key.Yen;\r
297 \r
298                                 case 0x7e:\r
299                                         return Key.AbntC2;\r
300 \r
301                                 case 0x8d:\r
302                                         return Key.NumberPadEquals;\r
303 \r
304                                 case 0x90:\r
305                                         return Key.PreviousTrack;\r
306 \r
307                                 case 0x91:\r
308                                         return Key.AT;\r
309 \r
310                                 case 0x92:\r
311                                         return Key.Colon;\r
312 \r
313                                 case 0x93:\r
314                                         return Key.Underline;\r
315 \r
316                                 case 0x94:\r
317                                         return Key.Kanji;\r
318 \r
319                                 case 0x95:\r
320                                         return Key.Stop;\r
321 \r
322                                 case 150:\r
323                                         return Key.AX;\r
324 \r
325                                 case 0x97:\r
326                                         return Key.Unlabeled;\r
327 \r
328                                 case 0x99:\r
329                                         return Key.NextTrack;\r
330 \r
331                                 case 0x9c:\r
332                                         return Key.NumberPadEnter;\r
333 \r
334                                 case 0x9d:\r
335                                         return Key.RightControl;\r
336 \r
337                                 case 160:\r
338                                         return Key.Mute;\r
339 \r
340                                 case 0xa1:\r
341                                         return Key.Calculator;\r
342 \r
343                                 case 0xa2:\r
344                                         return Key.PlayPause;\r
345 \r
346                                 case 0xa4:\r
347                                         return Key.MediaStop;\r
348 \r
349                                 case 0xae:\r
350                                         return Key.VolumeDown;\r
351 \r
352                                 case 0xb0:\r
353                                         return Key.VolumeUp;\r
354 \r
355                                 case 0xb2:\r
356                                         return Key.WebHome;\r
357 \r
358                                 case 0xb3:\r
359                                         return Key.NumberPadComma;\r
360 \r
361                                 case 0xb5:\r
362                                         return Key.NumberPadSlash;\r
363 \r
364                                 case 0xb7:\r
365                                         return Key.PrintScreen;\r
366 \r
367                                 case 0xb8:\r
368                                         return Key.RightAlt;\r
369 \r
370                                 case 0xc5:\r
371                                         return Key.Pause;\r
372 \r
373                                 case 0xc7:\r
374                                         return Key.Home;\r
375 \r
376                                 case 200:\r
377                                         return Key.UpArrow;\r
378 \r
379                                 case 0xc9:\r
380                                         return Key.PageUp;\r
381 \r
382                                 case 0xcb:\r
383                                         return Key.LeftArrow;\r
384 \r
385                                 case 0xcd:\r
386                                         return Key.RightArrow;\r
387 \r
388                                 case 0xcf:\r
389                                         return Key.End;\r
390 \r
391                                 case 0xd0:\r
392                                         return Key.DownArrow;\r
393 \r
394                                 case 0xd1:\r
395                                         return Key.PageDown;\r
396 \r
397                                 case 210:\r
398                                         return Key.Insert;\r
399 \r
400                                 case 0xd3:\r
401                                         return Key.Delete;\r
402 \r
403                                 case 0xdb:\r
404                                         return Key.LeftWindowsKey;\r
405 \r
406                                 case 220:\r
407                                         return Key.RightWindowsKey;\r
408 \r
409                                 case 0xdd:\r
410                                         return Key.Applications;\r
411 \r
412                                 case 0xde:\r
413                                         return Key.Power;\r
414 \r
415                                 case 0xdf:\r
416                                         return Key.Sleep;\r
417 \r
418                                 case 0xe3:\r
419                                         return Key.Wake;\r
420 \r
421                                 case 0xe5:\r
422                                         return Key.WebSearch;\r
423 \r
424                                 case 230:\r
425                                         return Key.WebFavorites;\r
426 \r
427                                 case 0xe7:\r
428                                         return Key.WebRefresh;\r
429 \r
430                                 case 0xe8:\r
431                                         return Key.WebStop;\r
432 \r
433                                 case 0xe9:\r
434                                         return Key.WebForward;\r
435 \r
436                                 case 0xea:\r
437                                         return Key.WebBack;\r
438 \r
439                                 case 0xeb:\r
440                                         return Key.MyComputer;\r
441 \r
442                                 case 0xec:\r
443                                         return Key.Mail;\r
444 \r
445                                 case 0xed:\r
446                                         return Key.MediaSelect;\r
447                         }\r
448                         return Key.Unknown;\r
449                 }\r
450                 public static int KeyToDIK( Key key )\r
451                 {\r
452                         switch( key )\r
453                         {\r
454                                 case Key.D0:\r
455                                         return 11;\r
456 \r
457                                 case Key.D1:\r
458                                         return 2;\r
459 \r
460                                 case Key.D2:\r
461                                         return 3;\r
462 \r
463                                 case Key.D3:\r
464                                         return 4;\r
465 \r
466                                 case Key.D4:\r
467                                         return 5;\r
468 \r
469                                 case Key.D5:\r
470                                         return 6;\r
471 \r
472                                 case Key.D6:\r
473                                         return 7;\r
474 \r
475                                 case Key.D7:\r
476                                         return 8;\r
477 \r
478                                 case Key.D8:\r
479                                         return 9;\r
480 \r
481                                 case Key.D9:\r
482                                         return 10;\r
483 \r
484                                 case Key.A:\r
485                                         return 30;\r
486 \r
487                                 case Key.B:\r
488                                         return 0x30;\r
489 \r
490                                 case Key.C:\r
491                                         return 0x2e;\r
492 \r
493                                 case Key.D:\r
494                                         return 0x20;\r
495 \r
496                                 case Key.E:\r
497                                         return 0x12;\r
498 \r
499                                 case Key.F:\r
500                                         return 0x21;\r
501 \r
502                                 case Key.G:\r
503                                         return 0x22;\r
504 \r
505                                 case Key.H:\r
506                                         return 0x23;\r
507 \r
508                                 case Key.I:\r
509                                         return 0x17;\r
510 \r
511                                 case Key.J:\r
512                                         return 0x24;\r
513 \r
514                                 case Key.K:\r
515                                         return 0x25;\r
516 \r
517                                 case Key.L:\r
518                                         return 0x26;\r
519 \r
520                                 case Key.M:\r
521                                         return 50;\r
522 \r
523                                 case Key.N:\r
524                                         return 0x31;\r
525 \r
526                                 case Key.O:\r
527                                         return 0x18;\r
528 \r
529                                 case Key.P:\r
530                                         return 0x19;\r
531 \r
532                                 case Key.Q:\r
533                                         return 0x10;\r
534 \r
535                                 case Key.R:\r
536                                         return 0x13;\r
537 \r
538                                 case Key.S:\r
539                                         return 0x1f;\r
540 \r
541                                 case Key.T:\r
542                                         return 20;\r
543 \r
544                                 case Key.U:\r
545                                         return 0x16;\r
546 \r
547                                 case Key.V:\r
548                                         return 0x2f;\r
549 \r
550                                 case Key.W:\r
551                                         return 0x11;\r
552 \r
553                                 case Key.X:\r
554                                         return 0x2d;\r
555 \r
556                                 case Key.Y:\r
557                                         return 0x15;\r
558 \r
559                                 case Key.Z:\r
560                                         return 0x2c;\r
561 \r
562                                 case Key.AbntC1:\r
563                                         return 0x73;\r
564 \r
565                                 case Key.AbntC2:\r
566                                         return 0x7e;\r
567 \r
568                                 case Key.Apostrophe:\r
569                                         return 40;\r
570 \r
571                                 case Key.Applications:\r
572                                         return 0xdd;\r
573 \r
574                                 case Key.AT:\r
575                                         return 0x91;\r
576 \r
577                                 case Key.AX:\r
578                                         return 150;\r
579 \r
580                                 case Key.Backspace:\r
581                                         return 14;\r
582 \r
583                                 case Key.Backslash:\r
584                                         return 0x2b;\r
585 \r
586                                 case Key.Calculator:\r
587                                         return 0xa1;\r
588 \r
589                                 case Key.CapsLock:\r
590                                         return 0x3a;\r
591 \r
592                                 case Key.Colon:\r
593                                         return 0x92;\r
594 \r
595                                 case Key.Comma:\r
596                                         return 0x33;\r
597 \r
598                                 case Key.Convert:\r
599                                         return 0x79;\r
600 \r
601                                 case Key.Delete:\r
602                                         return 0xd3;\r
603 \r
604                                 case Key.DownArrow:\r
605                                         return 0xd0;\r
606 \r
607                                 case Key.End:\r
608                                         return 0xcf;\r
609 \r
610                                 case Key.Equals:\r
611                                         return 13;\r
612 \r
613                                 case Key.Escape:\r
614                                         return 1;\r
615 \r
616                                 case Key.F1:\r
617                                         return 0x3b;\r
618 \r
619                                 case Key.F2:\r
620                                         return 60;\r
621 \r
622                                 case Key.F3:\r
623                                         return 0x3d;\r
624 \r
625                                 case Key.F4:\r
626                                         return 0x3e;\r
627 \r
628                                 case Key.F5:\r
629                                         return 0x3f;\r
630 \r
631                                 case Key.F6:\r
632                                         return 0x40;\r
633 \r
634                                 case Key.F7:\r
635                                         return 0x41;\r
636 \r
637                                 case Key.F8:\r
638                                         return 0x42;\r
639 \r
640                                 case Key.F9:\r
641                                         return 0x43;\r
642 \r
643                                 case Key.F10:\r
644                                         return 0x44;\r
645 \r
646                                 case Key.F11:\r
647                                         return 0x57;\r
648 \r
649                                 case Key.F12:\r
650                                         return 0x58;\r
651 \r
652                                 case Key.F13:\r
653                                         return 100;\r
654 \r
655                                 case Key.F14:\r
656                                         return 0x65;\r
657 \r
658                                 case Key.F15:\r
659                                         return 0x66;\r
660 \r
661                                 case Key.Grave:\r
662                                         return 0x29;\r
663 \r
664                                 case Key.Home:\r
665                                         return 0xc7;\r
666 \r
667                                 case Key.Insert:\r
668                                         return 210;\r
669 \r
670                                 case Key.Kana:\r
671                                         return 0x70;\r
672 \r
673                                 case Key.Kanji:\r
674                                         return 0x94;\r
675 \r
676                                 case Key.LeftBracket:\r
677                                         return 0x1a;\r
678 \r
679                                 case Key.LeftControl:\r
680                                         return 0x1d;\r
681 \r
682                                 case Key.LeftArrow:\r
683                                         return 0xcb;\r
684 \r
685                                 case Key.LeftAlt:\r
686                                         return 0x38;\r
687 \r
688                                 case Key.LeftShift:\r
689                                         return 0x2a;\r
690 \r
691                                 case Key.LeftWindowsKey:\r
692                                         return 0xdb;\r
693 \r
694                                 case Key.Mail:\r
695                                         return 0xec;\r
696 \r
697                                 case Key.MediaSelect:\r
698                                         return 0xed;\r
699 \r
700                                 case Key.MediaStop:\r
701                                         return 0xa4;\r
702 \r
703                                 case Key.Minus:\r
704                                         return 12;\r
705 \r
706                                 case Key.Mute:\r
707                                         return 160;\r
708 \r
709                                 case Key.MyComputer:\r
710                                         return 0xeb;\r
711 \r
712                                 case Key.NextTrack:\r
713                                         return 0x99;\r
714 \r
715                                 case Key.NoConvert:\r
716                                         return 0x7b;\r
717 \r
718                                 case Key.NumberLock:\r
719                                         return 0x45;\r
720 \r
721                                 case Key.NumberPad0:\r
722                                         return 0x52;\r
723 \r
724                                 case Key.NumberPad1:\r
725                                         return 0x4f;\r
726 \r
727                                 case Key.NumberPad2:\r
728                                         return 80;\r
729 \r
730                                 case Key.NumberPad3:\r
731                                         return 0x51;\r
732 \r
733                                 case Key.NumberPad4:\r
734                                         return 0x4b;\r
735 \r
736                                 case Key.NumberPad5:\r
737                                         return 0x4c;\r
738 \r
739                                 case Key.NumberPad6:\r
740                                         return 0x4d;\r
741 \r
742                                 case Key.NumberPad7:\r
743                                         return 0x47;\r
744 \r
745                                 case Key.NumberPad8:\r
746                                         return 0x48;\r
747 \r
748                                 case Key.NumberPad9:\r
749                                         return 0x49;\r
750 \r
751                                 case Key.NumberPadComma:\r
752                                         return 0xb3;\r
753 \r
754                                 case Key.NumberPadEnter:\r
755                                         return 0x9c;\r
756 \r
757                                 case Key.NumberPadEquals:\r
758                                         return 0x8d;\r
759 \r
760                                 case Key.NumberPadMinus:\r
761                                         return 0x4a;\r
762 \r
763                                 case Key.NumberPadPeriod:\r
764                                         return 0x53;\r
765 \r
766                                 case Key.NumberPadPlus:\r
767                                         return 0x4e;\r
768 \r
769                                 case Key.NumberPadSlash:\r
770                                         return 0xb5;\r
771 \r
772                                 case Key.NumberPadStar:\r
773                                         return 0x37;\r
774 \r
775                                 case Key.Oem102:\r
776                                         return 0x56;\r
777 \r
778                                 case Key.PageDown:\r
779                                         return 0xd1;\r
780 \r
781                                 case Key.PageUp:\r
782                                         return 0xc9;\r
783 \r
784                                 case Key.Pause:\r
785                                         return 0xc5;\r
786 \r
787                                 case Key.Period:\r
788                                         return 0x34;\r
789 \r
790                                 case Key.PlayPause:\r
791                                         return 0xa2;\r
792 \r
793                                 case Key.Power:\r
794                                         return 0xde;\r
795 \r
796                                 case Key.PreviousTrack:\r
797                                         return 0x90;\r
798 \r
799                                 case Key.RightBracket:\r
800                                         return 0x1b;\r
801 \r
802                                 case Key.RightControl:\r
803                                         return 0x9d;\r
804 \r
805                                 case Key.Return:\r
806                                         return 0x1c;\r
807 \r
808                                 case Key.RightArrow:\r
809                                         return 0xcd;\r
810 \r
811                                 case Key.RightAlt:\r
812                                         return 0xb8;\r
813 \r
814                                 case Key.RightShift:\r
815                                         return 0x36;\r
816 \r
817                                 case Key.RightWindowsKey:\r
818                                         return 220;\r
819 \r
820                                 case Key.ScrollLock:\r
821                                         return 70;\r
822 \r
823                                 case Key.Semicolon:\r
824                                         return 0x27;\r
825 \r
826                                 case Key.Slash:\r
827                                         return 0x35;\r
828 \r
829                                 case Key.Sleep:\r
830                                         return 0xdf;\r
831 \r
832                                 case Key.Space:\r
833                                         return 0x39;\r
834 \r
835                                 case Key.Stop:\r
836                                         return 0x95;\r
837 \r
838                                 case Key.PrintScreen:\r
839                                         return 0xb7;\r
840 \r
841                                 case Key.Tab:\r
842                                         return 15;\r
843 \r
844                                 case Key.Underline:\r
845                                         return 0x93;\r
846 \r
847                                 case Key.Unlabeled:\r
848                                         return 0x97;\r
849 \r
850                                 case Key.UpArrow:\r
851                                         return 200;\r
852 \r
853                                 case Key.VolumeDown:\r
854                                         return 0xae;\r
855 \r
856                                 case Key.VolumeUp:\r
857                                         return 0xb0;\r
858 \r
859                                 case Key.Wake:\r
860                                         return 0xe3;\r
861 \r
862                                 case Key.WebBack:\r
863                                         return 0xea;\r
864 \r
865                                 case Key.WebFavorites:\r
866                                         return 230;\r
867 \r
868                                 case Key.WebForward:\r
869                                         return 0xe9;\r
870 \r
871                                 case Key.WebHome:\r
872                                         return 0xb2;\r
873 \r
874                                 case Key.WebRefresh:\r
875                                         return 0xe7;\r
876 \r
877                                 case Key.WebSearch:\r
878                                         return 0xe5;\r
879 \r
880                                 case Key.WebStop:\r
881                                         return 0xe8;\r
882 \r
883                                 case Key.Yen:\r
884                                         return 0x7d;\r
885                         }\r
886                         return 0;\r
887                 }\r
888         }\r
889 }\r