Sie sind nicht angemeldet.

1

Sonntag, 12. September 2021, 21:58

DOSBox - PC/GEOS Edition mit Mausradunterstützung

Hallo,

da das Thema Mausradunterstützung immer noch viele interessiert und immer wieder die Frage aufkommt, wie man das implementieren könnte, hier eine kurze Antwort. Bei auf SDL 1.2 basieren Versionen werden Bewegungen des Mausrades als SDL_MouseButtonEvents behandelt und als SDL_BUTTON_WHEELUP bzw. SDL_BUTTON_WHEELDOWN an die Anwendung durchgereicht. Im einfachsten Fall kann man diese innerhalb von DOSBox auf Keyboardtasten mappen wie z.B. PgUp/PgDown.

Wer es mal ausprobieren will findet hier DOSBox - PC/GEOS Edition mit der Ensemble Demo Bei Problemen läßt sich das in der Section [SDL] mit mousewheel=false auch wieder daktivieren.

Gruß Thomas

2

Montag, 13. September 2021, 08:41

Sehr schön, Thomas! Auf diese Art wird aber das Rad nicht an DOS / GEOS weitergereicht, richtig? Man kann nur Tastendrücke simulieren....?
Bye,
MeyerK

3

Montag, 13. September 2021, 21:53

Hallo,

genau die Tastendrücke (PgUp/PgDown) werden schon in DOSBox als Reaktion auf die Wheel-Klicks generiert. Und selbst wenn man eine Interaktion dem GEOS-Maustreiber realisieren wollte, würde ich nicht das PS/2 Protokoll implementieren. Viel einfacher wäre es (vermutlich), in DOSBox eine 5-Tastenmaus bereitzustellen + einen passenden GEOS-Treiber. Dieser müßte die Klicks auf Buton 4/5 entsprechend als WHELL_UP/WHELL_DOWN interpretieren.

Gruß Thomas

4

Dienstag, 14. September 2021, 09:27

Hallo,
wenn ich das richtig verstanden habe, ist es ja mit dem Maustreiber nicht getan. Das GEOS-System kennt ja keine WHEEL_ Messages, die müsste man zunächst auf ganz unterster System-Ebene (MSG_META_xxx) nachrüsten. Und zwar abwärtskompatibel! Und dann müsste jedes Objekt, dass darauf reagieren soll (Rollbalken, View, GenText ...) noch implementiert bekommen, was es mit den Messages zu tun hat.

Ich finde, die Tastendrücke sind ein guter Kompromiss, für den Anfang.
Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

Zur Zeit ist neben Ihnen 1 Benutzer in diesem Thema unterwegs:

1 Besucher

Thema bewerten