Jump to content


Emulator key scanning

keyboard scanning

  • Please log in to reply
2 replies to this topic

#1 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 239 posts

Posted 07 November 2017 - 09:14 AM

When running JSW on an emulator, it quickly becomes evident that the emulator has problems scanning the keys.


This problem manifests itself, if the cheat code has been typed in and key combinations are required to jump to rooms.


This can/coulld be a problem caused by either the host hardware, the emulator, or both. 



This short program will simply display key presses as interpreted by the host machine and passed through the emulator.



I find it fascinating that on one of the emulators I use ("FUSE") has so many problems. 


For example Press and hold "F" and "G" ., the rest of the row will now be ignored, except "ENTER".

e.g. "A", "S", "D", "H", "J", "K", "L" will not register


This is a different problem than the one experienced on a real ZX spectrum. Where the key scanning can interpret groups of keys as phantom key presses. 

Attached Files

Edited by Norman Sword, 07 November 2017 - 08:35 PM.

#2 Spider


    DEC (HL)

  • Administrator
  • 3,998 posts

Posted 07 November 2017 - 01:06 PM

I do note slight differences between emulators but I have always assumed most of the problem here on an emulator vs a real machine is the way the host is limited in how it reads the keyboard and which multiple keys it can cope with at once. I do not think there is any difference between a USB and a PS2 type, I'm assuming the concern is a legacy one in how the IBM-PC "architecture" (if that's the right word?) was designed


It would be interesting to find out if there are actually any differences in this between a PC and a Mac too.

Changing order to chaos since 1984

#3 Metalmickey


    Advanced Member

  • Contributor
  • 276 posts

Posted 19 November 2017 - 11:59 PM

There seems to be a significant difference between a desktop PC and a laptop. Using Norman's program on my laptop i can get it to register up to 8 simultaneous keys on any given row using Spectaculator 8.0, i had the same results with FUSE and SPIN, when i connect a USB keyboard i can only get about 4, however because it's a wireless one i can probably understand why.


owing to the fact that my little rubber-keyed friend is on loan at present i have not yet been able to try it out on a real spectrum


My theory is that laptops the ZX Spectrum have one thing in common and that is their keyboards are connected to the motherboard via a multi-way membrane  as opposed to a 5 pin PS2 connector or in the case of the modern PC a single data channel (2 if you count data coming out of the system)


pressing combinations of keys across the rows such as QW and GH also work but not in every case for example IO and DE won't work, only 3 of the four keys will register

Edited by Metalmickey, 20 November 2017 - 12:05 AM.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users