|
1 | 1 | /* Minimalistic Enterprise-128 emulator with focus on "exotic" hardware |
2 | 2 | Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu |
3 | | - Copyright (C)2015-2016,2020 LGB (Gábor Lénárt) <[email protected]> |
| 3 | + Copyright (C)2015-2016,2020,2025 LGB (Gábor Lénárt) <[email protected]> |
4 | 4 |
|
5 | 5 | This program is free software; you can redistribute it and/or modify |
6 | 6 | it under the terms of the GNU General Public License as published by |
@@ -133,6 +133,97 @@ const struct KeyMappingDefault ep128_key_map[] = { |
133 | 133 | { 0, -1, NULL } |
134 | 134 | }; |
135 | 135 |
|
| 136 | + |
| 137 | +#ifdef XEMU_OSK_SUPPORT |
| 138 | +const struct osk_desc_st osk_desc[] = { |
| 139 | + {0, 5,17,"F1", 0x47}, |
| 140 | + {0, 0,17,"F2", 0x46}, |
| 141 | + {0, 0,17,"F3", 0x42}, |
| 142 | + {0, 0,17,"F4", 0x40}, |
| 143 | + {0, 0,17,"F5", 0x44}, |
| 144 | + {0, 0,17,"F6", 0x43}, |
| 145 | + {0, 0,17,"F7", 0x45}, |
| 146 | + {0, 0,17,"F8", 0x41}, |
| 147 | + {0, 4,10,"HOLD", 0x74}, |
| 148 | + {0, 0,17,"STOP", 0x70}, |
| 149 | + |
| 150 | + |
| 151 | + {OSK_DESC_NEW_LINE, 2,10,"ESC", 0x37}, |
| 152 | + {0, 0,10,"1\n!", 0x31}, |
| 153 | + {0, 0,10,"2\n\"", 0x36}, |
| 154 | + {0, 0,10,"3\nPnd", 0x35}, |
| 155 | + {0, 0,10,"4\n$", 0x33}, |
| 156 | + {0, 0,10,"5\n%", 0x34}, |
| 157 | + {0, 0,10,"6\n&", 0x32}, |
| 158 | + {0, 0,10,"7\n'", 0x30}, |
| 159 | + {0, 0,10,"8\n(", 0x50}, |
| 160 | + {0, 0,10,"9\n)", 0x52}, |
| 161 | + {0, 0,10,"0\n_", 0x54}, |
| 162 | + {0, 0,10,"-\n=", 0x53}, |
| 163 | + {0, 0,10,"^\n~", -1 }, // TODO |
| 164 | + {0, 0,15,"ERASE", 0x56}, |
| 165 | + {0, 0,15,"DEL", 0x81}, |
| 166 | + {0, 0,10,"INS", 0x87}, |
| 167 | + |
| 168 | + |
| 169 | + {OSK_DESC_NEW_LINE, 2,15,"TAB", 0x27}, |
| 170 | + {0, 0,10,"Q", 0x21}, |
| 171 | + {0, 0,10,"W", 0x26}, |
| 172 | + {0, 0,10,"E", 0x25}, |
| 173 | + {0, 0,10,"R", 0x23}, |
| 174 | + {0, 0,10,"T", 0x24}, |
| 175 | + {0, 0,10,"Y", 0x22}, |
| 176 | + {0, 0,10,"U", 0x20}, |
| 177 | + {0, 0,10,"I", 0x90}, |
| 178 | + {0, 0,10,"O", 0x92}, |
| 179 | + {0, 0,10,"P", 0x94}, |
| 180 | + {0, 0,10,"@\n`", 0x93}, |
| 181 | + {0, 0,10,"[\n{", 0x95}, |
| 182 | + {0, 0,15,"ENTER", 0x76}, |
| 183 | + |
| 184 | + |
| 185 | + {OSK_DESC_NEW_LINE | OSK_DESC_TOGGLE, 0,10,"CTRL", 0x17}, |
| 186 | + {0, 0,10,"Lck", -1}, // TODO |
| 187 | + {0, 0,10,"A", 0x16}, |
| 188 | + {0, 0,10,"S", 0x15}, |
| 189 | + {0, 0,10,"D", 0x13}, |
| 190 | + {0, 0,10,"F", 0x14}, |
| 191 | + {0, 0,10,"G", 0x12}, |
| 192 | + {0, 0,10,"H", 0x10}, |
| 193 | + {0, 0,10,"J", 0x60}, |
| 194 | + {0, 0,10,"K", 0x62}, |
| 195 | + {0, 0,10,"L", 0x64}, |
| 196 | + {0, 0,10,";\n+", 0x63}, |
| 197 | + {0, 0,10,":\n*", 0x65}, |
| 198 | + {0, 0,10,"]\n}", 0x66}, |
| 199 | + {0, 17,10,"UP", 0x73}, |
| 200 | + |
| 201 | + {OSK_DESC_NEW_LINE | OSK_DESC_TOGGLE | OSK_DESC_MOD_KEY, 0,15,"Shift", 0x07}, |
| 202 | + {0, 0,10,"\\\n|", 0x04}, |
| 203 | + {0, 0,10,"Z", 0x06}, |
| 204 | + {0, 0,10,"X", 0x05}, |
| 205 | + {0, 0,10,"C", 0x03}, |
| 206 | + {0, 0,10,"V", 0x04}, |
| 207 | + {0, 0,10,"B", 0x02}, |
| 208 | + {0, 0,10,"N", 0x00}, |
| 209 | + {0, 0,10,"M", 0x80}, |
| 210 | + {0, 0,10,",\n<", 0x82}, |
| 211 | + {0, 0,10,".\n>", 0x84}, |
| 212 | + {0, 0,10,"/\n?", 0x83}, |
| 213 | + {OSK_DESC_TOGGLE | OSK_DESC_MOD_KEY, 0,15,"Shift", 0x85}, |
| 214 | + {0, 12,10,"LEFT", 0x75}, |
| 215 | + {0, 0,10,"RIGHT", 0x72}, |
| 216 | + |
| 217 | + |
| 218 | + {OSK_DESC_NEW_LINE, 38, 80, "SPACE", 0x86}, |
| 219 | + {OSK_DESC_TOGGLE, 12,10,"ALT", -1}, // TODO |
| 220 | + {0, 17,10,"DOWN", 0x71}, |
| 221 | + |
| 222 | + {.key_str = NULL} |
| 223 | +}; |
| 224 | +#endif |
| 225 | + |
| 226 | + |
136 | 227 | /* The mouse buffer. nibble_counter shows which nibble is to read (thus "nibble_counter >> 1" is the byte pointer actually. |
137 | 228 | mouse_protocol_nibbles limits the max nibbles to read, ie it's 4 (= 2 bytes) for boxsoft protocol for the default setting */ |
138 | 229 | static Uint8 mouse_buffer[] = { |
|
0 commit comments