Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 03:39 27 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : CMM2 Keyboard woes

     Page 1 of 2    
Author Message
clarkema
Newbie

Joined: 12/09/2020
Location: United Kingdom
Posts: 3
Posted: 04:11pm 19 Sep 2020
Copy link to clipboard 
Print this post

I recently received my long-awaited and highly-anticipated CMM2 and have been enjoying playing around and exploring what it can do.

One issue that struck me as soon as I turned it on was how slowly I had to type.  If I just plug a keyboard in and type at a normal speed, half the characters are dropped.  In order to enter text at the shell or in the editor I have to hunt and peck very slowly and deliberately, entering each character carefully one at a time.

Some further experimentation suggests this is due to lack of key rollover; if you hold (for example) 'k' and then hit 'j' the 'j is not recognised because the 'k' has not yet been released and is still repeating.  Compare this to what happens on Linux or MacOS (I assume Windows as well, but don't have an installation handy to test right now) if you hold 'k' and then hit 'j' the second key interrupts the repeating first and is recognised.  This behaviour is not particularly about repeating; it allows faster and more fluid typing by not requiring that the first keypress is completed before the second can be recognised.

This does not appear to be a hardware limitation, since multiple keys are recognised simultaneously in the Wolfenstein port; I can spin backwards and left and still fire while spinning.

Has anyone else encountered this?  If so I'd be grateful for any tips that might help; swapping in a keyboard with Cherry MX blue switches has helped by encouraging more deliberate typing, but it's still easy for me to out-type the interface and have to go back and edit, which becomes really annoying.
 
JoOngle
Regular Member

Joined: 25/07/2020
Location: Sweden
Posts: 82
Posted: 05:59pm 19 Sep 2020
Copy link to clipboard 
Print this post

Mine works fast enough, but it keeps missing a "beat", which means that often it will "skip" a keypress. I guess it's only compatible with a certain breed of keyboards.

Which makes me think...

...We should make a keyboard list over known good and compatible keyboards.
Maybe with a "star rating" on it to rate how efficient the keyboard is with CMM2.
 
RetroJoe

Senior Member

Joined: 06/08/2020
Location: Canada
Posts: 290
Posted: 06:54pm 19 Sep 2020
Copy link to clipboard 
Print this post

FWIW, I’m using a circa 1990s IBM keyboard with a PS/2 -> USB adapter, and it works flawlessly, even after upping my key repeat rate. It’s the only one I’ve tried, so sorry I can’t be more specific than the caveat “your mileage may vary”, and that the CMM2’s USB interface seems to be a bit picky about a keyboard’s USB implementation.

I don’t know if there is a way to figure that out in advance, as I imagine there are dozens or even hundreds of proprietary matrix scanner / keyboard encoders out there (e.g. I have no idea what’s inside my PS/2 USB adapter) and many encoders I’ve seen are “potted” I.e. they have a blob of black goo on them to prevent reverse-engineering.

Simplest suggestion is try a few different keyboards - you are sure to find one that works well unless there is a defect on your CMM2.
Edited 2020-09-20 04:59 by RetroJoe
Enjoy Every Sandwich / Joe P.
 
Sasquatch

Senior Member

Joined: 08/05/2020
Location: United States
Posts: 296
Posted: 07:45pm 19 Sep 2020
Copy link to clipboard 
Print this post

I have a few keyboards that work flawlessly and a couple that work ok.  One cheap keyboard I have is pure crap on the CMM2 but seems to work ok with windows and Mac OS.  

I'm not sure what the difference is?  It may be USB timing, I suspect that the cheap ones probably don't have a crystal clock for the encoder chip and rely on a R-C oscillator but I haven't dissected any to check.  I was tempted to toss the "bad" keyboard in the trash but now it's useful for testing other problems.
-Carl
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 08:13pm 19 Sep 2020
Copy link to clipboard 
Print this post

The ones I have tried so far ...

Logitech K120 (UK p/n:820-003131) works flawlessley, and these are cheap  

Cherry G84-4100 (UK) works but see my gotcha post here.
The CapsLock, NumLock and ScrollLock cause it to stop sending keypresses until you disconnect and reconnect the usb-A plug from the CMM2, the indicator LEDs do not work.  Took me a while to find this out as I always have NumLock turned off and never use the CapsLock key.  
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1421
Posted: 10:05pm 19 Sep 2020
Copy link to clipboard 
Print this post

  JoOngle said  
...We should make a keyboard list over known good and compatible keyboards.
Maybe with a "star rating" on it to rate how efficient the keyboard is with CMM2.


Already in a different thread.
Micromites and Maximites! - Beginning Maximite
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3840
Posted: 10:00am 20 Sep 2020
Copy link to clipboard 
Print this post

My cheap, cheerful and most importantly small Periboard-426 (UK) shows the same behaviour with regards CapsLock, NumLock, ScrollLock and non-working indicator LEDs.

It hadn't occurred to me that removing and reinserting the USB would recover from the hang (now tested it does.)

In case Peter does investigate, and I know he has said he won't, and I accept that, but for the record running 5.05.06b7:

1. Press [CapsLock] on USB keyboard
2. Keyboard becomes non-functional
3. Remove USB
4. Reinsert USB
5. CMM2 reports "Error: System fault - check code"
6. Keyboard is functional again

Regards,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
clarkema
Newbie

Joined: 12/09/2020
Location: United Kingdom
Posts: 3
Posted: 01:40pm 20 Sep 2020
Copy link to clipboard 
Print this post

  thwill said  My cheap, cheerful and most importantly small Periboard-426 (UK) shows the same behaviour with regards CapsLock, NumLock, ScrollLock and non-working indicator LEDs.


The CMM2 exhibits the same behaviour with my decidedly non-cheap Filco keyboards.  I had also not tried removing and replugging the keyboard and have been resetting the CMM2 if I happened to accidentally tap caps lock.  Following your post I tried a few more tests (all with 5.05.05)

1. Cold start the CMM2
2. Type away happily (albeit slowly)
3. [CapsLock]
4. No further input is accepted
5. Unplug / replug keyboard
6. Can now type again, but caps lock is on; all input is uppercase
7. [CapsLock]
8. No further input is accepted
9. Unplug / replug keyboard
10. Can now type again, caps lock off; all input is lowercase

I also have a Coolermaster Masterkeys Pro S, which does not trigger this behaviour; caps lock works just fine.

Odd it is may seem, I suspect this is actually the same issue as the lack of rollover that caused me to start this thread in the first place; key presses are not accepted until the previous keypress has been fulled 'completed'.

Co-incidentally Adrian's Digital Basement on YouTube put out a video yesterday that touches on some details of the PS2 keyboard protocol that might shed some light on this:
https://youtu.be/djhhRbN0l7k

This is a guess informed by his video, but perhaps some USB keyboards do the equivalent of just sending key down when caps lock is engaged, then down-up when it is disengaged.  This would produce the observed behaviour if the CMM2 handler was waiting for a key release event before considering any input (which it appears to do -- hence dropped keypresses if the user is typing quickly)

It's unlikely to be that straightforward because USB HID != PS2, and I haven't seen any difference in events reported by both keyboards using `evtest` on Linux -- the Filco _does_ seem to send a key-up event -- but I don't know enough about the details of the USB HID spec and things like the 'boot keyboard profile' to say for sure.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8579
Posted: 02:05pm 20 Sep 2020
Copy link to clipboard 
Print this post

  Quote  In case Peter does investigate,

If anyone UK based wants to send me a keyboard with caps lock issue I can investigate but without one it is impossible as none of mine display the issue
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3840
Posted: 02:53pm 20 Sep 2020
Copy link to clipboard 
Print this post

  matherp said  
  Quote  In case Peter does investigate,

If anyone UK based wants to send me a keyboard with caps lock issue I can investigate but without one it is impossible as none of mine display the issue


If you are serious and think that there is a reasonable chance of resolving it then message me your address and I will get Amazon to send you one directly.

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 03:05pm 20 Sep 2020
Copy link to clipboard 
Print this post

  thwill said  My cheap, cheerful and most importantly small Periboard-426 (UK) shows the same behaviour with regards CapsLock, NumLock, ScrollLock and non-working indicator LEDs.

It hadn't occurred to me that removing and reinserting the USB would recover from the hang (now tested it does.)

In case Peter does investigate, and I know he has said he won't, and I accept that, but for the record running 5.05.06b7:

1. Press [CapsLock] on USB keyboard
2. Keyboard becomes non-functional
3. Remove USB
4. Reinsert USB
5. CMM2 reports "Error: System fault - check code"
6. Keyboard is functional again

Tom ...
Yes, thats exactly the problem with the Cherry G84-4100 too  

Does your Periboard-426 also support connection to PS2 with an adapter.  That might be why this happens, some incompatibility between PS2/USB support and the H7 usb support.

Unplug/Replug of the USB Keyboard might have some unwanted side effects, apart from the obvious wear on the pcb socket.  I seem to remember reading a post from Peter last night that the usb support has to restart on the CPU causig lag or timeout in some of the sytem variable ... something like that anyway.  The fix works, but is far from ideal.

I will see if I can find a spare keyboard with this problem to send to Peter.

Regards

Womble
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8579
Posted: 06:30pm 20 Sep 2020
Copy link to clipboard 
Print this post

Just out of interest please could you try the attached with the CAPS lock issue


CMM2V1.5.zip
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 10:10pm 20 Sep 2020
Copy link to clipboard 
Print this post

  matherp said  Just out of interest please could you try the attached with the CAPS lock issue
CMM2V1.5.zip

Peter ...

Thank You for your rapid response on this.  I have carried out some tests, with both good and bad results, using the supplied firmware.

The Good  
The Ghost is back ... YaY

The program performs eaxactly as expected.  Good audio, no screen tearing, random transparent Ghost.  Perfect.

Also Good
We have a CapsLock LED.  None of the LED's lit up before.

The Not So Good  
You get two presses of the CapsLock key on the Cherry G84-4100.  Then it crashes like before.  The LED lights on and off when you press the key as expected.  But once it has crashed it stays lit, at least until you hotplug. See below:


The NumLock and Scroll Lock keys crash the keyboard instantly.  The LED's never light up.  Hotplugging renables the keyboard:


BUT ...
When you Hotplug, for any of the keys (CapsLock, NumLock, Scroll Lock) the system resets and then you get the
"Error: System fault - check code" message.

You are obviously are on the right track with this, but not there yet, at least so far as this keyboard issue is concerned.
It will be interesting to find out how Tom gets on with the test firmware and his Periboard-426 keyboard.
It also looks like ClarkEma is also experiencing this with Filco keyboards (his symptoms look exactly like my experiences).

Whilst I was testing I also found this, Testing with TassyJim's NewColourBars.BAS:
Iiyama ... MODE 12.8 and Mode 12.16 (960 x 540 @ 60 Hz) is "Out of Range" on V5.05.06b9 or the test firmware you provided.
Despite being within spec according to the speciications from Iiyama.

This is what I get:


Every other Mode tests out perfectly.
Aspect ratios are off on this 4:3 monitor, but then I expected that.

Your efforts are very much appreciated.  

I am attempting to source another Cherry G84-4100 in case I need to submit one for testing.

Regards

Womble
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 10:53pm 20 Sep 2020
Copy link to clipboard 
Print this post

  Womble said  BUT ...
When you Hotplug, for any of the keys (CapsLock, NumLock, Scroll Lock) the system resets and then you get the
"Error: System fault - check code" message.

I assume that the "watchdog timer error message". I believe Peter mentioned that the watchdog routine can be triggered when plugging in a USB keyboard.

Note that for every keyboard hotplug, you get TWO presses of the CapLock key before it locks up again.  This seems to be consistent behaviour.  Two presses, thats your lot.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8579
Posted: 06:55am 21 Sep 2020
Copy link to clipboard 
Print this post

Another try for the keyboard


CMM2V1.5.zip

Your monitor is simply incapable of displaying 1920x1080 which is what it needs to do to use the 960x540 mode. This mode will only work on true 1080p monitors. Bit rate seen by the monitor is 148.5MHz
Edited 2020-09-21 17:33 by matherp
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3840
Posted: 08:49am 21 Sep 2020
Copy link to clipboard 
Print this post

Results of tests with Periboard-426 and CMM2V1.5.zip:

1. Switch on CMM2
2. USB keyboard shows no LEDs (don't think it is supposed to)
3. Keyboard functional (lower-case)
4. Press [CapsLock]
5. CapsLock LED illuminates
6. Keyboard produces upper-case characters
7. Press [CapsLock]
8. CapsLock LED goes off
9. Keyboard is non-functional
10. Remove USB keyboard
11. Reinsert USB keyboard
12. (No watchdog message)
13. Keyboard functional (lower-case)
14. GOTO 4

[ScrollLock] has the same behaviour, obviously without generating upper-case.

This keyboard has no [NumLock]

[CapsLock] followed by [NumLock] illuminates both LEDs, but makes the keyboard non-functional.

I am reasonably certain this is not a power problem, I have the same issues with the CMM2 connected to a high quality powerbrick by multiple different (ostensibly ) good quality cables.

The offer to Amazon you a keyboard still stands.

Thanks for looking into this,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8579
Posted: 09:32am 21 Sep 2020
Copy link to clipboard 
Print this post

Try this - LEDs won't work but keys should function. Could make this an optional "feature"


CMM2V1.5.zip
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3840
Posted: 09:43am 21 Sep 2020
Copy link to clipboard 
Print this post

  matherp said  Try this - LEDs won't work but keys should function. Could make this an optional "feature"

CMM2V1.5.zip


Excellent, the keys now work, couldn't care less about the LEDs

How do you mean an "optional feature" ?

Assuming it "makes any sense" could you provide a brief explanation of the problem and solution?

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 10:42am 21 Sep 2020
Copy link to clipboard 
Print this post

  matherp said  Another try for the keyboard


CMM2V1.5.zip

Your monitor is simply incapable of displaying 1920x1080 which is what it needs to do to use the 960x540 mode. This mode will only work on true 1080p monitors. Bit rate seen by the monitor is 148.5MHz

Thanks Peter ...

I wondered if that might be the issue with mode 12.  I misunderstood what 960x540 really meant.

I will test the new firmware shortly and report back on the keyboard.

Many Thanks for your excellet work.

Womble
 
Womble

Senior Member

Joined: 09/07/2020
Location: United Kingdom
Posts: 267
Posted: 01:15pm 21 Sep 2020
Copy link to clipboard 
Print this post

  matherp said  Try this - LEDs won't work but keys should function. Could make this an optional "feature"
CMM2V1.5.zip

Peter ...

Just finished testing this latest "No LED version"

Results, thwill style:

1. Switch on CMM2
2. USB keyboard shows no LEDs (as expected)
3. Keyboard functional (lower-case)
4. Press [CapsLock]
5. USB keyboard shows no LEDs (as expected)
6. Keyboard produces upper-case characters
7. Press [CapsLock]
8. USB keyboard shows no LEDs (as expected)
9. Keyboard produces lower-case characters
10. Press [Scroll-Lock]
11. No change to LEDs, keyboard still functional (as expected)
12. Press [Num-Lock]
13. No change to LEDs, keyboard still functional (as expected)
14. Embedded number pad (accesed using [Fn] key) works correctly
15. Press [CapsLock] [Fn] key and embedded numberpad produce arrow keys (although not marked)
16. Randomly mash [CapsLock] {Num-Lock] and [Scroll-Lock] keys
17. No idicator LED's ever light up, not even a flash when CMM2 is switched on
18. GOTO 4, and repeat a number of times
19. Run Ghost_Demo.BAS which works perfectly (as expected), ESC back to prompt
19. Do something stupid ... Remove USB Keyboard
20. Reinsert USB keyboard
21. CMM2 resets and displays (watchdog message) "Error: System fault - check code"
22. Make note to self that Hotplugging from a running CMM2 is a very bad idea !!!


Many Thanks Peter, this one works fine
You have fixed it

  thwill said  Excellent, the keys now work, couldn't care less about the LEDs

I agree

A Very Happy Womble
 
     Page 1 of 2    
Print this page
© JAQ Software 2024