#89 More keyboard commands handled.

open
None
5
2012-09-07
2005-06-09
Keith
No

reset, read/write commands, self test. reset keyboard
and enable scanning correction(wasn't enabling).

interface test bug to do, but here's these in the meantime.

Discussion

  • Keith
    Keith
    2005-06-09

     
    Attachments
  • Peter Veenstra
    Peter Veenstra
    2005-06-09

    Logged In: YES
    user_id=535630

    do you know of any game that actually uses this stuff ?
    Btw the patch is a bit "dirty" as it has an active LOG_MSG
    in it.

     
  • Keith
    Keith
    2005-06-09

    Logged In: YES
    user_id=1008467

    None that I'm aware, though not that I tested. I've been
    running pctools si. I noticed echo is incorrect, should
    return ee. I can comment out the log then if you havn't
    already done so. More likely to affect some games, dosbox
    fails much of the tests for timer, dma & pic. I intend to
    poke around to see what's up. ps/2 docs give a clear rundown
    of what pause/break & prn screen/sysrq do, so I'll be
    looking at adding those as well.

     
  • Keith
    Keith
    2005-06-11

    Logged In: YES
    user_id=1008467

    The current work in progress; keyboardv2.diff. fixed echo,
    log commented out, added handling of non-typematic keys,
    psuedo code for pause and printscreen keys, fix tickhandler
    to not process everything all the time(old first check only
    prevented processing for just the first iteration of
    non-keypress), much shorter addkey from reordering key
    enumeration to scancode order.

     
  • Keith
    Keith
    2005-06-11

     
    Attachments
  • Keith
    Keith
    2005-06-22

     
    Attachments
  • Keith
    Keith
    2005-06-22

    Logged In: YES
    user_id=1008467

    I grafted qemu's keyboard handler onto dosbox to test since qemu doesn't have the input dropping issue that dosbox has. Bug is still there, but figure someone might be curious what that looks like so I've attached it. rename qemukeyboard.cpp to keyboard.cpp. I'm testing with amidiag now. Dosbox looses input from keyboard after the keyboard clock line test. Like pctools si, input is restored after exiting to the command line.

     
  • Peter Veenstra
    Peter Veenstra
    2005-07-30

    Logged In: YES
    user_id=535630

    v2 looks good.
    But personally I think the pause/break printscreen handling
    belongs in bios_keyboard instead of the hardware keyboard
    controller.

    about that losing keys: did you check that the mapper
    actually delivers the key ?

     
  • Keith
    Keith
    2005-07-31

    Logged In: YES
    user_id=1008467

    The interrupt functions were always intended to go in the
    int section. For the stuff outside of them.. maybe. How
    are they going to get checked? pause is currently handled
    through addhandler and screenshot checked with every render
    update. addhandlers for break and sysrq?

    My testing was compiling and running dosbox but no
    exhaustive check for every key. The enum was reordered to
    the order of the case statement from KEYBOARD_AddKey so the
    opportunity for error is me applying that index to the enum,
    and maybe the case ranges.

    One of the commands I added isn't handled correctly which I
    fixed long ago but havn't uploaded an update yet so I guess
    I'll prep that.

     
  • Keith
    Keith
    2005-07-31

    Logged In: YES
    user_id=1008467

    The command correction + some code simplifications.
    keyboardv3.diff

     
  • Keith
    Keith
    2005-07-31

     
    Attachments
  • TaeWoong Yoo
    TaeWoong Yoo
    2005-08-04

    Logged In: YES
    user_id=844698

    keyboardrv3.diff still has a bug 'keyboard locked' in Windows
    3.1x (normal & dynamic core).

     
  • Peter Veenstra
    Peter Veenstra
    2005-08-07

    Logged In: YES
    user_id=535630

    win3.11 bug confirmed.
    it's in the keyboard read control command (port 64 case
    0x20.) Commenting that one out makes it work

    (win3.11 disables keyboard before issuing that command)

    So win3.11 doesn't like the control word emulation.

    (the current handler ignores this command) and windows seems
    to timeout after a while.