1 package kibodo
2
3 import (
4 "github.com/hajimehoshi/ebiten/v2"
5 )
6
7
8
9 var KeyToggleExtended = ebiten.Key(-10)
10
11
12 var KeysQWERTY = [][]*Key{
13 {
14 {
15 LowerLabel: "`",
16 UpperLabel: "~",
17 LowerInput: &Input{Rune: '`'},
18 UpperInput: &Input{Rune: '~'},
19 },
20 {
21 LowerLabel: "1",
22 UpperLabel: "!",
23 LowerInput: &Input{Rune: '1'},
24 UpperInput: &Input{Rune: '!'},
25 },
26 {
27 LowerLabel: "2",
28 UpperLabel: "@",
29 LowerInput: &Input{Rune: '2'},
30 UpperInput: &Input{Rune: '@'},
31 },
32 {
33 LowerLabel: "3",
34 UpperLabel: "#",
35 LowerInput: &Input{Rune: '3'},
36 UpperInput: &Input{Rune: '#'},
37 },
38 {
39 LowerLabel: "4",
40 UpperLabel: "$",
41 LowerInput: &Input{Rune: '4'},
42 UpperInput: &Input{Rune: '$'},
43 },
44 {
45 LowerLabel: "5",
46 UpperLabel: "%",
47 LowerInput: &Input{Rune: '5'},
48 UpperInput: &Input{Rune: '%'},
49 },
50 {
51 LowerLabel: "6",
52 UpperLabel: "^",
53 LowerInput: &Input{Rune: '6'},
54 UpperInput: &Input{Rune: '^'},
55 },
56 {
57 LowerLabel: "7",
58 UpperLabel: "&",
59 LowerInput: &Input{Rune: '7'},
60 UpperInput: &Input{Rune: '&'},
61 },
62 {
63 LowerLabel: "8",
64 UpperLabel: "*",
65 LowerInput: &Input{Rune: '8'},
66 UpperInput: &Input{Rune: '*'},
67 },
68 {
69 LowerLabel: "9",
70 UpperLabel: "(",
71 LowerInput: &Input{Rune: '9'},
72 UpperInput: &Input{Rune: '('},
73 },
74 {
75 LowerLabel: "0",
76 UpperLabel: ")",
77 LowerInput: &Input{Rune: '0'},
78 UpperInput: &Input{Rune: ')'},
79 },
80 {
81 LowerLabel: "-",
82 UpperLabel: "_",
83 LowerInput: &Input{Rune: '-'},
84 UpperInput: &Input{Rune: '_'},
85 },
86 {
87 LowerLabel: "=",
88 UpperLabel: "+",
89 LowerInput: &Input{Rune: '='},
90 UpperInput: &Input{Rune: '+'},
91 },
92 {
93 LowerLabel: "Backspace",
94 UpperLabel: "BACKSPACE",
95 LowerInput: &Input{Key: ebiten.KeyBackspace},
96 UpperInput: &Input{Key: ebiten.KeyBackspace},
97 },
98 },
99 {
100 {
101 LowerLabel: "q",
102 UpperLabel: "Q",
103 LowerInput: &Input{Rune: 'q'},
104 UpperInput: &Input{Rune: 'Q'},
105 },
106 {
107 LowerLabel: "w",
108 UpperLabel: "W",
109 LowerInput: &Input{Rune: 'w'},
110 UpperInput: &Input{Rune: 'W'},
111 },
112 {
113 LowerLabel: "e",
114 UpperLabel: "E",
115 LowerInput: &Input{Rune: 'e'},
116 UpperInput: &Input{Rune: 'E'},
117 },
118 {
119 LowerLabel: "r",
120 UpperLabel: "R",
121 LowerInput: &Input{Rune: 'r'},
122 UpperInput: &Input{Rune: 'R'},
123 },
124 {
125 LowerLabel: "t",
126 UpperLabel: "T",
127 LowerInput: &Input{Rune: 't'},
128 UpperInput: &Input{Rune: 'T'},
129 },
130 {
131 LowerLabel: "y",
132 UpperLabel: "Y",
133 LowerInput: &Input{Rune: 'y'},
134 UpperInput: &Input{Rune: 'Y'},
135 },
136 {
137 LowerLabel: "u",
138 UpperLabel: "U",
139 LowerInput: &Input{Rune: 'u'},
140 UpperInput: &Input{Rune: 'U'},
141 },
142 {
143 LowerLabel: "i",
144 UpperLabel: "I",
145 LowerInput: &Input{Rune: 'i'},
146 UpperInput: &Input{Rune: 'I'},
147 },
148 {
149 LowerLabel: "o",
150 UpperLabel: "O",
151 LowerInput: &Input{Rune: 'o'},
152 UpperInput: &Input{Rune: 'O'},
153 },
154 {
155 LowerLabel: "p",
156 UpperLabel: "P",
157 LowerInput: &Input{Rune: 'p'},
158 UpperInput: &Input{Rune: 'P'},
159 },
160 {
161 LowerLabel: "[",
162 UpperLabel: "{",
163 LowerInput: &Input{Rune: '['},
164 UpperInput: &Input{Rune: '{'},
165 },
166 {
167 LowerLabel: "]",
168 UpperLabel: "}",
169 LowerInput: &Input{Rune: ']'},
170 UpperInput: &Input{Rune: '}'},
171 },
172 {
173 LowerLabel: "\\",
174 UpperLabel: "|",
175 LowerInput: &Input{Rune: '\\'},
176 UpperInput: &Input{Rune: '|'},
177 },
178 },
179 {
180 {
181 LowerLabel: "a",
182 UpperLabel: "A",
183 LowerInput: &Input{Rune: 'a'},
184 UpperInput: &Input{Rune: 'A'},
185 },
186 {
187 LowerLabel: "s",
188 UpperLabel: "S",
189 LowerInput: &Input{Rune: 's'},
190 UpperInput: &Input{Rune: 'S'},
191 },
192 {
193 LowerLabel: "d",
194 UpperLabel: "D",
195 LowerInput: &Input{Rune: 'd'},
196 UpperInput: &Input{Rune: 'D'},
197 },
198 {
199 LowerLabel: "f",
200 UpperLabel: "F",
201 LowerInput: &Input{Rune: 'f'},
202 UpperInput: &Input{Rune: 'F'},
203 },
204 {
205 LowerLabel: "g",
206 UpperLabel: "G",
207 LowerInput: &Input{Rune: 'g'},
208 UpperInput: &Input{Rune: 'G'},
209 },
210 {
211 LowerLabel: "h",
212 UpperLabel: "H",
213 LowerInput: &Input{Rune: 'h'},
214 UpperInput: &Input{Rune: 'H'},
215 },
216 {
217 LowerLabel: "j",
218 UpperLabel: "J",
219 LowerInput: &Input{Rune: 'j'},
220 UpperInput: &Input{Rune: 'J'},
221 },
222 {
223 LowerLabel: "k",
224 UpperLabel: "K",
225 LowerInput: &Input{Rune: 'k'},
226 UpperInput: &Input{Rune: 'K'},
227 },
228 {
229 LowerLabel: "l",
230 UpperLabel: "L",
231 LowerInput: &Input{Rune: 'l'},
232 UpperInput: &Input{Rune: 'L'},
233 },
234 {
235 LowerLabel: ";",
236 UpperLabel: ":",
237 LowerInput: &Input{Rune: ';'},
238 UpperInput: &Input{Rune: ':'},
239 },
240 {
241 LowerLabel: `'`,
242 UpperLabel: `"`,
243 LowerInput: &Input{Rune: '\''},
244 UpperInput: &Input{Rune: '"'},
245 },
246 {
247 LowerLabel: "Enter",
248 UpperLabel: "ENTER",
249 LowerInput: &Input{Key: ebiten.KeyEnter},
250 UpperInput: &Input{Key: ebiten.KeyEnter},
251 },
252 },
253 {
254 {
255 LowerLabel: "Shift",
256 UpperLabel: "SHIFT",
257 LowerInput: &Input{Key: ebiten.KeyShift},
258 UpperInput: &Input{Key: ebiten.KeyShift},
259 },
260 {
261 LowerLabel: "z",
262 UpperLabel: "Z",
263 LowerInput: &Input{Rune: 'z'},
264 UpperInput: &Input{Rune: 'Z'},
265 },
266 {
267 LowerLabel: "x",
268 UpperLabel: "X",
269 LowerInput: &Input{Rune: 'x'},
270 UpperInput: &Input{Rune: 'X'},
271 },
272 {
273 LowerLabel: "c",
274 UpperLabel: "C",
275 LowerInput: &Input{Rune: 'c'},
276 UpperInput: &Input{Rune: 'C'},
277 },
278 {
279 LowerLabel: "v",
280 UpperLabel: "V",
281 LowerInput: &Input{Rune: 'v'},
282 UpperInput: &Input{Rune: 'V'},
283 },
284 {
285 LowerLabel: "b",
286 UpperLabel: "B",
287 LowerInput: &Input{Rune: 'b'},
288 UpperInput: &Input{Rune: 'B'},
289 },
290 {
291 LowerLabel: "n",
292 UpperLabel: "N",
293 LowerInput: &Input{Rune: 'n'},
294 UpperInput: &Input{Rune: 'N'},
295 },
296 {
297 LowerLabel: "m",
298 UpperLabel: "M",
299 LowerInput: &Input{Rune: 'm'},
300 UpperInput: &Input{Rune: 'M'},
301 },
302 {
303 LowerLabel: ",",
304 UpperLabel: "<",
305 LowerInput: &Input{Rune: ','},
306 UpperInput: &Input{Rune: '<'},
307 },
308 {
309 LowerLabel: ".",
310 UpperLabel: ">",
311 LowerInput: &Input{Rune: '.'},
312 UpperInput: &Input{Rune: '>'},
313 },
314 {
315 LowerLabel: "/",
316 UpperLabel: "?",
317 LowerInput: &Input{Rune: '/'},
318 UpperInput: &Input{Rune: '?'},
319 },
320 },
321 {
322 {
323 LowerLabel: "Space",
324 UpperLabel: "SPACE",
325 LowerInput: &Input{Rune: ' '},
326 UpperInput: &Input{Rune: ' '},
327 },
328 },
329 }
330
331
332 var KeysMobileQWERTY = [][]*Key{
333 {
334 {
335 LowerLabel: "q",
336 UpperLabel: "Q",
337 LowerInput: &Input{Rune: 'q'},
338 UpperInput: &Input{Rune: 'Q'},
339 },
340 {
341 LowerLabel: "w",
342 UpperLabel: "W",
343 LowerInput: &Input{Rune: 'w'},
344 UpperInput: &Input{Rune: 'W'},
345 },
346 {
347 LowerLabel: "e",
348 UpperLabel: "E",
349 LowerInput: &Input{Rune: 'e'},
350 UpperInput: &Input{Rune: 'E'},
351 },
352 {
353 LowerLabel: "r",
354 UpperLabel: "R",
355 LowerInput: &Input{Rune: 'r'},
356 UpperInput: &Input{Rune: 'R'},
357 },
358 {
359 LowerLabel: "t",
360 UpperLabel: "T",
361 LowerInput: &Input{Rune: 't'},
362 UpperInput: &Input{Rune: 'T'},
363 },
364 {
365 LowerLabel: "y",
366 UpperLabel: "Y",
367 LowerInput: &Input{Rune: 'y'},
368 UpperInput: &Input{Rune: 'Y'},
369 },
370 {
371 LowerLabel: "u",
372 UpperLabel: "U",
373 LowerInput: &Input{Rune: 'u'},
374 UpperInput: &Input{Rune: 'U'},
375 },
376 {
377 LowerLabel: "i",
378 UpperLabel: "I",
379 LowerInput: &Input{Rune: 'i'},
380 UpperInput: &Input{Rune: 'I'},
381 },
382 {
383 LowerLabel: "o",
384 UpperLabel: "O",
385 LowerInput: &Input{Rune: 'o'},
386 UpperInput: &Input{Rune: 'O'},
387 },
388 {
389 LowerLabel: "p",
390 UpperLabel: "P",
391 LowerInput: &Input{Rune: 'p'},
392 UpperInput: &Input{Rune: 'P'},
393 },
394 },
395 {
396 {
397 LowerLabel: "a",
398 UpperLabel: "A",
399 LowerInput: &Input{Rune: 'a'},
400 UpperInput: &Input{Rune: 'A'},
401 },
402 {
403 LowerLabel: "s",
404 UpperLabel: "S",
405 LowerInput: &Input{Rune: 's'},
406 UpperInput: &Input{Rune: 'S'},
407 },
408 {
409 LowerLabel: "d",
410 UpperLabel: "D",
411 LowerInput: &Input{Rune: 'd'},
412 UpperInput: &Input{Rune: 'D'},
413 },
414 {
415 LowerLabel: "f",
416 UpperLabel: "F",
417 LowerInput: &Input{Rune: 'f'},
418 UpperInput: &Input{Rune: 'F'},
419 },
420 {
421 LowerLabel: "g",
422 UpperLabel: "G",
423 LowerInput: &Input{Rune: 'g'},
424 UpperInput: &Input{Rune: 'G'},
425 },
426 {
427 LowerLabel: "h",
428 UpperLabel: "H",
429 LowerInput: &Input{Rune: 'h'},
430 UpperInput: &Input{Rune: 'H'},
431 },
432 {
433 LowerLabel: "j",
434 UpperLabel: "J",
435 LowerInput: &Input{Rune: 'j'},
436 UpperInput: &Input{Rune: 'J'},
437 },
438 {
439 LowerLabel: "k",
440 UpperLabel: "K",
441 LowerInput: &Input{Rune: 'k'},
442 UpperInput: &Input{Rune: 'K'},
443 },
444 {
445 LowerLabel: "l",
446 UpperLabel: "L",
447 LowerInput: &Input{Rune: 'l'},
448 UpperInput: &Input{Rune: 'L'},
449 },
450 },
451 {
452 {
453 LowerLabel: "Shift",
454 UpperLabel: "SHIFT",
455 LowerInput: &Input{Key: ebiten.KeyShift},
456 UpperInput: &Input{Key: ebiten.KeyShift},
457 },
458 {
459 LowerLabel: "z",
460 UpperLabel: "Z",
461 LowerInput: &Input{Rune: 'z'},
462 UpperInput: &Input{Rune: 'Z'},
463 },
464 {
465 LowerLabel: "x",
466 UpperLabel: "X",
467 LowerInput: &Input{Rune: 'x'},
468 UpperInput: &Input{Rune: 'X'},
469 },
470 {
471 LowerLabel: "c",
472 UpperLabel: "C",
473 LowerInput: &Input{Rune: 'c'},
474 UpperInput: &Input{Rune: 'C'},
475 },
476 {
477 LowerLabel: "v",
478 UpperLabel: "V",
479 LowerInput: &Input{Rune: 'v'},
480 UpperInput: &Input{Rune: 'V'},
481 },
482 {
483 LowerLabel: "b",
484 UpperLabel: "B",
485 LowerInput: &Input{Rune: 'b'},
486 UpperInput: &Input{Rune: 'B'},
487 },
488 {
489 LowerLabel: "n",
490 UpperLabel: "N",
491 LowerInput: &Input{Rune: 'n'},
492 UpperInput: &Input{Rune: 'N'},
493 },
494 {
495 LowerLabel: "m",
496 UpperLabel: "M",
497 LowerInput: &Input{Rune: 'm'},
498 UpperInput: &Input{Rune: 'M'},
499 },
500 {
501 LowerLabel: "Backspace",
502 UpperLabel: "BACKSPACE",
503 LowerInput: &Input{Key: ebiten.KeyBackspace},
504 UpperInput: &Input{Key: ebiten.KeyBackspace},
505 },
506 },
507 {
508 {
509 LowerLabel: "Escape",
510 UpperLabel: "ESCAPE",
511 LowerInput: &Input{Key: ebiten.KeyEscape},
512 UpperInput: &Input{Key: ebiten.KeyEscape},
513 },
514 {
515 LowerLabel: "Symbols",
516 UpperLabel: "SYMBOLS",
517 LowerInput: &Input{Key: KeyToggleExtended},
518 UpperInput: &Input{Key: KeyToggleExtended},
519 },
520 {
521 LowerLabel: "Space",
522 UpperLabel: "SPACE",
523 LowerInput: &Input{Rune: ' '},
524 UpperInput: &Input{Rune: ' '},
525 Wide: true,
526 },
527 {
528 LowerLabel: ".",
529 UpperLabel: ",",
530 LowerInput: &Input{Rune: '.'},
531 UpperInput: &Input{Rune: ','},
532 },
533 {
534 LowerLabel: "Enter",
535 UpperLabel: "ENTER",
536 LowerInput: &Input{Key: ebiten.KeyEnter},
537 UpperInput: &Input{Key: ebiten.KeyEnter},
538 },
539 },
540 }
541
542
543 var KeysMobileSymbols = [][]*Key{
544 {
545 {
546 LowerLabel: "1",
547 UpperLabel: "1",
548 LowerInput: &Input{Rune: '1'},
549 UpperInput: &Input{Rune: '1'},
550 },
551 {
552 LowerLabel: "2",
553 UpperLabel: "2",
554 LowerInput: &Input{Rune: '2'},
555 UpperInput: &Input{Rune: '2'},
556 },
557 {
558 LowerLabel: "3",
559 UpperLabel: "3",
560 LowerInput: &Input{Rune: '3'},
561 UpperInput: &Input{Rune: '3'},
562 },
563 {
564 LowerLabel: "4",
565 UpperLabel: "4",
566 LowerInput: &Input{Rune: '4'},
567 UpperInput: &Input{Rune: '4'},
568 },
569 {
570 LowerLabel: "5",
571 UpperLabel: "5",
572 LowerInput: &Input{Rune: '5'},
573 UpperInput: &Input{Rune: '5'},
574 },
575 {
576 LowerLabel: "6",
577 UpperLabel: "6",
578 LowerInput: &Input{Rune: '6'},
579 UpperInput: &Input{Rune: '6'},
580 },
581 {
582 LowerLabel: "7",
583 UpperLabel: "7",
584 LowerInput: &Input{Rune: '7'},
585 UpperInput: &Input{Rune: '7'},
586 },
587 {
588 LowerLabel: "8",
589 UpperLabel: "8",
590 LowerInput: &Input{Rune: '8'},
591 UpperInput: &Input{Rune: '8'},
592 },
593 {
594 LowerLabel: "9",
595 UpperLabel: "9",
596 LowerInput: &Input{Rune: '9'},
597 UpperInput: &Input{Rune: '9'},
598 },
599 {
600 LowerLabel: "0",
601 UpperLabel: "0",
602 LowerInput: &Input{Rune: '0'},
603 UpperInput: &Input{Rune: '0'},
604 },
605 },
606 {
607 {
608 LowerLabel: "<",
609 UpperLabel: "<",
610 LowerInput: &Input{Rune: '<'},
611 UpperInput: &Input{Rune: '<'},
612 },
613 {
614 LowerLabel: ">",
615 UpperLabel: ">",
616 LowerInput: &Input{Rune: '>'},
617 UpperInput: &Input{Rune: '>'},
618 },
619 {
620 LowerLabel: "[",
621 UpperLabel: "[",
622 LowerInput: &Input{Rune: '['},
623 UpperInput: &Input{Rune: '['},
624 },
625 {
626 LowerLabel: "]",
627 UpperLabel: "]",
628 LowerInput: &Input{Rune: ']'},
629 UpperInput: &Input{Rune: ']'},
630 },
631 {
632 LowerLabel: "{",
633 UpperLabel: "{",
634 LowerInput: &Input{Rune: '{'},
635 UpperInput: &Input{Rune: '{'},
636 },
637 {
638 LowerLabel: "}",
639 UpperLabel: "}",
640 LowerInput: &Input{Rune: '}'},
641 UpperInput: &Input{Rune: '}'},
642 },
643 {
644 LowerLabel: "(",
645 UpperLabel: "(",
646 LowerInput: &Input{Rune: '('},
647 UpperInput: &Input{Rune: '('},
648 },
649 {
650 LowerLabel: ")",
651 UpperLabel: ")",
652 LowerInput: &Input{Rune: ')'},
653 UpperInput: &Input{Rune: ')'},
654 },
655 {
656 LowerLabel: "-",
657 UpperLabel: "-",
658 LowerInput: &Input{Rune: '-'},
659 UpperInput: &Input{Rune: '-'},
660 },
661 {
662 LowerLabel: "+",
663 UpperLabel: "+",
664 LowerInput: &Input{Rune: '+'},
665 UpperInput: &Input{Rune: '+'},
666 },
667 },
668 {
669 {
670 LowerLabel: "@",
671 UpperLabel: "@",
672 LowerInput: &Input{Rune: '@'},
673 UpperInput: &Input{Rune: '@'},
674 },
675 {
676 LowerLabel: "#",
677 UpperLabel: "#",
678 LowerInput: &Input{Rune: '#'},
679 UpperInput: &Input{Rune: '#'},
680 },
681 {
682 LowerLabel: "$",
683 UpperLabel: "$",
684 LowerInput: &Input{Rune: '$'},
685 UpperInput: &Input{Rune: '$'},
686 },
687 {
688 LowerLabel: "%",
689 UpperLabel: "%",
690 LowerInput: &Input{Rune: '%'},
691 UpperInput: &Input{Rune: '%'},
692 },
693 {
694 LowerLabel: "^",
695 UpperLabel: "^",
696 LowerInput: &Input{Rune: '^'},
697 UpperInput: &Input{Rune: '^'},
698 },
699 {
700 LowerLabel: "&",
701 UpperLabel: "&",
702 LowerInput: &Input{Rune: '&'},
703 UpperInput: &Input{Rune: '&'},
704 },
705 {
706 LowerLabel: "*",
707 UpperLabel: "*",
708 LowerInput: &Input{Rune: '*'},
709 UpperInput: &Input{Rune: '*'},
710 },
711 {
712 LowerLabel: "=",
713 UpperLabel: "=",
714 LowerInput: &Input{Rune: '='},
715 UpperInput: &Input{Rune: '='},
716 },
717 {
718 LowerLabel: "|",
719 UpperLabel: "|",
720 LowerInput: &Input{Rune: '|'},
721 UpperInput: &Input{Rune: '|'},
722 },
723 {
724 LowerLabel: "_",
725 UpperLabel: "_",
726 LowerInput: &Input{Rune: '_'},
727 UpperInput: &Input{Rune: '_'},
728 },
729 },
730 {
731 {
732 LowerLabel: "\\",
733 UpperLabel: "\\",
734 LowerInput: &Input{Rune: '\\'},
735 UpperInput: &Input{Rune: '\\'},
736 },
737 {
738 LowerLabel: "/",
739 UpperLabel: "/",
740 LowerInput: &Input{Rune: '/'},
741 UpperInput: &Input{Rune: '/'},
742 },
743 {
744 LowerLabel: "'",
745 UpperLabel: "'",
746 LowerInput: &Input{Rune: '\''},
747 UpperInput: &Input{Rune: '\''},
748 },
749 {
750 LowerLabel: "\"",
751 UpperLabel: "\"",
752 LowerInput: &Input{Rune: '"'},
753 UpperInput: &Input{Rune: '"'},
754 },
755 {
756 LowerLabel: ";",
757 UpperLabel: ";",
758 LowerInput: &Input{Rune: ';'},
759 UpperInput: &Input{Rune: ';'},
760 },
761 {
762 LowerLabel: ":",
763 UpperLabel: ":",
764 LowerInput: &Input{Rune: ':'},
765 UpperInput: &Input{Rune: ':'},
766 },
767 {
768 LowerLabel: "!",
769 UpperLabel: "!",
770 LowerInput: &Input{Rune: '!'},
771 UpperInput: &Input{Rune: '!'},
772 },
773 {
774 LowerLabel: "?",
775 UpperLabel: "?",
776 LowerInput: &Input{Rune: '?'},
777 UpperInput: &Input{Rune: '?'},
778 },
779 {
780 LowerLabel: "Backspace",
781 UpperLabel: "BACKSPACE",
782 LowerInput: &Input{Key: ebiten.KeyBackspace},
783 UpperInput: &Input{Key: ebiten.KeyBackspace},
784 },
785 },
786 {
787 {
788 LowerLabel: "Escape",
789 UpperLabel: "ESCAPE",
790 LowerInput: &Input{Key: ebiten.KeyEscape},
791 UpperInput: &Input{Key: ebiten.KeyEscape},
792 },
793 {
794 LowerLabel: "Symbols",
795 UpperLabel: "SYMBOLS",
796 LowerInput: &Input{Key: KeyToggleExtended},
797 UpperInput: &Input{Key: KeyToggleExtended},
798 },
799 {
800 LowerLabel: "Space",
801 UpperLabel: "SPACE",
802 LowerInput: &Input{Rune: ' '},
803 UpperInput: &Input{Rune: ' '},
804 Wide: true,
805 },
806 {
807 LowerLabel: ".",
808 UpperLabel: ".",
809 LowerInput: &Input{Rune: '.'},
810 UpperInput: &Input{Rune: '.'},
811 },
812 {
813 LowerLabel: "Enter",
814 UpperLabel: "ENTER",
815 LowerInput: &Input{Key: ebiten.KeyEnter},
816 UpperInput: &Input{Key: ebiten.KeyEnter},
817 },
818 },
819 }
820
821 var allKeys = []ebiten.Key{
822 ebiten.KeyA,
823 ebiten.KeyB,
824 ebiten.KeyC,
825 ebiten.KeyD,
826 ebiten.KeyE,
827 ebiten.KeyF,
828 ebiten.KeyG,
829 ebiten.KeyH,
830 ebiten.KeyI,
831 ebiten.KeyJ,
832 ebiten.KeyK,
833 ebiten.KeyL,
834 ebiten.KeyM,
835 ebiten.KeyN,
836 ebiten.KeyO,
837 ebiten.KeyP,
838 ebiten.KeyQ,
839 ebiten.KeyR,
840 ebiten.KeyS,
841 ebiten.KeyT,
842 ebiten.KeyU,
843 ebiten.KeyV,
844 ebiten.KeyW,
845 ebiten.KeyX,
846 ebiten.KeyY,
847 ebiten.KeyZ,
848 ebiten.KeyAltLeft,
849 ebiten.KeyAltRight,
850 ebiten.KeyArrowDown,
851 ebiten.KeyArrowLeft,
852 ebiten.KeyArrowRight,
853 ebiten.KeyArrowUp,
854 ebiten.KeyBackquote,
855 ebiten.KeyBackslash,
856 ebiten.KeyBackspace,
857 ebiten.KeyBracketLeft,
858 ebiten.KeyBracketRight,
859 ebiten.KeyCapsLock,
860 ebiten.KeyComma,
861 ebiten.KeyContextMenu,
862 ebiten.KeyControlLeft,
863 ebiten.KeyControlRight,
864 ebiten.KeyDelete,
865 ebiten.KeyDigit0,
866 ebiten.KeyDigit1,
867 ebiten.KeyDigit2,
868 ebiten.KeyDigit3,
869 ebiten.KeyDigit4,
870 ebiten.KeyDigit5,
871 ebiten.KeyDigit6,
872 ebiten.KeyDigit7,
873 ebiten.KeyDigit8,
874 ebiten.KeyDigit9,
875 ebiten.KeyEnd,
876 ebiten.KeyEnter,
877 ebiten.KeyEqual,
878 ebiten.KeyEscape,
879 ebiten.KeyF1,
880 ebiten.KeyF2,
881 ebiten.KeyF3,
882 ebiten.KeyF4,
883 ebiten.KeyF5,
884 ebiten.KeyF6,
885 ebiten.KeyF7,
886 ebiten.KeyF8,
887 ebiten.KeyF9,
888 ebiten.KeyF10,
889 ebiten.KeyF11,
890 ebiten.KeyF12,
891 ebiten.KeyHome,
892 ebiten.KeyInsert,
893 ebiten.KeyMetaLeft,
894 ebiten.KeyMetaRight,
895 ebiten.KeyMinus,
896 ebiten.KeyNumLock,
897 ebiten.KeyNumpad0,
898 ebiten.KeyNumpad1,
899 ebiten.KeyNumpad2,
900 ebiten.KeyNumpad3,
901 ebiten.KeyNumpad4,
902 ebiten.KeyNumpad5,
903 ebiten.KeyNumpad6,
904 ebiten.KeyNumpad7,
905 ebiten.KeyNumpad8,
906 ebiten.KeyNumpad9,
907 ebiten.KeyNumpadAdd,
908 ebiten.KeyNumpadDecimal,
909 ebiten.KeyNumpadDivide,
910 ebiten.KeyNumpadEnter,
911 ebiten.KeyNumpadEqual,
912 ebiten.KeyNumpadMultiply,
913 ebiten.KeyNumpadSubtract,
914 ebiten.KeyPageDown,
915 ebiten.KeyPageUp,
916 ebiten.KeyPause,
917 ebiten.KeyPeriod,
918 ebiten.KeyPrintScreen,
919 ebiten.KeyQuote,
920 ebiten.KeyScrollLock,
921 ebiten.KeySemicolon,
922 ebiten.KeyShiftLeft,
923 ebiten.KeyShiftRight,
924 ebiten.KeySlash,
925 ebiten.KeySpace,
926 ebiten.KeyTab,
927 ebiten.KeyAlt,
928 ebiten.KeyControl,
929 ebiten.KeyShift,
930 ebiten.KeyMeta,
931 ebiten.KeyMax,
932 }
933
View as plain text