Menu

#410 Caps Lock isn't working on Mac OS X

Next_release
open
5
2013-05-12
2011-05-14
SD Snatcher
No

Caps Lock isn't working at all.

Tried on Toshiba HX-10, Panasonic FS-A1GT, Sanyo PHC-70FD

openMSX-0.8.1 + NekoLauncher-1.2

Operating System: iMac C2D 2.66GHz, Mac OS-X 10.6.7, with Apple compact keyboard

Tried with a "crystal" Mac keyboard and it didn't work also.

Discussion

  • Maarten ter Huurne

    The problem is that the Quartz input driver sends a key release for Caps Lock immediately after the key press. Because of this, the MSX CAPS key is pressed for 0 Z80 ticks, so the MSX BIOS never sees it in the pressed state.

    We could work around this in openMSX by going back to the old (prior to SDL 1.2.14) model for Caps Lock when running under OS X.

    The ideal solution would be to fix SDL so it sends the Caps Lock release event when the key is actually released. However, I don't know how difficult this would be to implement or whether Quartz supports this at all.

     
  • Maarten ter Huurne

    • labels: --> General/misc
    • milestone: --> Next_release
    • assigned_to: nobody --> mthuurne
    • summary: Caps Lock isn't working --> Caps Lock isn't working on Mac OS X
     
  • Maarten ter Huurne

    It does not seem to be possible to get a Caps Lock release event from Cocoa. So we should work around that in openMSX because the workaround in SDL is not compatible with key matrix polling.

     
  • Maarten ter Huurne

    I worked around the problem by letting openMSX use the old SDL model of CAPS: "press" for CAPS on and "release" for CAPS off (SVN r12162).

    There is still a problem though with re-syncing the tab status when openMSX regains focus.

     
  • SD Snatcher

    SD Snatcher - 2013-05-12

    I tested it and the fix is working fine on 0.9.1-dev12913.