C128 Down and Right scancodes

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser Please create an account and log in to see all content by default. This is a limitation of the forum software.
Don't Panic. Please wash hands.
  • I am trying to set up a C128 keyboard (as a perfect superset of the VIC-20 keyboard, and with better quality keys) for use with VICE, and I noticed that the two different Down keys ("Arrow Down" and "Cursor Down") both seem to be represented by the same scancode in Keyrah V2. The same goes for the two Right keys. This means that the VICE configuration has two matrix mappings for Down, and two for Right, and on top of that is the shifted version of the Cursor {Down|Right} keys, which are not relevant for the arrow keys. Is there any way to get Keyrah V2 to send different scancodes for all these keys?


    I managed to get the SHIFT version of CRSR Down and CRSR Right working with the simpler C64 keyboard map in VICE, but for the full C128 layout I can't seem to get it working, and I'm pretty sure it's because of the scancode thing.


    Hans

  • Sadly, I can't think of a very good solution to this. There's no separate HID scan code for any other "Down" key, apart from KP_2 which doubles as "KP_Down". If there was a way to jumper the Keyrah for an alternate mapping, the C128 arrow keys could be mapped to the HID codes for KP_2, KP_8, KP_4 and KP_6 which would solve the problem, but that would require a hardware change.


    Also, I'm wondering about the mapping of the 40/80 key vs. F7, and other double mappings. Actually, I might be better off building my own USB adapter for the C128 keyboard, actually... :(

  • Sadly, I can't think of a very good solution to this. There's no separate HID scan code for any other "Down" key, apart from KP_2 which doubles as "KP_Down". If there was a way to jumper the Keyrah for an alternate mapping, the C128 arrow keys could be mapped to the HID codes for KP_2, KP_8, KP_4 and KP_6 which would solve the problem, but that would require a hardware change.


    Also, I'm wondering about the mapping of the 40/80 key vs. F7, and other double mappings. Actually, I might be better off building my own USB adapter for the C128 keyboard, actually... :(

    Sorry, just noticed the C128 keyboard has a numeric keypad. I knew that. :) So this would have to rely on completely unrelated key codes to work, in other words.

  • Also, I'm wondering about the mapping of the 40/80 key vs. F7, and other double mappings.

    The idea behind mapping the 40/80 columns key to F8 (not F7!) was that the locking mechanism can be removed, so you have a separate F8 key. Same goes for the Ascii/DIN key: The locking mechanism should be removed for "everyday operation".


    It's true that some C128 keys can't be 100% mapped to the Vice key map, but that's because it would interfere with the C64/VIC20 mapping.


    We use a C64 during production to program the EEPROM chips on Keyrah: A special userport cable makes the connection to the jumper header (jumpers need to be removed of course), and the three chips are programmed in one go. I could think of a public version of this program, along with a setting for "C128" that sends the exact key codes that Vice is expecting for a C128 keyboard. One of the mappings will have to go - either a country-specific mapping, or the "PC-geared" mapping.

  • The idea behind mapping the 40/80 columns key to F8 (not F7!) was that the locking mechanism can be removed, so you have a separate F8 key. Same goes for the Ascii/DIN key: The locking mechanism should be removed for "everyday operation".


    It's true that some C128 keys can't be 100% mapped to the Vice key map, but that's because it would interfere with the C64/VIC20 mapping.


    We use a C64 during production to program the EEPROM chips on Keyrah: A special userport cable makes the connection to the jumper header (jumpers need to be removed of course), and the three chips are programmed in one go. I could think of a public version of this program, along with a setting for "C128" that sends the exact key codes that Vice is expecting for a C128 keyboard. One of the mappings will have to go - either a country-specific mapping, or the "PC-geared" mapping.

    It's ok, I'll build something with an Atmega32u4 instead. If nobody else has asked for this, there's no need to accommodate me. I'll use the Keyrah for something else. Thanks anyway!