English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.WinUAE (https://eab.abime.net/forumdisplay.php?f=5)
-   -   Possibility to "unplug" the keyboard? (https://eab.abime.net/showthread.php?t=84678)

Dr.Venom 04 November 2016 16:06

Possibility to "unplug" the keyboard?
 
Is there a possibility to "unplug" the keyboard in WinUAE? Like we can disable / detach a floppy drive in the floppy panel?

I'm wondering whether the possible speedup from not emulating the keyboard could be useful in certain cases (like many games/demos don't need the keyboard). Or would the speedup be negligible?

Toni Wilen 04 November 2016 16:15

It would make no difference. Keyboard sends key codes to Amiga, Amiga can't talk to the keyboard (like PC keyboards can do).

But "Disconnected keyboard" is technically missing emulation feature. A1000 keyboard has normal RJ11 connector.

EDIT: Software can detect if keyboard is connected because keyboard sends special keycode(s) at reset.

Toni Wilen 04 November 2016 16:48

Now implemented :)

sigma63 04 November 2016 17:00

IIRC there was a slight difference between the A1000-Keyboard and the others. I think there was a) a difference in the Response-Codes to Reset and b) the handling of the "Rest-Warning-Handler" (Don't remember the correct name).
Can anybody confirm this?

Toni Wilen 04 November 2016 17:05

AFAIK it works as documented but reset warning was not for some unknown (and probably very stupid) reason was not supported in all later models (for example A500).

Dr.Venom 28 November 2016 09:45

Quote:

Originally Posted by Toni Wilen (Post 1120610)
Now implemented :)

Nice :)

I'm not really sure, but there may be a tiny issue.

I have an IPAC 2 (keyboard encoder) connected, with joystick buttons mapped via the IPAC (they go to key "space", "CTRL", etc..)

When I disconnect the emulated keyboard, the keyboard still works for these remapped button keys. So e.g. "space" remains working, not only through the joystick button presses, but also via my attached keyboard (pressing the physical spacebar).

The quick conclusion would be that the keyboard doesn't seem fully disconnected? But I'm not sure how to judge it, since this button remapping isn't really a situation which you would encounter with real hardware..

Log with the remapped keys attached.

Toni Wilen 30 November 2016 19:30

Fixed. Disconnect did nothing.

Dr.Venom 02 December 2016 16:05

Quote:

Originally Posted by Toni Wilen (Post 1125582)
Fixed. Disconnect did nothing.

Great, works as expected now.

I noticed one other thing. All keys that are pressed while the keyboard is -not- connected are remembered and fed to the emulated Amiga as soon as the keyboard is re-connected again during the same session.

Toni Wilen 02 December 2016 17:31

That is exactly how real Amiga keyboard works. First comes special key code that tells following key(s) are pressed at powerup, then comes key codes (or none), then comes another special code that signals end of power up pressed keys.

Dr.Venom 03 December 2016 16:04

Quote:

Originally Posted by Toni Wilen (Post 1125893)
That is exactly how real Amiga keyboard works. First comes special key code that tells following key(s) are pressed at powerup, then comes key codes (or none), then comes another special code that signals end of power up pressed keys.

Ah cool, I didn't know that.

But shouldn't it then -only- apply to keys that are held down at the time the keyboard is connected (i.e. the emulated Amiga recognizes the keys that are pressed down when keyboard gets connected / powered up)?

Because currently in WinUAE (e.g. when in Amiga shell) I can "disconnect" keyboard, type "Amiga rulez", walk away to get a coffee, come back 5 minutes later, then "connect" keyboard and see magically typed into the screen "Amiga rulez". I guess that shouldn't really be possible, or maybe I'm misunderstanding something?

Toni Wilen 03 December 2016 19:15

One more fix.. Buffer was never read when disconnected (It was supposed to but it was inside wrong "if")

Only currently pressed keys should be returned.


All times are GMT +2. The time now is 11:01.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.16267 seconds with 11 queries