|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2018 [email protected]
4: //
5:
6: #pragma once
7:
8: #include "keyboard.h"
1.1.1.2 ! root 9: #include "scheduler.h"
1.1 root 10:
11: class X68030Keyboard : public Keyboard
12: {
13: typedef Keyboard inherited;
14: public:
15: X68030Keyboard();
16: virtual ~X68030Keyboard();
17:
18: // キーを押した
19: virtual void MakeKey(uint);
20: // キーを離した
21: virtual void BreakKey(uint);
1.1.1.2 ! root 22: // マウス入力
! 23: virtual void MouseInput(int x, int y, bool rb, bool lb, bool mb);
1.1 root 24:
25: private:
1.1.1.2 ! root 26: // キー入力イベント
! 27: Event event {};
! 28:
1.1 root 29: // 共通キーコードから LUNA キーコードへの変換
30: uint keycode2x68kkey(uint);
31:
32: // 変換テーブル
33: static const uint keycode2x68kkey_table[133];
34:
35: // キー名テーブル
36: static const char * const keyname[128];
37:
38: // X680x0 キーコード
39: static const uint NoKey = 0;
40: static const uint X68kKey_ESC = 0x01;
41: static const uint X68kKey_1 = 0x02;
42: static const uint X68kKey_2 = 0x03;
43: static const uint X68kKey_3 = 0x04;
44: static const uint X68kKey_4 = 0x05;
45: static const uint X68kKey_5 = 0x06;
46: static const uint X68kKey_6 = 0x07;
47: static const uint X68kKey_7 = 0x08;
48: static const uint X68kKey_8 = 0x09;
49: static const uint X68kKey_9 = 0x0a;
50: static const uint X68kKey_0 = 0x0b;
51: static const uint X68kKey_minus = 0x0c;
52: static const uint X68kKey_circum = 0x0d;
53: static const uint X68kKey_backslash = 0x0e;
54: static const uint X68kKey_BS = 0x0f;
55:
56: static const uint X68kKey_TAB = 0x10;
57: static const uint X68kKey_Q = 0x11;
58: static const uint X68kKey_W = 0x12;
59: static const uint X68kKey_E = 0x13;
60: static const uint X68kKey_R = 0x14;
61: static const uint X68kKey_T = 0x15;
62: static const uint X68kKey_Y = 0x16;
63: static const uint X68kKey_U = 0x17;
64: static const uint X68kKey_I = 0x18;
65: static const uint X68kKey_O = 0x19;
66: static const uint X68kKey_P = 0x1a;
67: static const uint X68kKey_at = 0x1b;
68: static const uint X68kKey_bracketleft = 0x1c;
69: static const uint X68kKey_enter = 0x1d;
70: static const uint X68kKey_A = 0x1e;
71: static const uint X68kKey_S = 0x1f;
72:
73: static const uint X68kKey_D = 0x20;
74: static const uint X68kKey_F = 0x21;
75: static const uint X68kKey_G = 0x22;
76: static const uint X68kKey_H = 0x23;
77: static const uint X68kKey_J = 0x24;
78: static const uint X68kKey_K = 0x25;
79: static const uint X68kKey_L = 0x26;
80: static const uint X68kKey_semicolon = 0x27;
81: static const uint X68kKey_colon = 0x28;
82: static const uint X68kKey_bracketright = 0x29;
83: static const uint X68kKey_Z = 0x2a;
84: static const uint X68kKey_X = 0x2b;
85: static const uint X68kKey_C = 0x2c;
86: static const uint X68kKey_V = 0x2d;
87: static const uint X68kKey_B = 0x2e;
88: static const uint X68kKey_N = 0x2f;
89:
90: static const uint X68kKey_M = 0x30;
91: static const uint X68kKey_comma = 0x31;
92: static const uint X68kKey_period = 0x32;
93: static const uint X68kKey_slash = 0x33;
94: static const uint X68kKey_underscore = 0x34;
95: static const uint X68kKey_space = 0x35;
96: static const uint X68kKey_HOME = 0x36;
97: static const uint X68kKey_DEL = 0x37;
98: static const uint X68kKey_ROLLUP = 0x38;
99: static const uint X68kKey_ROLLDOWN = 0x39;
100: static const uint X68kKey_UNDO = 0x3a;
101: static const uint X68kKey_left = 0x3b;
102: static const uint X68kKey_up = 0x3c;
103: static const uint X68kKey_right = 0x3d;
104: static const uint X68kKey_down = 0x3e;
105: static const uint X68kKey_PAD_CLR = 0x3f;
106:
107: static const uint X68kKey_PAD_divide = 0x40;
108: static const uint X68kKey_PAD_multiply = 0x41;
109: static const uint X68kKey_PAD_minus = 0x42;
110: static const uint X68kKey_PAD_7 = 0x43;
111: static const uint X68kKey_PAD_8 = 0x44;
112: static const uint X68kKey_PAD_9 = 0x45;
113: static const uint X68kKey_PAD_plus = 0x46;
114: static const uint X68kKey_PAD_4 = 0x47;
115: static const uint X68kKey_PAD_5 = 0x48;
116: static const uint X68kKey_PAD_6 = 0x49;
117: static const uint X68kKey_PAD_equal = 0x4a;
118: static const uint X68kKey_PAD_1 = 0x4b;
119: static const uint X68kKey_PAD_2 = 0x4c;
120: static const uint X68kKey_PAD_3 = 0x4d;
121: static const uint X68kKey_PAD_enter = 0x4e;
122: static const uint X68kKey_PAD_0 = 0x4f;
123:
124: static const uint X68kKey_PAD_comma = 0x50;
125: static const uint X68kKey_PAD_decimal = 0x51;
126: static const uint X68kKey_kigou = 0x52;
127: static const uint X68kKey_touroku = 0x53;
128: static const uint X68kKey_HELP = 0x54;
129: static const uint X68kKey_XF1 = 0x55;
130: static const uint X68kKey_XF2 = 0x56;
131: static const uint X68kKey_XF3 = 0x57;
132: static const uint X68kKey_XF4 = 0x58;
133: static const uint X68kKey_XF5 = 0x59;
134: static const uint X68kKey_kana = 0x5a;
135: static const uint X68kKey_romaji = 0x5b;
136: static const uint X68kKey_code = 0x5c;
137: static const uint X68kKey_CAPS = 0x5d;
138: static const uint X68kKey_INS = 0x5e;
139: static const uint X68kKey_hira = 0x5f;
140:
141: static const uint X68kKey_zenkaku = 0x60;
142: static const uint X68kKey_BREAK = 0x61;
143: static const uint X68kKey_COPY = 0x62;
144: static const uint X68kKey_F1 = 0x63;
145: static const uint X68kKey_F2 = 0x64;
146: static const uint X68kKey_F3 = 0x65;
147: static const uint X68kKey_F4 = 0x66;
148: static const uint X68kKey_F5 = 0x67;
149: static const uint X68kKey_F6 = 0x68;
150: static const uint X68kKey_F7 = 0x69;
151: static const uint X68kKey_F8 = 0x6a;
152: static const uint X68kKey_F9 = 0x6b;
153: static const uint X68kKey_F10 = 0x6c;
154:
155: static const uint X68kKey_SHIFT = 0x70;
156: static const uint X68kKey_CTRL = 0x71;
157: static const uint X68kKey_OPT1 = 0x72;
158: static const uint X68kKey_OPT2 = 0x73;
159: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.