trunk/src/emu/machine/keyboard.c
| r30698 | r30699 | |
| 17 | 17 | WRITE8_MEMBER( xxx_state::kbd_put ) |
| 18 | 18 | { |
| 19 | 19 | (code to capture the key as it is pressed) |
| 20 | (if your machine uses function keys, add your conversion code here) |
| 20 | 21 | } |
| 21 | 22 | |
| 22 | 23 | ***************************************************************************/ |
| r30698 | r30699 | |
| 38 | 39 | m_io_kbd5(*this, "TERM_LINE5"), |
| 39 | 40 | m_io_kbd6(*this, "TERM_LINE6"), |
| 40 | 41 | m_io_kbd7(*this, "TERM_LINE7"), |
| 42 | m_io_kbd8(*this, "TERM_LINE8"), |
| 43 | m_io_kbd9(*this, "TERM_LINE9"), |
| 41 | 44 | m_io_kbdc(*this, "TERM_LINEC"), |
| 42 | 45 | m_keyboard_cb(*this) |
| 43 | 46 | { |
| r30698 | r30699 | |
| 53 | 56 | m_io_kbd5(*this, "TERM_LINE5"), |
| 54 | 57 | m_io_kbd6(*this, "TERM_LINE6"), |
| 55 | 58 | m_io_kbd7(*this, "TERM_LINE7"), |
| 59 | m_io_kbd8(*this, "TERM_LINE8"), |
| 60 | m_io_kbd9(*this, "TERM_LINE9"), |
| 56 | 61 | m_io_kbdc(*this, "TERM_LINEC"), |
| 57 | 62 | m_keyboard_cb(*this) |
| 58 | 63 | { |
| r30698 | r30699 | |
| 98 | 103 | if (i == 6) code = m_io_kbd6->read(); |
| 99 | 104 | else |
| 100 | 105 | if (i == 7) code = m_io_kbd7->read(); |
| 106 | else |
| 107 | if (i == 8) code = m_io_kbd8->read(); |
| 108 | else |
| 109 | if (i == 9) code = m_io_kbd9->read(); |
| 101 | 110 | |
| 102 | 111 | if (code != 0) |
| 103 | 112 | { |
| r30698 | r30699 | |
| 174 | 183 | case 1: key_code = 0x08; break; // Backspace |
| 175 | 184 | } |
| 176 | 185 | } |
| 186 | else |
| 187 | if (i==8) |
| 188 | { |
| 189 | key_code = row_number(code)+0x81; |
| 190 | if (ctrl) key_code+=0x10; |
| 191 | if (shift) key_code+=0x20; |
| 192 | } |
| 193 | else |
| 194 | if (i==9) |
| 195 | { |
| 196 | key_code = row_number(code)+0x89; |
| 197 | if (ctrl) key_code+=0x10; |
| 198 | if (shift) key_code+=0x20; |
| 199 | } |
| 200 | |
| 177 | 201 | retVal = key_code; |
| 178 | | } else { |
| 202 | } |
| 203 | else |
| 204 | { |
| 179 | 205 | *scan_line += 1; |
| 180 | | if (*scan_line==8) { |
| 206 | if (*scan_line==10) |
| 181 | 207 | *scan_line = 0; |
| 182 | | } |
| 183 | 208 | } |
| 184 | 209 | } |
| 185 | 210 | return retVal; |
| r30698 | r30699 | |
| 340 | 365 | PORT_START("TERM_LINE7") |
| 341 | 366 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Escape") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC)) |
| 342 | 367 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Backspace") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) |
| 368 | |
| 369 | PORT_START("TERM_LINE8") |
| 370 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) |
| 371 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) |
| 372 | PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) |
| 373 | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) |
| 374 | PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) |
| 375 | PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) |
| 376 | PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) |
| 377 | PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) |
| 378 | |
| 379 | PORT_START("TERM_LINE9") |
| 380 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F9") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) |
| 381 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F10") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) |
| 382 | PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F11") PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11)) |
| 383 | PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F12") PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12)) |
| 343 | 384 | INPUT_PORTS_END |
| 344 | 385 | |
| 345 | 386 | ioport_constructor generic_keyboard_device::device_input_ports() const |