Results 1 to 10 of 10

Thread: twee muizen, twee cursors

  1. #1
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    426

    twee muizen, twee cursors

    hoi,

    Als je twee muizen aansluit op een pc werken ze allebei maar wel op dezelfde muiscursor. Ik zou eigenlijk een tweede muis willen gebruiken onafhankelijk van de eerste (bv met een tweede cursor) of om te gebruiken als meetinstrument.
    Is zoiets eenvoudig realiseerbaar?

  2. #2
    Een soortgelijke vraag was al eens gesteld. Niet echt met een eenduidig antwoord, maar misschien kun je er vast wat inspiratie uit halen.

    Twee muizen,
    Tweede muis als meetinstrument.
    1+1=b

  3. #3
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    426
    ...het simuleren van een muiscursor zal niet echt moeilijk zijn .. de vraag komt eigenlijk neer op : hoe onderscheid ik de de signalen van de aangesloten muizen (en hoe vermijd ik dat het signaal van de tweede muis interfereert met dat van de "echte" muis)...

  4. #4
    Dat laatste is het lastigste, denk ik. Het moet mogelijk zijn om met de WM_INPUT message het signaal van beide muizen te onderscheiden, maar dan is het nog wel de vraag of je het bericht vervolgens kunt onderdrukken als het bij je 'meetmuis' vandaan komt.
    Ik weet het niet uit m'n hoofd.
    1+1=b

  5. #5
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Gaat het over een USB muis? Ik heb (onder meer op het werk) al het een en ander gedaan met USB toestellen waarvan je de driver uitschakelt. Met QueryDosDevice en CreateFile kan je er 'los' naar lezen en schrijven, zonder dat je echt zo ver moet gaan als een echte Windows driver schrijven (da's een ander pak koekjes). Hiermee zou je al kunnen 'luisteren' wat er van de muis komt. (Als ik het me goed herinner uit mijn DOS-dagen is het protocol dat een 'muis' spreekt niet zo moeilijk, tenzij dit met USB is veranderd.) En dan met 'gewone' Delphi dingen kan je wel een tweede muis nabootsen en met SendInput de kliks in het rond sturen.

  6. #6
    Hierbij een 'klein' voorbeeldje dat gebruikmaakt van WM_INPUT.
    Helaas blijken de benodigde constanten, records en imports niet in de Windows unit aanwezig te zijn.
    Daarom heb ik een kleine unit toegevoegd met het hoognodige voor dit voorbeeld. De code daarvoor heb ik trouwens uit een thread op DelphiPages.com. Daarin staat een uitgebreidere unit, maar de uitlijning daarvan is een vodje. Daarom dus een compactere variant, zodat je misschien ook beter kunt zien wat je wel en niet nodig hebt.

    Mijn 'eigen' unit bevat een class die een wrapper vormt rond de api en de message. De class genereert uiteindelijk een event dat lijkt op een normaal mouse event, maar dan met een extra parameter.

    Het is geen volledig uitgewerkt project, maar het laat in ieder geval zien hoe je een lijst met reregistreerde muizen ophaalt, en selectief de input van één daarvan verwerkt.

    Helaas heb ik het nog niet voor elkaar (en ik weet ook niet of het überhaupt mogelijk is) om de input daadwerkelijk af te vangen, zodat de gekozen muis zich niet meer als gewone muis gedraagt.
    Attached Files Attached Files
    1+1=b

  7. #7
    Hierbij een min of meer gefatsoeneerde versie van bovengenoemde header file van Delphi Pages. Kan gebruikt worden i.p.v. RawInputH.pas in bovengenoemde demo. Zo heb je wat meer functies, types en constanten om ook de andere mogelijkheden van Raw Input te benutten.
    Attached Files Attached Files
    1+1=b

  8. #8

  9. #9
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    426
    @golez: dit is inderdaad wat ik zoek.. de signalen van de vier aangesloten muizen - meer had ik even niet in de buurt - zijn afzonderlijke af te vangen. Enige directe punt is inderdaad dat de cursor reageert op alle muizen.
    Aan de andere kant: als het mogelijk is een tweede cursor te simuleren dan moet dat dus ook kunnen voor de eerste...maw. als je de doorgifte "der Totalmaus" naar de cursor kan afvangen en vervolgens een of meerdere muiscursors simuleert ( of één cursor simuleert en de andere muissignalen gebruikt als meetprobe output) dan moet je een heel eind kunnen komen..
    ... ga ik eens even in duiken!

  10. #10
    function Bedtijd:Boolean; william22's Avatar
    Join Date
    Mar 2003
    Posts
    168
    Jammer dat ik hier niets meer van hoor.
    Is het gelukt?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •