USB Keyboard IF
Re: USB Keyboard IF
It is an 8x8 matrix, thus 64 keys (mind the double shift keys!). However, shift, ctrl and alt are treated with extra diodes because there are some limitations to what keys can be pressed without 'phantom' keypresses being generated. Won't go into why here, suffice to say shift-ctrl-alt can be pressed together in any combination, and 3 keys pressed together can, without separate diodes inserted into the matrix, generate phantom keys - therefore shift-ctrl-alt have special treatment, each with it's own diode.
Re: USB Keyboard IF
Sorry, I'm a dunce. I saw the 9 and 11 line on a keyboard membrane and googled to find this image and never actually looked at it. 1 row and 3 columns only have shift, ctrl, and alt and there are three empty slots in the middle's 8x8 so 64 total. Makes sense now.
Re: USB Keyboard IF
Btw, if you end up making a board out of it, perhaps replacing the RF Modulator and using that opening in the back for a PS-2 plug (or USB I suppose...maybe mount it sideways).Maskenlos wrote:I just counted the keys on my QL, if not miss-count there are 65 keys. Could anyone kindly double confirm
To be honest, there are no keys missing, even better, there are keys on the PC Keyboard which not even exist on the QL keyboard:
- Backspace
- Delete
- / (on the Key-Pad)
- x (on the Key-Pad)
Also its a mystery that the QL has a 9x11 Matrix, the 8049 IPC only supports 8x8 Matrix. Kindly check the diagram below. So a MT8812 and 3 external diodes will do the job. 8 & 9 ribbon cable are correct, as I do not use pins 1,2 & 11 from J12.
Re: USB Keyboard IF
I don't expect any problems with CTRL, ALT, and SHIFT & their combinations, because Spectratur hooks directly into the QL's keyboard matrix. Activating a switch in the MT88xx switch matrix is pretty much identical to pressing a real key. So should be fine, but Stephan will report.
BTW, the Spectratur project is not limited to the QL. It's fairly generic.To use it with a particular target machine, you just create a new header file with the desired key mappings. I use it with a Spectrum and a ZX80/81 clone. These mappings are already contained in the project.
BTW, the Spectratur project is not limited to the QL. It's fairly generic.To use it with a particular target machine, you just create a new header file with the desired key mappings. I use it with a Spectrum and a ZX80/81 clone. These mappings are already contained in the project.
Re: USB Keyboard IF
These were the special key combinations I was thinking of:Maskenlos wrote:Pr0f, anything particular you want me to test? So far I only tested the basic combinations with CTRL (e.g. CTRL + arrow left) and with SHIFT. This works well. I do not have a Hermes, so I can not test Hermes specific things.
Peter, fully understand your demand. Probably this is useful to you:
http://www.deblauweschicht.nl/tinkering/qlkeys1.html
Maybe I will give it a try after I have finished this small project. But in your special case the Arduino may be omitted?
Stephan
Key Click
This can be toggled on/off by pressing CTRL ALT ESC 4. It can also be
turned off or on by "IPCEXT 6" and "IPCEXT 7" respectively.
Note that it doesn't know about auto-repeat, which is controlled by the
software in the 68008.
Reset/INT7
This can be invoked with CTRL ALT ESC 7.
CTRL ALT 7 used to "freeze" a QL. It resets the code in the 8049 and,
if there was no code added to the QL to handle the situation, or
indeed, sometimes even when such code was present, the effect was
disastrous: fairly similar to hitting the QL with a hammer...
repeatedly.
On HERMES, the ESC key must also be pressed, making everything a little
cleaner and safer. A few spurious characters will crop up, but at the
time of requesting a reset, this hardly matters.
Re: USB Keyboard IF
As your matrix switch is actually a 12x8 - that gives you 4 extra lines not in the 8x8 matrix - so you have some spare lines for those awkward control keys - as you can't put diodes inside the chip's matrix.
Re: USB Keyboard IF
I discussed the special keys of the QL keyboard with Stephan before he set out to build this. I came up with a solution that replicates the original, using three diodes. You can see them in the breadboard picture Stephan posted at the top of this thread. I'm sure he'll draw up a schematic once he's done
Re: USB Keyboard IF
Yes, I will do a proper drawing in the next days. In the meantime I consider to post your "working paper" do give more details. Do you mind if I share it with the community?
Stephan
Stephan
Re: USB Keyboard IF
Find attached schematics from Alex how to connect MT8812 with 3 additional diodes.
In addition A5 from Arduino must be connected to AX3 from MT8812. The rest of the setup as shown on the Github page from Alex.
In addition A5 from Arduino must be connected to AX3 from MT8812. The rest of the setup as shown on the Github page from Alex.