mattgodbolt / jsbeeb

Javascript BBC micro emulator
GNU General Public License v3.0
351 stars 68 forks source link

Mouse support #127

Open mattgodbolt opened 8 years ago

richard-broadhurst commented 8 years ago

The idea is to have the mouse position in the window / "screen" scaled 0..&FFFF be the values returned by the first two A2D channels with the two mouse buttons being the two fire buttons. This would allow the mouse to be used as a paddle for some games and an analogue joystick for things like basic drawing packages which worked with the analogue joystick.

richard-broadhurst commented 8 years ago

A further option may be to support AMX style mice, but this is tricky, as the input is basically X+=1, X-=1, Y+=1 or Y-=1 which is OK if the mouse is hidden and locked to the emulator window as it can be re-positioned to the middle after each movement is captured, but not great for WIMP environment where you can't then use the mouse. This feature maybe better reserved for a stand-a-lone emulator with full screen emulation.

oneswitch commented 6 years ago

You have this working already for touch-screen emulation. E.g. for https://bbc.godbolt.org/?autoboot&disc=https://dl.dropboxusercontent.com/s/39mclkwmu1j4gj1/Microvitec-Touchtec-501.ssd?dl=0 - Just a quick line to say, please don't drop this brilliant functionality. :)

Spongman commented 3 years ago

maybe helpful: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API allows you to turn off the host cursor, and yields relative mouse movement.

oneswitch commented 3 years ago

Thanks, Matt. I'll take a look into this. Hoping to get buried into the BBC Micro educational bit early next year. Did a bit on MAVIS this year which just slightly predates the BBC Micro: https://www.oneswitch.org.uk/art.php?id=318

Best wishes,

Barrie

On Fri, 21 May 2021 at 19:51, Spongman @.***> wrote:

maybe helpful: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API allows you to turn off the host cursor, and yields relative mouse movement.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mattgodbolt/jsbeeb/issues/127#issuecomment-846170361, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACMBL4M3UKL4PZF5WPWVOG3TO2TT7ANCNFSM4CQXR35Q .