Emulate Mouse Driver voor OS/2 (ArcaOS, eComStation)

Dit produkt is gratis beschikbaar en mag op eigen risico gebruikt worden. Veel plezier. Klik hier voor de ISC licentie.

Beschrijving - Met deze driver kan je absolute mouse events het systeem in sturen. Het levert een application programming interface volgens de standaard DosRead en DosWrite functies en kan daardoor gemakkelijk gebruikt worden door rexx procedures met de charin and charout functies. Het is speciaal ontworpen om de ontwikkeling en integratie van touch screen oplossingen te vergemakkelijken.

Installatie - Plaats het XSMOUSE10.ZIP bestand in een directory naar keuze en pak het uit. Kopieer de XSMOUSE.SYS device driver naar jouw C:\OS2\BOOT directory. Inspecteer je CONFIG.SYS bestand om te zien welke muis device driver op jouw systeem geïnstalleerd is. Dat zal AMOUSE.SYS of MOUSE.SYS zijn en je dient de STYPE=XSMOUSE$ parameter aan deze device driver regel toe te voegen. Voeg ook de DEVICE=C:\OS2\BOOT\XSMOUSE.SYS device driver regel er vlak boven aan toe. Herstart je systeem. Daarna is XSMOUSE$ de te gebruiken device driver naam.

Haal dit produkt hier gratis op. Klik hier voor source/samples. Klik hier voor mijn thuispagina.

Event Buffer

Common Event Buffer
veldgroottebeschrijving
Eventwoordmouse event vlaggen
yPoswoordhuidige y position
xPoswoordhuidige x position
yMaxwoordmaximum y position
xMaxwoordmaximum x position

De common event buffer wordt gebruikt om absolute mouse events naar mouse.sys te sturen zoals dit gebeurt voor touch screens. Posities zijn in absolute coordinaten. De coordinaatpositie 0,0 vertegenwoordigt de schermhoek linksboven en de coordinaatpositie xMax,yMax vertegenwoordigt de schermhoek rechtsonder en deze worden door mouse.sys omgezet naar de huidige display mode.

Mouse Events

Oude Positie
knoppenstandvlag
alle knoppen los0000h
knop 1 ingedrukt0004h
knop 2 ingedrukt0010h
knop 3 ingedrukt0040h
Nieuwe Positie
knoppenstandvlag
alle knoppen los0001h
knop 1 ingedrukt0002h
knop 2 ingedrukt0008h
knop 3 ingedrukt0020h

Rapporteer knoppenstanden als de muis blijft op de oude coordinaatpositie via de mouse event vlaggen gelijst onder Oude Positie. Rapporteer knoppenstanden als de muis gaat naar de nieuwe coordinaatpositie via de mouse event vlaggen gelijst onder Nieuwe Positie.

Rexx Voorbeelden

getevent.cmd - Leest het laatste pointing device event uit de common event buffer. Toont dat event in hexadecimaal formaat.

putevent.cmd - Verplaatst de aanwijzer naar het midden van het scherm. Toont dat absolute pointing device event in hexadecimaal formaat.

Prototyping Interface

De prototyping interface gebruikt OS/2 Procedures language 2/REXX functies. Om de muis te emuleren worden de volgende functies beschreven:

Acquire Driver

rc=stream(sName,'command','open');

Opent de device driver voor lees/schrijf toegang met dit proces.

sName - Naam van de te openen device driver.

rc - Return Code. Zie de OS/2 Procedures Language 2/REXX Reference voor de standaard ontvangen strings.

Read Mouse Event

sBuffer=charin(sName,,10);

Leest het laatste pointing device event uit de common event buffer.

sName - Naam van de te gebruiken device driver.

sBuffer - Naam van de buffer die de inhoud van de common event buffer ontvangt.

Write Mouse Event

rc=charout(sName,sBuffer);

Schrijft het absolute pointing device event naar de common event buffer.

sName - Naam van de te gebruiken device driver.

sBuffer - Naam van de buffer die het absolute pointing device event bevat.

rc - Return Code. Zie de OS/2 Procedures Language 2/REXX Reference voor de standaard ontvangen strings.

Release Driver

rc=stream(sName,'command','close');

Sluit de device driver voor lees/schrijf toegang met dit proces.

sName - Naam van de te sluiten device driver.

rc - Return Code. Zie de OS/2 Procedures Language 2/REXX Reference voor de standaard ontvangen strings.

Application Program Interface

De application program interface gebruikt OS/2 Control Program functies. Om de muis te emuleren worden de volgende functies beschreven:

DosOpen

ulrc=DosOpen(pszName,phDevice,pulAction,0,0,1,18,0);

Opent de device driver voor lees/schrijf toegang met dit proces.

pszName - Adres van de asciiz naam van de te openen device driver.

phDevice - Adres van de variabele die de device handle ontvangt.

pulAction - Adres van de variabele die de action taken ontvangt.

ulrc - Return Code. Zie de Control Program Guide and Reference voor the standaard ontvangen waarden.

DosRead

ulrc=DosRead(hDevice,pBuffer,10,pcbDone);

Leest het laatste pointing device event uit de common event buffer.

hDevice - De device handle verkregen door een eerdere aanroep van DosOpen.

pBuffer - Adres van de buffer die de inhoud van de common event buffer ontvangt.

pcbDone - Adres van de variabele die het aantal bytes ontvangt (10).

ulrc - Return Code. Zie de Control Program Guide and Reference voor the standaard ontvangen waarden.

DosWrite

ulrc=DosWrite(hDevice,pBuffer,10,pcbDone);

Schrijft het absolute pointing device event naar de common event buffer.

hDevice - De device handle verkregen door een eerdere aanroep van DosOpen.

pBuffer - Adres van de buffer die het absolute pointing device event bevat.

pcbDone - Adres van de variabele die het aantal bytes ontvangt (10).

ulrc - Return Code. Zie de Control Program Guide and Reference voor the standaard ontvangen waarden.

DosClose

ulrc=DosClose(hDevice);

Sluit de device driver voor lees/schrijf toegang met dit proces.

hDevice - De device handle verkregen door een eerdere aanroep van DosOpen.

ulrc - Return Code. Zie de Control Program Guide and Reference voor the standaard ontvangen waarden.

Voldoet aan XHTML 1.0 Voldoet aan CSS 2.1 © W.M.Brul 2010-2016, alle rechten voorbehouden.