BE1025593B1 - METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT - Google Patents

METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT Download PDF

Info

Publication number
BE1025593B1
BE1025593B1 BE2017/5896A BE201705896A BE1025593B1 BE 1025593 B1 BE1025593 B1 BE 1025593B1 BE 2017/5896 A BE2017/5896 A BE 2017/5896A BE 201705896 A BE201705896 A BE 201705896A BE 1025593 B1 BE1025593 B1 BE 1025593B1
Authority
BE
Belgium
Prior art keywords
pointing device
message
button
pointing
computer
Prior art date
Application number
BE2017/5896A
Other languages
Dutch (nl)
Other versions
BE1025593A1 (en
Inventor
Lambert Jacobs
Original Assignee
Inventrans Bvba
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventrans Bvba filed Critical Inventrans Bvba
Priority to US16/650,085 priority Critical patent/US20200233504A1/en
Priority to PCT/EP2018/075838 priority patent/WO2019063496A1/en
Priority to NL2021696A priority patent/NL2021696B1/en
Publication of BE1025593A1 publication Critical patent/BE1025593A1/en
Application granted granted Critical
Publication of BE1025593B1 publication Critical patent/BE1025593B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows

Abstract

Een aanwijsinrichting voor gebruik in een computersysteem dat dubbele muisondersteuning verschaft. De aanwijsinrichting (M2*) omvattende: een bewegingsdetectiemechanisme; en een besturingseenheid verbonden met het bewegingsdetectiemechanisme, en aangepast voor het zenden van een bewegingsbericht (mov2) met inbegrip van verplaatsingsparameters (dx, dy) wanneer een beweging wordt gedetecteerd; tenminste één knop (M2b1) en een knopdetectiemechanisme om te detecteren of de tenminste één knop (M2b1) wordt ingedrukt of losgelaten; en optioneel een scrollwiel en een scrollwielmechanisme om te detecteren of het scrollwiel wordt gedraaid; waarbij de besturingseenheid verbonden is met het knopdetectiemechanisme, en indien aanwezig ook met het scrollwielmechanisme, en aangepast is om eerst een dummy-bewegingsbericht (dmov) te zenden alvorens het zenden van een knop-ingedrukt-bericht (press2) of een scrollwiel-rotatie-bericht. De dummy-verplaatsingswaardes dx, dy zijn bij voorkeur zeer klein. De aanwijsinrichting kan een bedrade USB-muis of een draadloze muis zijn.A pointing device for use in a computer system that provides dual mouse support. The pointing device (M2 *) comprising: a motion detection mechanism; and a control unit connected to the motion detection mechanism, and adapted to send a motion message (mov2) including displacement parameters (dx, dy) when a motion is detected; at least one button (M2b1) and a button detection mechanism to detect whether the at least one button (M2b1) is pressed or released; and optionally a scroll wheel and a scroll wheel mechanism to detect whether the scroll wheel is being rotated; wherein the control unit is connected to the button detection mechanism, and if present also to the scroll wheel mechanism, and is adapted to first send a dummy movement message (dmov) before sending a button-pressed message (press2) or a scroll wheel rotation- message. The dummy displacement values dx, dy are preferably very small. The pointing device can be a wired USB mouse or a wireless mouse.

Description

WERKWIJZE EN INRICHTING EN SYSTEEM VOOR HET VERSCHAFFEN VAN DUBBELE MUIS ONDERSTEUNINGMETHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT

Domein van de uitvindingDomain of the invention

De onderhavige uitvinding heeft in het algemeen betrekking op het domein van computers met een grafische gebruikersinterface en meerdere aanwijsinrichtingen. Meerbepaald, heeft de onderhavige uitvinding betrekking op een computersysteem, een computerinrichting, een computergeïmplementeerde werkwijze, en een computerprogrammaproduct voor het verschaffen van dubbele muis ondersteuning, en op een muisinrichting, en een adapter of hub of dongel, en op een weergaveinrichting, en op een video-interface-inrichting, en op een set van onderdelen.The present invention relates generally to the domain of computers with a graphical user interface and multiple pointing devices. Specifically, the present invention relates to a computer system, a computer device, a computer-implemented method, and a computer program product for providing dual mouse support, and to a mouse device, and an adapter or hub or dongle, and to a display device, and to a display device, and video interface device, and on a set of parts.

Achtergrond van de uitvindingBACKGROUND OF THE INVENTION

FIG. 1 toont een schematisch blokdiagram van een klassiek computersysteem 100 omvattende een computerinrichting 101 (bijv, een desktopcomputer) met een toetsenbordingang verbonden met een toetsenbordinrichting 102, en met een muisingang verbonden met een muisinrichting 103, en met een video-uitgang verbonden met een weergavescherm of monitor of scherm 104. De computerinrichting 101 van FIG. 1 omvat één of meerdere centrale verwerkingseenheden (CPU) die een besturingssysteem O/S met een grafische gebruikersinterface GUI uitvoeren, zoals bijvoorbeeld Windows 7 of Windows 10 van Microsoft Corporation, of mac OS 10.12 Sierra of mac OS 10.13 High Sierra van Apple Inc. In het voorbeeld van FIG. 1, voert de computer 101 ook twee applicaties uit: een PDF-documentviewer 107a (bijv. Acrobat Reader) getoond aan de linkerzijde van het scherm 104, en een teksteditor 107b (bijv. Microsoft Word) getoond aan de rechterzijde van het scherm 104.FIG. 1 shows a schematic block diagram of a classical computer system 100 comprising a computer device 101 (e.g., a desktop computer) with a keyboard input connected to a keyboard device 102, and with a mouse input connected to a mouse device 103, and with a video output connected to a display screen or monitor or screen 104. The computer device 101 of FIG. 1 comprises one or more central processing units (CPU) which execute an operating system O / S with a graphical user interface GUI, such as for example Windows 7 or Windows 10 from Microsoft Corporation, or mac OS 10.12 Sierra or mac OS 10.13 High Sierra from Apple Inc. In the example of FIG. 1, the computer 101 also executes two applications: a PDF document viewer 107a (e.g., Acrobat Reader) displayed on the left-hand side of the screen 104, and a text editor 107b (e.g., Microsoft Word) shown on the right-hand side of the screen 104.

Een dergelijk systeem 100 kan bijvoorbeeld gebruikt worden door een vertaler of een proeflezer voor het simultaan bekijken van een brondocument, bijvoorbeeld een verleend Europees octrooidocument met Engelse, Franse en Duitse conclusies, en een vertaling van de conclusies naar een andere taal (bijv. Nederlands of Spaans of Italiaans). Hoewel de vertaling zelf typisch zal uitgevoerd worden gebruikmakend van een CAT-tool (computerondersteund vertalen), wordt de stap van het finaal proeflezen bij voorkeur uitgevoerd door het vergelijken van het origineel PDF-document en het finale tekstdocument, of indien het finale document ook geconverteerd is naar een PDFdocument, door het vergelijken van de twee PDF documenten.Such a system 100 can be used, for example, by a translator or proofreader for simultaneous viewing of a source document, for example a granted European patent document with English, French and German claims, and a translation of the claims into another language (e.g. Dutch or Spanish or Italian). Although the translation itself will typically be performed using a CAT tool (computer-assisted translation), the final proof reading step is preferably performed by comparing the original PDF document and the final text document, or if the final document is also converted to a PDF document, by comparing the two PDF documents.

Bij het proeflezen (of het verifiëren en/of corrigeren van de vertaling), moet de vertaler of proeflezer zijn focus steeds heen en weer verschuiven tussen de visuele voorstellingen van de twee documenten 107a, 107b, en moet steeds opnieuw de huidige context verwerven in elk van deze documenten, wat tijdrovend is en mentaal veeleisend. Deze cognitieve last kan verlaagd worden door bijvoorbeeld fysiek naar de woorden van de brontekst te wijzen, gebruikmakend van een vinger van de niet-dominante hand, en door overeenkomstige woorden van de doeltekst aan te duidenWhen proofreading (or verifying and / or correcting the translation), the translator or proofreader must constantly shift his focus to and fro between the visual representations of the two documents 107a, 107b, and must continually acquire the current context in each of these documents, which is time-consuming and mentally demanding. This cognitive burden can be reduced by, for example, physically pointing to the words of the source text, using a finger of the non-dominant hand, and by indicating corresponding words of the target text

BE2017/5896 gebruikmakend van de muiscursor 105, die bewogen kan worden op het scherm door de muisinrichting 103 fysiek te bewegen, welke in de dominante hand gehouden wordt, zoals getoond in FIG. 1 voor een rechtshändig persoon. Een linkshandig persoon zal de muis typisch met zijn linkerhand bewegen, en zal met zijn rechterhand naar het scherm wijzen.BE2017 / 5896 using the mouse cursor 105, which can be moved on the screen by physically moving the mouse device 103, which is held in the dominant hand, as shown in FIG. 1 for a legal person. A left-handed person will typically move the mouse with his left hand, and will point the screen with his right hand.

Maar dit proces is niet ideaal, onder andere omdat de arm niet altijd kan rusten op de tafel, in het bijzonder met grotere schermafmetingen, of met schermen die boven de tafel gemonteerd zijn. Voorts, wanneer een vertaalfout gevonden wordt, en een correctie gemaakt dient te worden, worden beide handen typisch naar het toetsenbord 102 gebracht om te typen, zodanig dat de context opnieuw verloren gaat en opnieuw verworven dient te worden nadat de correctie gemaakt is. Het zou voordelig zijn indien het computersysteem 100 een mechanisme zou verschaffen dat mogelijk maakt dat een gebruiker eenvoudig de focus kan verwisselen tussen twee leeslocaties op het scherm 104, welke locaties eenvoudig en intuïtief bewogen kunnen worden.But this process is not ideal, among other things because the arm cannot always rest on the table, in particular with larger screen dimensions, or with screens mounted above the table. Furthermore, when a translation error is found, and a correction is to be made, both hands are typically brought to the keyboard 102 for typing, such that the context is lost again and needs to be acquired again after the correction is made. It would be advantageous if the computer system 100 provided a mechanism that allows a user to easily switch the focus between two reading locations on the screen 104, which locations can be moved simply and intuitively.

FIG. 2 toont een ander probleem. Bij het lezen van een document, gebruikt een gebruiker doorgaans de muiscursor om te wijzen naar de woorden die hij momenteel aan het lezen is. Wanneer de persoon sommige woorden wil markeren of onderlijnen of opmerkingen wil toevoegen, dan moet de muiscursor typisch naar de top van het scherm bewogen worden, waar de gebruiker moet klikken om een markeringskleur te kiezen, of een schrijfmachinetool, of een commentaarveld, enz., maar door dit te doen, gaat de context van waar hij aan het lezen was verloren, en moet de context opnieuw verworven worden, wat tijdrovend is. Het zou voordelig zijn indien het computersysteem 200 een mechanisme zou verschaffen dat mogelijk maakt dat een gebruiker eenvoudig de focus kan verwisselen tussen een leeslocatie en een werklocatie, welke locaties eenvoudig en intuïtief bewogen kunnen worden.FIG. 2 shows another problem. When reading a document, a user typically uses the mouse cursor to point to the words he is currently reading. If the person wants to highlight or underline some words or add comments, the mouse cursor should typically be moved to the top of the screen, where the user must click to choose a highlight color, or a typewriter tool, or a comment field, etc., but by doing this, the context from which he was reading is lost, and the context must be acquired again, which is time-consuming. It would be advantageous if the computer system 200 provided a mechanism that would allow a user to easily switch the focus between a reading location and a work location, which locations can be moved simply and intuitively.

FIG. 3 toont een ander probleem. Bij het schrijven of controleren van bepaalde teksten (bijvoorbeeld conclusies van een octrooi-aanvrage), kan het wenselijk zijn om twee verschillende gedeeltes van één enkel tekstdocument te vergelijken, bijvoorbeeld een eerste gedeelte dat productconclusies bevat en een tweede gedeelte dat werkwijze-conclusies bevat. In de praktijk wil de gebruiker soms beide tekstgedeeltes wijzigen, wat tamelijk eenvoudig is voor het lagergelegen tekstgedeelte van het voorbeeld getoond in FIG. 3, omdat dat is waar de muiscursor 305 gesitueerd is, maar niet eenvoudig is voor het bovenste tekstgedeelte, waar de vinger gesitueerd is. De gebruiker kan de positie van de vinger en de muiscursor verwisselen, maar dat is niet eenvoudig in de praktijk zonder de context opnieuw te verwerven op beide locaties, wat tijdrovend is. Het zou voordelig zijn indien het computersysteem 300 een mechanisme zou verschaffen dat mogelijk maakt dat een gebruiker eenvoudig kan wisselen tussen twee verschillende locaties op het scherm, om te lezen en/of om te editeren, welke locaties eenvoudig en intuïtief bewogen kunnen worden.FIG. 3 shows another problem. When writing or checking certain texts (for example claims of a patent application), it may be desirable to compare two different parts of a single text document, for example a first part containing product claims and a second part containing method claims. In practice, the user sometimes wants to change both text portions, which is fairly simple for the lower text portion of the example shown in FIG. 3, because that is where the mouse cursor 305 is located, but is not simple for the upper text portion, where the finger is located. The user can swap the position of the finger and mouse cursor, but that is not easy in practice without re-acquiring the context at both locations, which is time-consuming. It would be advantageous if the computer system 300 provided a mechanism that would allow a user to easily switch between two different locations on the screen, to read and / or to edit, which locations could be moved easily and intuitively.

FIG. 4 toont een ander probleem. Bij het transcriberen (overzetten) van een geluidsfragment (d.w.z. het converteren van gesproken tekst naar een geschreven document), kan een gebruikerFIG. 4 shows another problem. When transcribing (transferring) a sound fragment (i.e., converting spoken text to a written document), a user may

BE2017/5896 gebruik maken van een audiospeler-applicatie (bijv. VLC Media Player) om een geluidsfragment te spelen gebruikmakend van een start/stop-knop, en een teksteditor-applicatie voor het typen van de overeenkomstige tekstinformatie. Gebruikmakend van gekende computers, zou de gebruiker typisch de muiscursor verplaatsen naar de audiospeler, klikken op het venster 417 van de audiospeler om de audiospeler-applicatie te activeren, klikken op de startknop, de audiospeler enkele seconden laten spelen, klikken op de start/pauze-knop om de audiospeler te pauzeren, de muiscursor verplaatsen naar de teksteditor, klikken op het venster van de teksteditor om de teksteditor-applicatie te activeren, optioneel opnieuw klikken om de muiscursor te herpositioneren in het tekstdocument, de overeenkomstige tekst intypen gebruikmakend van het toetsenbord, de muiscursor 405 terug verplaatsen naar de audiospeler, en dezelfde stappen opnieuw en opnieuw herhalen totdat het audiofragment volledig getranscribeerd is. Het heen en weer bewegen van de muiscursor 405 tussen de start/stop-knop van de audiospeler 417 en de huidige positie in de teksteditor 407 is tijdrovend, vooral aangezien de muiscursor accuraat gepositioneerd dient te worden teneinde niet op de verkeerde knop te klikken, bijvoorbeeld op een terugspoelknop, omdat een ongewilde klik op deze knop nog méér tijd zou kosten, omdat de gebruiker het audiofragment zal moeten terugvinden. Het zou voordelig zijn indien het computersysteem 400 een mechanisme zou verschaffen dat het mogelijk maakt dat de gebruiker op twee verschillende schermlocaties kan werken door beide handen te gebruiken, vooral wanneer één van deze locaties een nagenoeg vaste positie op het scherm heeft.BE2017 / 5896 use an audio player application (e.g., VLC Media Player) to play a sound clip using a start / stop button, and a text editor application for typing the corresponding text information. Using known computers, the user would typically move the mouse cursor to the audio player, click on the audio player window 417 to activate the audio player application, click on the start button, let the audio player play for a few seconds, click on the start / pause button to pause the audio player, move the mouse cursor to the text editor, click on the text editor window to activate the text editor application, optionally click again to reposition the mouse cursor in the text document, type the corresponding text using the keyboard , move the mouse cursor 405 back to the audio player, and repeat the same steps again and again until the audio clip is fully transcribed. Moving the mouse cursor 405 back and forth between the start / stop button of the audio player 417 and the current position in the text editor 407 is time-consuming, especially since the mouse cursor needs to be positioned accurately so as not to click on the wrong button, for example on a rewind button, because an unwanted click on this button would take even more time, because the user will have to find the audio clip. It would be advantageous if the computer system 400 provided a mechanism that allows the user to work at two different screen locations by using both hands, especially when one of these locations has a substantially fixed position on the screen.

Samenvatting van de uitvindingSummary of the invention

Het is een doel van de onderhavige uitvinding om een computersysteem te verschaffen dat twee aanwijsinrichtingen ondersteunt, en/of onderdelen daarvan, zoals bijv, een overlay-applicatie, een computerprogrammaproduct, een computerinrichting, een set van onderdelen, een aanwijsinrichting, een hub, een weergave-inrichting en een video-adapterinrichting.It is an object of the present invention to provide a computer system that supports two pointing devices, and / or components thereof, such as, for example, an overlay application, a computer program product, a computing device, a set of components, a pointing device, a hub, a display device and a video adapter device.

Het is een doel van uitvoeringsvormen van de onderhavige uitvinding om een mechanisme te verschaffen om de functionaliteit te verbeteren of uit te breiden van een computerinrichting die een besturingssysteem (O/S) met een grafische gebruikersinterface (GUI) uitvoert teneinde twee aanwijsinrichtingen te ondersteunen in plaats van slechts één.It is an object of embodiments of the present invention to provide a mechanism to improve or extend the functionality of a computer device that runs an operating system (O / S) with a graphical user interface (GUI) to support two pointing devices instead of from just one.

Het is een doel van uitvoeringsvormen van de onderhavige uitvinding om een computergeïmplementeerde werkwijze te verschaffen om de functionaliteit te verbeteren of uit te breiden van een O/S en GUI, bijvoorbeeld een bestaand O/S en GUI dat één enkele native muiscursor of muisaanwijzer verschaft en één enkele native cursorpositie onderhoudt, teneinde twee zichtbare voorwerpen te tonen en twee voorwerpposities bij te houden, welke voorwerpen individueel beweegbaar zijn door middel van twee aanwijsinrichtingen.It is an object of embodiments of the present invention to provide a computer-implemented method to improve or extend the functionality of an O / S and GUI, for example an existing O / S and GUI that provides a single native mouse cursor or mouse pointer and maintains a single native cursor position to display two visible objects and to keep track of two object positions, which objects are individually movable by means of two pointing devices.

Het is een doel van uitvoeringsvormen van de onderhavige uitvinding om een computergeïmplementeerde werkwijze te verschaffen voor het verbeteren of uitbreiden van de functionaliteit van een O/S en GUI, bijvoorbeeld een bestaand O/S en GUI dat één enkele native muiscursor ofIt is an object of embodiments of the present invention to provide a computer-implemented method for enhancing or extending the functionality of an O / S and GUI, for example an existing O / S and GUI that a single native mouse cursor or

BE2017/5896 muisaanwijzer verschaft en één enkele native cursorpositie onderhoudt, teneinde ten minste twee zichtbare voorwerpen te tonen en ten minste twee voorwerpposities bij te houden, welke voorwerpen individueel beweegbaar zijn door middel van ten minste twee aanwijsinrichtingen.BE2017 / 5896 provides a mouse pointer and maintains a single native cursor position to display at least two visible objects and to maintain at least two object positions, which objects are individually movable by means of at least two pointing devices.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen, waar één van de zichtbare voorwerpen de native muiscursor of muisaanwijzer is die door het O/S en de GUI verschaft wordt.It is an object of certain embodiments of the present invention to provide such a computer-implemented method, where one of the visible objects is the native mouse cursor or mouse pointer provided by the O / S and the GUI.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen welke reageert op bewegingen van de ten minste twee aanwijsinrichtingen.It is an object of certain embodiments of the present invention to provide such a computer-implemented method that responds to movements of the at least two pointing devices.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen welke reageert op bewegingen van de ten minste twee aanwijsinrichtingen, en/of op het indrukken van knoppen en het loslaten van knoppen en het klikken op knoppen van één of beide van de aanwijsinrichtingen, en/of op scrollwielbewegingen van één of beide aanwijsinrichtingen.It is an object of certain embodiments of the present invention to provide such a computer-implemented method that responds to movements of the at least two pointing devices, and / or to pressing buttons and releasing buttons and clicking buttons of one or both of the pointing devices, and / or on scroll wheel movements of one or both pointing devices.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen voor het verbeteren van de functionaliteit van het Windows-besturingssysteem van Microsoft Corporation, met hoofdkantoor in Redmond, Washington, bijv. Windows 7 of Windows 10 of latere versies van Windows.It is an object of certain embodiments of the present invention to provide such a computer-implemented method for improving the functionality of the Microsoft Corporation's Windows operating system, headquartered in Redmond, Washington, e.g., Windows 7 or Windows 10 or later versions of Windows.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen voor het verbeteren van de functionaliteit van het mac OS van Apple Inc. met hoofdkantoor in Cupertino, Californie, US, bijv, mac OS Sierra of mac OS High Sierra of later.It is an object of certain embodiments of the present invention to provide such a computer-implemented method for improving the functionality of the Mac OS from Apple Inc. with headquarters in Cupertino, California, US, for example, mac OS Sierra or mac OS High Sierra or later.

Het is een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een dergelijke computer-geïmplementeerde werkwijze te verschaffen, waarbij de dubbele muis functionaliteit verschaft wordt als een grafische overlay-applicatie.It is an object of certain embodiments of the present invention to provide such a computer-implemented method, wherein the dual mouse functionality is provided as a graphical overlay application.

Het is tevens een doel van de onderhavige uitvinding om een computerprogrammaproduct te verschaffen voor het uitvoeren van de werkwijze, en een computerinrichting te verschaffen die een dergelijk computerprogrammaproduct omvat en/of zulke werkwijze uitvoert, en een computersysteem te verschaffen dat een dergelijke computerinrichting omvat, en een aanwijsinrichting te verschaffen (bijv, een USB-muisinrichting of een RF-muisinrichting) die bijzonder geschikt is voor gebruik in zulk een computersysteem, en een adapter of een hub of een dongel te verschaffen (bijv, een USB-hub of RF-dongel) die bijzonder geschikt is voor gebruik in zulk een computersysteem.It is also an object of the present invention to provide a computer program product for performing the method, and to provide a computer device that includes such a computer program product and / or performs such a method, and to provide a computer system that includes such a computer device, and to provide a pointing device (e.g., a USB mouse device or an RF mouse device) that is particularly suitable for use in such a computer system, and to provide an adapter or a hub or a dongle (e.g., a USB hub or RF dongle) ) that is particularly suitable for use in such a computer system.

Het is tevens een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een computersysteem te verschaffen dat een computerinrichting omvat die werkzaam verbonden is met een eerste aanwijsinrichting, en een weergave-inrichting die werkzaam verbonden is met een tweede aanwijsinrichting.It is also an object of certain embodiments of the present invention to provide a computer system that includes a computer device operatively connected to a first pointing device, and a display device operatively connected to a second pointing device.

BE2017/5896BE2017 / 5896

Het is tevens een doel van bepaalde uitvoeringsvormen van de onderhavige uitvinding om een computersysteem te verschaffen dat een computerinrichting omvat die werkzaam verbonden is met een eerste aanwijsinrichting, en een weergave-inrichting, en een video-adapterinrichting die werkzaam verbonden is met een tweede aanwijsinrichting.It is also an object of certain embodiments of the present invention to provide a computer system that includes a computer device operatively connected to a first pointing device, and a display device, and a video adapter device operatively connected to a second pointing device.

Deze en andere doelstellingen worden gerealiseerd door een computer-geïmplementeerde werkwijze, een computerprogrammaproduct, een computerinrichting, een computersysteem, een aanwijsinrichting, een adapter of hub of dongel, een weergave-inrichting en een videoadapterinrichting volgens uitvoeringsvormen van de onderhavige uitvinding.These and other objects are achieved by a computer-implemented method, a computer program product, a computer device, a computer system, a pointing device, an adapter or hub or dongle, a display device, and a video adapter device according to embodiments of the present invention.

Volgens een 1ste aspect, verschaft de onderhavige uitvinding een computergeïmplementeerde werkwijze voor het verschaffen van ten minste twee zichtbare voorwerpen omvattende een eerste zichtbaar voorwerp en ten minste één ander zichtbaar voorwerp, waarbij het eerste zichtbaar voorwerp beweegbaar is door een eerste aanwijsinrichting en het ten minste één ander zichtbaar voorwerp separaat beweegbaar is door een tweede aanwijsinrichting, waarbij de eerste aanwijsinrichting en de tweede aanwijsinrichting verbonden zijn met een computerinrichting die een besturingssysteem met een grafische gebruikersinterface uitvoert dat een native muiscursor verschaft; waarbij de werkwijze de stappen omvat van: a) het configureren van het besturingssysteem met de grafische gebruikersinterface om de native muiscursor te verschaffen als het eerste zichtbaar voorwerp; b) het verschaffen van een grafisch overlayvenster dat het ten minste één ander zichtbaar voorwerp omvat; c) het configureren van het grafisch overlayvenster in doorklikmodus; e) het aanpassen van een positie van het eerste zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting; en het aanpassen van een positie van het ten minste één ander zichtbaar voorwerp in overeenstemming met beweging van de tweede aanwijsinrichting.According to a 1st aspect, the present invention provides a computer-implemented method for providing at least two visible objects comprising a first visible object and at least one other visible object, the first visible object being movable through a first pointing device and the at least one another visible object is separately movable by a second pointing device, wherein the first pointing device and the second pointing device are connected to a computer device that executes a control system with a graphical user interface that provides a native mouse cursor; the method comprising the steps of: a) configuring the operating system with the graphical user interface to provide the native mouse cursor as the first visible object; b) providing a graphic overlay window that includes at least one other visible object; c) configuring the graphic overlay window in click-through mode; e) adjusting a position of the first visible object in accordance with movements of the first pointing device; and adjusting a position of the at least one other visible object in accordance with movement of the second pointing device.

De eerste aanwijsinrichting kan bedienbaar zijn door een dominante hand van een gebruiker, de tweede aanwijsinrichting kan bedienbaar zijn door een niet-dominante hand van dezelfde gebruiker.The first pointing device can be operated by a dominant hand of a user, the second pointing device can be operated by a non-dominant hand of the same user.

Het configureren van het O/S om de enkele native muiscursor te verschaffen kan omvatten het toestaan dat het O/S de enkele native muiscursor verschaft, bijv, door de native muiscursor niet te verbergen.Configuring the O / S to provide the single native mouse cursor may include allowing the O / S to provide the single native mouse cursor, e.g., by not hiding the native mouse cursor.

Het is een voordeel dat deze werkwijze in combinatie met een O/S en GUI (met slechts één enkele native muiscursor of aanwijzer) twee (of meer) zichtbare voorwerpen verschaft die individueel of separaat beweegbaar zijn door twee separate aanwijsinrichtingen. Met andere woorden, het is een voordeel dat deze werkwijze de functionaliteit van een O/S en GUI uitbreidt om twee aanwijsinrichtingen te ondersteunen.It is an advantage that this method in combination with an O / S and GUI (with only a single native mouse cursor or pointer) provides two (or more) visible objects that can be moved individually or separately by two separate pointing devices. In other words, it is an advantage that this method extends the functionality of an O / S and GUI to support two pointing devices.

BE2017/5896BE2017 / 5896

Het verschaffen van een overlayvenster betekent dat het venster in hoofdzaak gesitueerd dient te worden boven andere applicaties (zoals de meeste desktopapplicaties) die niet geconfigureerd zijn als zijnde bovenaan.Providing an overlay window means that the window must be located substantially above other applications (such as most desktop applications) that are not configured as being at the top.

Het overlayvenster is geconfigureerd in doorklikmodus, wat wil zeggen dat het O/S geïnstrueerd is om geen aanwijzergebeurtenissen (pointer events) zoals bijv, muisbewegingen en muisklikken aan te bieden aan de overlay-applicatie, maar aan een onderliggende applicatie, d.w.z. aan een applicatie die een venster heeft met een lagere Z-orde dan het overlayvenster. Dit biedt het voordeel dat de onderliggende applicatie(s) op muisgebeurtenissen reageren alsof er geen overlayvenster was.The overlay window is configured in click-through mode, meaning that the O / S is instructed not to offer pointer events such as, for example, mouse movements and mouse clicks to the overlay application, but to an underlying application, ie to an application that has a window with a lower Z order than the overlay window. This offers the advantage that the underlying application (s) respond to mouse events as if there was no overlay window.

Het is een voordeel van het tonen van de native muiscursor als één van de zichtbare voorwerpen en dat het grafisch overlayvenster geconfigureerd is in doorklikmodus, omdat dit doen retro compatibel gedrag (backward compatibility) mogelijk maakt voor de meeste of alle bestaande applicaties die de gedaante (de look & feel) van de native muiscursor veranderen. Bijvoorbeeld, zoals gekend is in de stand der techniek, kan de muiscursor verschillende vormen aannemen afhankelijk van de context, bijvoorbeeld een pijl bij het bewegen over een afbeelding, of een zogenoemde crosshair (wat lijkt op een romeins cijfer I) bij het bewegen over een tekstgebied, of een hand bij het bewegen over een voorwerp dat gesleept kan worden, enz. Dit is een zeer groot voordeel ten opzichte van een applicatie die de native muiscursor zou verbergen of die deze cursor zou vervangen door een ander voorwerp met een vaste vorm.It is an advantage of showing the native mouse cursor as one of the visible objects and that the graphic overlay window is configured in click-through mode, because doing this makes retro compatible behavior (backward compatibility) possible for most or all existing applications that have the shape ( change the look & feel of the native mouse cursor. For example, as is known in the art, the mouse cursor can take different forms depending on the context, for example an arrow when moving over an image, or a so-called crosshair (which looks like a roman numeral I) when moving over a text area, or a hand when moving over an object that can be dragged, etc. This is a very big advantage over an application that would hide the native mouse cursor or replace this cursor with another object with a fixed shape.

Het is een zeer groot voordeel dat deze werkwijze werkt met een bestaand O/S met GUI (bijv. Windows 7 of Windows 10), en dat geen speciaal O/S en GUI verschaft hoeft te worden.It is a very big advantage that this method works with an existing O / S with GUI (e.g. Windows 7 or Windows 10), and that no special O / S and GUI need be provided.

Het is een voordeel dat deze werkwijze geen speciale muisaansturing (driver) vereist.It is an advantage that this method does not require any special mouse control (driver).

Het is een voordeel dat deze werkwijze werkt met bestaande applicaties (zoals tekstverwerkers, werkbladen, webbrowsers, enz.), en dat deze applicaties op géén enkele wijze gemodificeerd hoeven te worden.It is an advantage that this method works with existing applications (such as word processors, worksheets, web browsers, etc.), and that these applications do not need to be modified in any way.

Gegeven de enorme hoeveelheid computergebruikers, en de grote hoeveelheid softwarebedrijven, is het verbazingwekkend dat een tamelijk eenvoudige werkwijze een computerinrichting met een O/S en GUI ontwikkeld voor slechts één enkele muiscursor kan transformeren naar een computerinrichting met een O/S en GUI met dubbele muis ondersteuning, die het leven eenvoudiger kan helpen maken voor vele professionele gebruikers, zoals bijv, vertalers, transcribers, reviewers, proeflezers, technisch schrijvers, leraren, enz., door het aanbieden van een technische oplossing om de huidige context opnieuw te verwerven bij het heen en weer wisselen tussen twee documenten, of bij het wisselen tussen twee verschillende locaties binnen eenzelfde document.Given the huge amount of computer users, and the large amount of software companies, it is surprising that a fairly simple method can transform a computer device with an O / S and GUI developed for only a single mouse cursor into a computer device with an O / S and GUI with dual mouse support that can help make life easier for many professional users, such as translators, transcribers, reviewers, proofreaders, technical writers, teachers, etc., by offering a technical solution to regain the present context and switch again between two documents, or when switching between two different locations within the same document.

Het idee van het bevestigen van meerdere aanwijsinrichtingen aan één enkele computer is al langer dan twee decennia gekend, en vele mensen hebben op verschillende manieren geprobeerd ditThe idea of attaching multiple pointing devices to a single computer has been known for more than two decades, and many people have tried this in different ways.

BE2017/5896 probleem op te lossen. Doch slechts enkele van hen zijn daarin geslaagd, en degenen die geslaagd zijn lijken het probleem in de apparaatlaag (device layer) te hebben opgelost, niet in de toepassingslaag. Er lijkt een vooroordeel in het vakgebied te bestaan dat dit probleem moet opgelost worden in de apparaatlaag, en niet kan opgelost worden in de toepassingslaag, of althans dat een goede en bevredigende oplossing niet kan gevonden worden in de toepassingslaag.BE2017 / 5896 problem. But only a few of them succeeded, and those who succeeded seem to have solved the problem in the device layer, not in the application layer. There seems to be a bias in the art that this problem must be solved in the device layer, and cannot be solved in the application layer, or at least that a good and satisfactory solution cannot be found in the application layer.

Deze werkwijze is in het bijzonder bruikbaar voor professionele computergebruikers die met beide handen aan één enkele computerinrichting werken.This method is particularly useful for professional computer users who work with both hands on a single computer device.

* Sommige uitvoeringsvormen van de werkwijze verschaffen een mechanisme dat het mogelijk maakt dat een gebruiker eenvoudig de focus kan wisselen tussen twee leeslocaties op één of meerdere schermen, welke locaties eenvoudig en intuïtief verplaatst kunnen worden * Sommige uitvoeringsvormen van de werkwijze verschaffen een mechanisme dat het mogelijk maakt dat een gebruiker eenvoudig de focus kan wisselen tussen een leeslocatie en een werklocatie op één of meerdere schermen, welke locaties eenvoudig en intuïtief verplaatst kunnen worden * Sommige uitvoeringsvormen van de werkwijze verschaffen een mechanisme dat het mogelijk maakt dat een gebruiker eenvoudig de focus kan wisselen tussen twee verschillende locaties op een scherm, voor het lezen en/of voor het editeren, welke locaties eenvoudig en intuïtief verplaatst kunnen worden * Sommige uitvoeringsvormen van de werkwijze verschaffen een mechanisme dat het mogelijk maakt dat de gebruiker op twee verschillende schermlocaties werkt, gebruikmakende van beide handen waarbij lezen betekent dat de gebruiker deze locatie alleen eenvoudig moet kunnen zien en/of vinden en/of verplaatsen door de aanwijsinrichting(en) te bewegen, en waarbij werken betekent dat de gebruiker niet alleen in staat moet zijn om de aanwijsinrichting(en) te bewegen maar ook in staat moet zijn om met één of beide aanwijsinrichting(en) te klikken en/of te scrollen.* Some embodiments of the method provide a mechanism that allows a user to easily switch the focus between two reading locations on one or more screens, which locations can be moved easily and intuitively * Some embodiments of the method provide a mechanism that makes it possible allows a user to easily switch the focus between a reading location and a work location on one or more screens, which locations can be moved simply and intuitively * Some embodiments of the method provide a mechanism that allows a user to easily switch the focus between two different locations on a screen, for reading and / or for editing, which locations can be moved simply and intuitively * Some embodiments of the method provide a mechanism that allows the user to work at two different screen locations , using both hands where reading means that the user should only be able to easily see and / or find and move this location by moving the pointing device (s), and where working means that the user should not only be able to move pointing device (s) but must also be able to click and / or scroll with one or both pointing device (s).

Met andere woorden, spellen (games) die het gelijktijdig gebruik van twee aanwijsinrichtingen mogelijk maken zijn niet het hoofddoel van de onderhavige uitvinding, noch netwerkapplicaties waarbij meerdere gebruikers elk een respectievelijke aanwijsinrichting aansturen. De onderhavige uitvinding is voornamelijk bedoeld voor één enkele gebruiker die beide handen gebruikt, waarbij één hand typisch de dominante hand is, en de andere hand de niet-dominante hand is.In other words, games (games) that enable the simultaneous use of two pointing devices are not the main purpose of the present invention, nor are network applications where several users each control a respective pointing device. The present invention is primarily intended for a single user using both hands, one hand typically being the dominant hand, and the other hand being the non-dominant hand.

Deze werkwijze kan bijvoorbeeld geïmplementeerd worden als een losstaande overlayapplicatie die het grafisch overlayvenster omvat, en die optioneel verder een gebruikersinterfacevenster omvat, alhoewel het laatst vernoemde niet absoluut vereist is.This method can be implemented, for example, as a standalone overlay application that includes the graphical overlay window, and optionally further includes a user interface window, although the latter is not absolutely required.

BE2017/5896BE2017 / 5896

Het is gekend dat sommige versies van het Windows-besturingssysteem (Windows 10 of lager) het mogelijk maken dat meerdere USB-muizen met de computer verbonden worden, bijv, twee USB-muizen, indien de computerinrichting ten minste twee USB-poorten heeft, maar deze Windowsversies verschaffen slechts één enkele muiscursor. Indien meerdere aanwijsinrichtingen met de computer verbonden zijn, richt het Windows O/S alle bewegingsgebeurtenissen (movement events) vanuit eender welke aanwijsinrichting naar dezelfde muiscursor. Echter, wanneer gecombineerd met de werkwijze van de onderhavige uitvinding, lijkt het voor een gebruiker dat het Windows O/S twee aanwijsinrichtingen ondersteunt. De werkwijze van de onderhavige uitvinding kan dus gebruikt worden als een uitbreiding of als een add-on (toevoegingsapplicatie) voor het verschaffen van dubbele muis functionaliteit, niet louter voor één specifieke applicatie (zoals een game-toepassing), maar voor de meeste bestaande desktop-applicaties.It is known that some versions of the Windows operating system (Windows 10 or lower) allow multiple USB mice to be connected to the computer, e.g., two USB mice, if the computer device has at least two USB ports, but these Windows versions only provide a single mouse cursor. If multiple pointing devices are connected to the computer, the Windows O / S directs all movement events from any pointing device to the same mouse cursor. However, when combined with the method of the present invention, it appears to a user that it supports Windows O / S two pointing devices. The method of the present invention can thus be used as an extension or as an add-on to provide dual mouse functionality, not just for one specific application (such as a game application), but for most existing desktop applications.

Het is een voordeel dat deze overlay-applicatie slechts de positie van de native muiscursor van het O/S hoeft aan te passen, maar geen andere functionaliteit hoeft te implementeren, zoals klikken, slepen, scrollen van het muiswiel, enz.It is an advantage that this overlay application only needs to adjust the position of the native mouse cursor of the O / S, but does not have to implement other functionality such as clicking, dragging, scrolling the mouse wheel, etc.

Het is een voordeel dat het wisselen tussen de twee locaties automatisch gebeurt louter door de overeenkomstige aanwijsinrichting te bewegen, zonder speciale acties te moeten ondernemen. Dit maken het wisselen zeer snel en zeer intuïtief.It is an advantage that switching between the two locations is done automatically merely by moving the corresponding pointing device, without having to take special actions. This makes switching very quick and very intuitive.

In een uitvoeringsvorm verschaft de onderhavige uitvinding een computer-geïmplementeerde werkwijze voor het verschaffen van een eerste zichtbaar voorwerp, beweegbaar door een eerste aanwijsinrichting, en een tweede zichtbaar voorwerp, separaat beweegbaar door een tweede aanwijsinrichting.In one embodiment, the present invention provides a computer-implemented method for providing a first visible object, movable by a first pointing device, and a second visible object, movable separately by a second pointing device.

In deze uitvoeringsvorm, kan het tweede zichtbaar voorwerp beschouwd worden als het ten minste één ander zichtbaar voorwerp.In this embodiment, the second visible object can be considered as the at least one other visible object.

In deze uitvoeringsvorm, wordt het eerste zichtbaar voorwerp bij voorkeur in hoofdzaak onafhankelijk van bewegingen van de tweede aanwijsinrichting bewogen, afgezien van enkele overgangseffecten. Evenzo, wordt het tweede zichtbaar voorwerp bij voorkeur in hoofdzaak onafhankelijk van bewegingen van de eerste aanwijsinrichting bewogen, afgezien van enkele overga ngseffecten.In this embodiment, the first visible object is preferably moved substantially independently of movements of the second pointing device, apart from some transition effects. Similarly, the second visible object is preferably moved substantially independently of movements of the first pointing device, apart from some transient effects.

In een uitvoeringsvorm verschaft de onderhavige uitvinding een computer-geïmplementeerde werkwijze voor het verschaffen een eerste zichtbaar voorwerp en een tweede zichtbaar voorwerp en een derde zichtbaar voorwerp, waarbij het derde zichtbaar voorwerp beweegbaar is door een eerste aanwijsinrichting; het tweede zichtbaar voorwerp separaat beweegbaar door een tweede aanwijsinrichting; het eerste zichtbaar voorwerp selectief beweegbaar door één van de eerste aanwijsinrichting en de tweede aanwijsinrichting, dewelke het meest recent bewogen en/of bediend werd; en waarbij stap b) omvat: het verschaffen van een grafisch overlayvenster dat het tweede zichtbaar voorwerp en het derde zichtbaar voorwerp omvat.In one embodiment, the present invention provides a computer-implemented method for providing a first visible object and a second visible object and a third visible object, the third visible object being movable through a first pointing device; the second visible object movable separately by a second pointing device; the first visible object is selectively movable by one of the first pointing device and the second pointing device, which was most recently moved and / or operated; and wherein step b) comprises: providing a graphic overlay window that includes the second visible object and the third visible object.

BE2017/5896BE2017 / 5896

Met bewegingen worden bijvoorbeeld horizontale en/of verticale bewegingen van de aanwijsinrichting bedoeld. Met bediening wordt bijvoorbeeld bedoeld dat een knop van de aanwijsinrichting ingedrukt of losgelaten wordt, of dat een scrollwiel van de aanwijsinrichting gescrold wordt.With movements is meant, for example, horizontal and / or vertical movements of the pointing device. By operation is meant, for example, that a button of the pointing device is pressed or released, or that a scroll wheel of the pointing device is scrolled.

In een uitvoeringsvorm omvat stap e): het aanpassen van een positie van het eerste zichtbaar voorwerp in overeenstemming met bewegingen en/of bedieningen van één van de eerste aanwijsinrichting en de tweede aanwijsinrichting, dewelke het meest recent werd bewogen of bediend; en het aanpassen van een positie van het tweede zichtbaar voorwerp in overeenstemming met beweging van de tweede aanwijsinrichting; en het aanpassen van een positie van het derde zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting.In one embodiment, step e) comprises: adjusting a position of the first visible object in accordance with movements and / or controls of one of the first pointing device and the second pointing device, which was most recently moved or operated; and adjusting a position of the second visible object in accordance with movement of the second pointing device; and adjusting a position of the third visible object in accordance with movements of the first pointing device.

In deze uitvoeringsvorm, worden het eerste en derde zichtbaar voorwerp bij voorkeur in hoofdzaak onafhankelijk van bewegingen van de tweede aanwijsinrichting bewogen, afgezien van enkele overgangseffecten. Evenzo, wordt het tweede zichtbaar voorwerp bij voorkeur in hoofdzaak onafhankelijk van bewegingen van de eerste aanwijsinrichting bewogen, afgezien van enkele overgangseffecten.In this embodiment, the first and third visible object are preferably moved substantially independently of movements of the second pointing device, apart from some transition effects. Likewise, the second visible object is preferably moved substantially independently of movements of the first pointing device, apart from some transition effects.

In een uitvoeringsvorm omvat de werkwijze verder stap d) van: het configureren van het besturingssysteem om ruwe inputberichten gerelateerd aan de eerste en tweede aanwijsinrichting te zenden, en het verschaffen van een berichtenverwerker om deze ruwe inputberichten te verwerken; en omvat stap e): het aanpassen van een positie van het eerste zichtbaar voorwerp op basis van de ruwe inputberichten; en het aanpassen van een positie van het ten minste één ander zichtbaar voorwerp op basis van de ruwe inputberichten.In one embodiment, the method further comprises step d) of: configuring the operating system to send raw input messages related to the first and second pointing devices, and providing a message processor to process these raw input messages; and includes step e): adjusting a position of the first visible object based on the raw input messages; and adjusting a position of the at least one other visible object based on the raw input messages.

Dankzij de berichtenverwerker, ontvangt het overlayvenster ook de muisgebeurtenissen, waardoor deze bewegingsinformatie van elke muisinrichting kan extraheren. Hoewel deze aanpak voordelen heeft, heeft hij ook nadelen, zoals bijvoorbeeld het niet in staat zijn om klikgebeurtenissen tegen te houden.Thanks to the message processor, the overlay window also receives the mouse events, allowing it to extract motion information from any mouse device. Although this approach has advantages, it also has disadvantages such as, for example, being unable to stop click events.

In een uitvoeringsvorm worden de posities van de native muiscursor alsook van het tweede en optioneel verder zichtbaar voorwerp(en) binnen de berichtverwerkingsroutine bijgewerkt.In one embodiment, the positions of the native mouse cursor as well as the second and optionally further visible object (s) within the message processing routine are updated.

Dit biedt het voordeel van een zeer lage responstijd tussen bewegingen van de aanwijsinrichtingen en de eigenlijke weergave op het scherm, echter, ten koste van hogere CPUbelasting.This offers the advantage of a very low response time between movements of the pointing devices and the actual display on the screen, however, at the expense of a higher CPU load.

In een uitvoeringsvorm wordt alleen de positie van de native muiscursor in de berichtverwerkingsroutine zelf bijgewerkt, terwijl de positie van het tweede en/of verder zichtbaar voorwerp buiten van de berichtverwerkingsroutine wordt uitgevoerd, dus asynchroon, bijv, op basis van een timer-interrupt.In one embodiment, only the position of the native mouse cursor in the message processing routine itself is updated, while the position of the second and / or further visible object is performed outside of the message processing routine, i.e. asynchronously, e.g., based on a timer interrupt.

Op deze manier is de responstijd van bewegingen van de native muiscursor zeer laag, terwijl de responstijd tussen bewegingen van de aanwijsinrichtingen en het/de andere zichtbareIn this way, the response time of movements of the native mouse cursor is very low, while the response time between movements of the pointing devices and the other visible

BE2017/5896 voorwerp(en) enigszins groter is. Dit biedt het voordeel van een gereduceerde CPU-belasting, hetgeen in het bijzonder voordelig kan zijn indien het tweede en/of het/de verder(e) zichtbare voorwerp(en) meer dan ongeveer 50 x 50 =2500 pixels op het scherm inneemt, of meer dan 70 x 70 = 4900 pixels, of meer dan 100 x 100 = 10000 pixels op het scherm.BE2017 / 5896 item (s) is somewhat larger. This offers the advantage of a reduced CPU load, which can be particularly advantageous if the second and / or the further visible object (s) occupies more than approximately 50 x 50 = 2500 pixels on the screen, or more than 70 x 70 = 4900 pixels, or more than 100 x 100 = 10000 pixels on the screen.

In een uitvoeringsvorm omvat stap e):In one embodiment, step e) comprises:

* het ontvangen van een inputbericht;* receiving an input message;

* indien het ontvangen inputbericht gerelateerd is aan de eerste aanwijsinrichting, het bijwerken van een eerste aanwijspositie; en indien het ontvangen inputbericht gerelateerd is aan de tweede aanwijsinrichting, het bijwerken van een tweede aanwijspositie;* if the received input message is related to the first pointing device, updating a first pointing position; and if the received input message is related to the second pointing device, updating a second pointing position;

* het aanpassen van een positie van de native muiscursor en een positie van het ten minste één ander zichtbaar voorwerp op één van de volgende manieren:* adjusting a position of the native mouse cursor and a position of the at least one other visible object in one of the following ways:

a) het aanpassen van de positie van de native muiscursor in overeenstemming met de eerste positie, en het aanpassen van de positie van het ten minste één ander zichtbaar voorwerp in overeenstemming met de tweede positie; ofa) adjusting the position of the native mouse cursor in accordance with the first position, and adjusting the position of the at least one other visible object in accordance with the second position; or

ß) het aanpassen van de positie van de native muiscursor in overeenstemming met de tweede positie, en het aanpassen van de positie van het ten minste één ander zichtbaar voorwerp in overeenstemming met de eerste positie; ofβ) adjusting the position of the native mouse cursor in accordance with the second position, and adjusting the position of the at least one other visible object in accordance with the first position; or

y) afhankelijk van of het inputbericht gerelateerd is aan de eerste aanwijsinrichting of de tweede aanwijsinrichting:y) depending on whether the input message is related to the first pointing device or the second pointing device:

* het aanpassen van de positie van de native muiscursor in overeenstemming met de eerste positie en het aanpassen van een positie van het ten minste één ander zichtbaar voorwerp in overeenstemming met de tweede positie indien het ontvangen inputbericht gerelateerd is aan de eerste aanwijsinrichting;* adjusting the position of the native mouse cursor in accordance with the first position and adjusting a position of the at least one other visible object in accordance with the second position if the received input message is related to the first pointing device;

* het aanpassen van de positie van de native muiscursor in overeenstemming met de tweede positie en het aanpassen van een positie van het ten minste één ander zichtbaar voorwerp in overeenstemming met de eerste positie indien het ontvangen inputbericht gerelateerd is aan de tweede aanwijsinrichting.* adjusting the position of the native mouse cursor in accordance with the second position and adjusting a position of the at least one other visible object in accordance with the first position if the received input message is related to the second pointing device.

Deze uitvoeringsvorm beschreef in meer detail hoe inputberichten behandeld worden om een eerste positie geassocieerd met het eerste zichtbaar voorwerp bij te werken, en de tweede positie geassocieerd met het tweede of derde zichtbaar voorwerp. Het inputbericht kan een ruw inputbericht zijn gerelateerd aan een bewegingsgebeurtenis, of gerelateerd aan een gebeurtenis waarbij een knop wordt ingedrukt, of een gebeurtenis waarbij een knop wordt losgelaten, of gerelateerd aan een gebeurtenis waarbij een scrollwiel wordt gedraaid.This embodiment described in more detail how input messages are treated to update a first position associated with the first visible object, and the second position associated with the second or third visible object. The input message can be a rough input message related to a motion event, or related to an event where a button is pressed, or an event where a button is released, or related to an event where a scroll wheel is turned.

BE2017/5896BE2017 / 5896

In een uitvoeringsvorm omvat stap e): het ontvangen van een inputbericht, en in het geval dat het inputbericht een bewegingsbericht is, het verkrijgen van verplaatsingswaardes gerelateerd aan genoemd bewegingsbericht.In one embodiment, step e) comprises: receiving an input message, and in the case that the input message is a motion message, obtaining displacement values related to said motion message.

In een uitvoeringsvorm omvat de computer-geïmplementeerde werkwijze verder: het configureren van het grafisch overlayvenster als een semi-transparant venster dat een alfamengingwaarde (of alfatransparantiewaarde) heeft in het bereik van 1% tot 99% of van 2% tot 98% of van 5% tot 95%.In one embodiment, the computer-implemented method further comprises: configuring the graphic overlay window as a semi-transparent window that has an alpha blending value (or alpha transparency value) in the range of 1% to 99% or from 2% to 98% or from 5 % to 95%.

In deze uitvoeringsvorm is het tweede (en/of verder) zichtbaar voorwerp semi-transparant, wat betekent dat de gebruiker doorheen het voorwerp kan kijken (bijv, een lijn of een kruis of een rechthoek of een hand), en dus de onderliggende informatie kan zien (bijv, tekstuele of alfanumerieke of grafische informatie weergegeven door een onderliggende tekstapplicatie of spreadsheetapplicatie of PDF-documentviewer of webbrowser, enz.).In this embodiment, the second (and / or further) visible object is semi-transparent, meaning that the user can see through the object (e.g., a line or a cross or a rectangle or a hand), and thus the underlying information can (eg, textual or alphanumeric or graphical information represented by an underlying text application or spreadsheet application or PDF document viewer or web browser, etc.).

Het is een voordeel dat het tweede (en/of verder) zichtbaar voorwerp onderliggende tekst of numerieke informatie niet volledig verhult, hetgeen het voor een gebruiker doorgaans eenvoudiger maakt om de onderliggende informatie te lezen, en geen accurate bewegingen van de aanwijsinrichting vereist, hetgeen doorgaans moeilijker is voor de niet-dominante hand.It is an advantage that the second (and / or further) visible object does not completely conceal underlying text or numerical information, which generally makes it easier for a user to read the underlying information, and does not require accurate movements of the pointing device, which usually harder for the non-dominant hand.

In een uitvoeringsvorm wordt slechts een minderheidsgedeelte van het gebied van het overlayvenster ingenomen door het tweede zichtbaar voorwerp, en wordt een meerderheidsgedeelte van het gebied van het overlayvenster ingenomen door volledig transparante pixels.In one embodiment, only a minority portion of the area of the overlay window is occupied by the second visible object, and a majority portion of the area of the overlay window is occupied by fully transparent pixels.

Het tweede zichtbaar voorwerp kan bijvoorbeeld minder dan 20% of minder dan 10% of minder dan 5% van het gebied van het overlayvenster innemen.For example, the second visible object may occupy less than 20% or less than 10% or less than 5% of the area of the overlay window.

Het tweede zichtbaar voorwerp kan een ondoorzichtig beeld zijn of bevatten.The second visible object can be or contain an opaque image.

Het tweede zichtbaar voorwerp kan een bitmap bevatten met een eerste veelheid pixels welke ondoorzichtig zijn en een tweede veelheid pixels welke volledig transparant zijn, waarbij de eerste en tweede veelheid pixels afwisselend gepositioneerd zijn (geïnterleaved), bijvoorbeeld volgens een regelmatig patroon, bijvoorbeeld volgens een schaakbordpatroon (zoals in meer detail beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage, zie bijv. FIG. 37 en FIG. 39 daarvan).The second visible object may contain a bitmap with a first plurality of pixels that are opaque and a second plurality of pixels that are completely transparent, the first and second plurality of pixels being alternately positioned (interleaved), e.g. according to a regular pattern, e.g. according to a checkerboard pattern (as described in more detail in the pending perforated bitmap application, see e.g. FIG. 37 and FIG. 39 thereof).

Een meerderheidsgedeelte van de pixels van het overlayvenster, bijvoorbeeld ten minste 70% van deze pixels, kunnen volledig transparante pixels zijn. In een uitvoeringsvorm waarbij het overlayvenster slechts het tweede zichtbaar voorwerp omvat (en geen verdere zichtbare voorwerpen), zijn bij voorkeur alle pixels die niet tot het tweede zichtbaar voorwerp behoren, volledig transparante pixels.A majority portion of the pixels of the overlay window, for example at least 70% of these pixels, can be completely transparent pixels. In an embodiment where the overlay window comprises only the second visible object (and no further visible objects), preferably all pixels that do not belong to the second visible object are completely transparent pixels.

In een uitvoeringsvorm wordt de werkwijze geïmplementeerd in een overlay-applicatie, en heeft de overlay-applicatie een inputmodus gekozen uit of selecteerbaar uit een eerste inputmodusIn one embodiment, the method is implemented in an overlay application, and the overlay application has an input mode selected from or selectable from a first input mode

BE2017/5896 (bijv. RechtsHandig) en/of een tweede inputmodus (bijv. LinksHandig) en/of een derde inputmodus (bijv. TweeHandig); en omvat stap e) één of twee of alle van de volgende opties:BE2017 / 5896 (e.g. Right Handed) and / or a second input mode (e.g. Left Handed) and / or a third input mode (e.g. Two Handed); and step e) includes one or two or all of the following options:

* in het geval dat de overlay-applicatie geconfigureerd is in de eerste inputmodus (bijv. RechtsHandig) het aanpassen van een positie van de native muiscursor in overeenstemming met de eerste positie;* in the case that the overlay application is configured in the first input mode (e.g. Right Hand) adjusting a position of the native mouse cursor in accordance with the first position;

* in het geval dat de overlay-applicatie geconfigureerd is in de tweede inputmodus (bijv. LinksHandig) het aanpassen van een positie van de native muiscursor in overeenstemming met de tweede positie;* in the case that the overlay application is configured in the second input mode (e.g. Left Handed) adjusting a position of the native mouse cursor in accordance with the second position;

* in het geval dat de overlay-applicatie geconfigureerd is in de derde inputmodus (bijv. TweeHandig) het selectief aanpassen van een positie van de native muiscursor in overeenstemming met de eerste positie indien het ontvangen inputbericht gerelateerd is aan een bewegingsbericht van de eerste aanwijsinrichting, en het aanpassen van de genoemde positie in overeenstemming met de tweede positie indien het ontvangen inputbericht gerelateerd is aan een bewegingsbericht van de tweede aanwijsinrichting.* in the case that the overlay application is configured in the third input mode (e.g. Two-Handed) selectively adjusting a position of the native mouse cursor in accordance with the first position if the received input message is related to a motion message from the first pointing device, and adjusting said position in accordance with the second position if the received input message is related to a motion message from the second pointing device.

In sommige uitvoeringsvormen, kan de inputmodus vooraf bepaald zijn, bijvoorbeeld hardgecodeerd voor rechtshändige mensen of voor linkshandige mensen.In some embodiments, the input mode may be predetermined, for example, hard-coded for right-handed people or for left-handed people.

In sommige uitvoeringsvormen kan de inputmodus configureerbaar zijn, bijvoorbeeld selecteerbaar door een gebruiker, expliciet (zie bijv. FIG. 31) of impliciet (zie bijv. FIG. 28(a) en FIG. 30).In some embodiments, the input mode may be configurable, for example selectable by a user, explicitly (see e.g. FIG. 31) or implicitly (see e.g. FIG. 28 (a) and FIG. 30).

De eerste inputmodus kan in het bijzonder geschikt zijn voor rechtshändige gebruikers. In eenvoudige termen uitgedrukt, volgt de native muiscursor in deze modus bewegingen van de eerste aanwijsinrichting, bijv, de aanwijsinrichting door de gebruiker aangeduid als de rechter aanwijsinrichting, doorgaans gestuurd door de rechterhand. In deze modus springt de native muiscursor niet tussen de eerste en tweede positie.The first input mode may be particularly suitable for legal users. Expressed in simple terms, the native mouse cursor in this mode follows movements of the first pointing device, e.g., the pointing device designated by the user as the right pointing device, usually controlled by the right hand. In this mode, the native mouse cursor does not jump between the first and second position.

De tweede inputmodus kan in het bijzonder geschikt zijn voor linkshandige gebruikers. In eenvoudige termen uitgedrukt, volgt de native muiscursor in deze modus bewegingen van de tweede aanwijsinrichting, bijv, de aanwijsinrichting door de gebruiker aangeduid als de linker aanwijsinrichting, doorgaans gestuurd door de linkerhand. In deze modus springt de native muiscursor niet tussen de eerste en tweede positie.The second input mode may be particularly suitable for left-handed users. Expressed in simple terms, the native mouse cursor in this mode follows movements of the second pointing device, e.g., the pointing device designated by the user as the left pointing device, usually controlled by the left hand. In this mode, the native mouse cursor does not jump between the first and second position.

De derde inputmodus kan in het bijzonder geschikt zijn voor gebruikers die met beide aanwijsinrichtingen wensen te klikken en/of te scrollen. In eenvoudige termen uitgedrukt, volgt de native muiscursor in deze modus bewegingen van de aanwijsinrichting die het meest recent bewogen en/of geklikt en/of gescrold is. In deze modus springt de native muiscursor tussen de eerste en tweede positie.The third input mode may be particularly suitable for users who wish to click and / or scroll with both pointing devices. Expressed in simple terms, the native mouse cursor in this mode follows movements of the pointing device that was most recently moved and / or clicked and / or scrolled. In this mode, the native mouse cursor jumps between the first and second position.

In een uitvoeringsvorm heeft de overlay-applicatie een displaymodus gekozen uit of selecteerbaar uit een eerste groep van displaymodi geassocieerd met de eerste inputmodus (bijv. RechtsHandig), en/of een tweede groep van displaymodi geassocieerd met de tweede inputmodus (bijv. LinksHandig), en een derde groep van displaymodi geassocieerd met de derde inputmodus (bijv. TweeHandig); en omvat stap e) het uitvoeren van ten minste één van de volgende stappen:In one embodiment, the overlay application has a display mode selected from or selectable from a first group of display modes associated with the first input mode (e.g., Right Handed), and / or a second group of display modes associated with the second input mode (e.g., Left Handed), and a third group of display modes associated with the third input mode (e.g., Two-Handed); and includes step e) performing at least one of the following steps:

BE2017/5896 * in het geval dat de overlay-applicatie geconfigureerd is in een displaymodus gekozen uit de eerste of derde groep van displaymodi, het aanpassen van een positie van het tweede zichtbaar voorwerp in overeenstemming met de tweede positie;BE2017 / 5896 * in the case that the overlay application is configured in a display mode selected from the first or third group of display modes, adjusting a position of the second visible object in accordance with the second position;

* in het geval dat de overlay-applicatie geconfigureerd is in een displaymodus gekozen uit de tweede groep van displaymodi, het aanpassen van een positie van het tweede zichtbaar voorwerp in overeenstemming met de eerste positie.* in the case that the overlay application is configured in a display mode selected from the second group of display modes, adjusting a position of the second visible object in accordance with the first position.

De eerste groep van displaymodi kan bijv, een modus omvatten met slechts twee zichtbare voorwerpen: de native muiscursor als het eerste zichtbaar voorwerp dat beweegbaar is door de rechter aanwijsinrichting, en een tweede zichtbaar voorwerp dat beweegbaar is door de linker aanwijsinrichting, en dat bijv, de vorm heeft van een zwarte pijl (zie pictogram 2860a van FIG. 28) of een beeld van een linkerhand (zie pictogram 2860b) of een vierkant (zie pictogram 2860c) of een lijn (zie pictogram 2860d) of een kruis (zie pictogram 2860e), maar andere modi zijn eveneens overwogen.The first group of display modes may include, for example, a mode with only two visible objects: the native mouse cursor as the first visible object that is movable through the right pointing device, and a second visible object that is movable through the left pointing device, and that e.g. has the shape of a black arrow (see icon 2860a of FIG. 28) or an image of a left hand (see icon 2860b) or a square (see icon 2860c) or a line (see icon 2860d) or a cross (see icon 2860e ), but other modes have also been considered.

De tweede groep van displaymodi kan bijv, een modus omvatten met slechts twee zichtbare voorwerpen: de native muiscursor als het eerste zichtbaar voorwerp beweegbaar door de linker aanwijsinrichting, en een tweede zichtbaar voorwerp beweegbaar door de rechter aanwijsinrichting, en dat bijv, de vorm heeft van een zwarte pijl (zie pictogram 2850a van FIG. 28) of een beeld van een rechterhand (zie pictogram 2850b) of een vierkant (zie pictogram 2850c) of een lijn (zie pictogram 2850d) of een kruis (zie pictogram 2850e), maar andere modi zijn eveneens overwogen.The second group of display modes may include, for example, a mode with only two visible objects: the native mouse cursor as the first visible object movable through the left pointing device, and a second visible object movable through the right pointing device, and which, for example, is in the form of a black arrow (see icon 2850a of FIG. 28) or an image of a right hand (see icon 2850b) or a square (see icon 2850c) or a line (see icon 2850d) or a cross (see icon 2850e), but others modes are also considered.

De derde groep van displaymodi kan bijv, een modus omvatten met slechts twee zichtbare voorwerpen: de native muiscursor als het eerste zichtbaar voorwerp, en een tweede zichtbaar voorwerp dat bijv, de vorm heeft van een zwarte pijl (zie pictogram 2870a van FIG. 28), waarbij het eerste zichtbaar voorwerp selectief beweegbaar is door de rechter aanwijsinrichting of de linker aanwijsinrichting, afhankelijk van welke wordt bewogen, en het tweede zichtbaar voorwerp zich in de andere onderhouden positie bevindt.The third group of display modes may include, for example, a mode with only two visible objects: the native mouse cursor as the first visible object, and a second visible object that is, for example, in the form of a black arrow (see icon 2870a of FIG. 28) wherein the first visible object is selectively movable by the right pointing device or the left pointing device, depending on which is being moved, and the second visible object is in the other maintained position.

In een uitvoeringsvorm omvat stap b): het verschaffen een derde zichtbaar voorwerp vervat in het grafische overlayvenster; en omvat stap e) het ten minste één keer of herhaaldelijk uitvoeren van de volgende stappen: * het aanpassen van een positie van het tweede zichtbaar voorwerp in overeenstemming met de tweede positie, en het aanpassen van een positie van het derde zichtbaar voorwerp in overeenstemming met de eerste positie.In one embodiment, step b) comprises: providing a third visible object contained in the graphic overlay window; and step e) comprises performing the following steps at least once or repeatedly: * adjusting a position of the second visible object in accordance with the second position, and adjusting a position of the third visible object in accordance with the first position.

De eerste groep, tweede groep en derde groep displaymodi kan bijv, een modus omvatten met drie zichtbare voorwerpen: de native muiscursor als het eerste zichtbaar voorwerp, en een tweede en derde zichtbaar voorwerp die elk de vorm hebben van een vierkant (zie pictogrammen 2860g, 2850g, 2870g) of een lijn (zie pictogram 2860h, 2850h, 2870h) of een kruis (zie pictogram 2860Î, 2850Î, 2870Î), waarvan één beweegbaar is door de linker aanwijsinrichting, de andere door de rechter aanwijsinrichting.The first group, second group, and third group of display modes can include, for example, a mode with three visible objects: the native mouse cursor as the first visible object, and a second and third visible object each having the shape of a square (see icons 2860g, 2850g, 2870g) or a line (see pictograms 2860h, 2850h, 2870h) or a cross (see pictograms 2860Î, 2850Î, 2870Î), one of which is movable by the left pointing device, the other by the right pointing device.

BE2017/5896BE2017 / 5896

De derde groep van displaymodi kan bijv, omvatten een modus met drie zichtbare voorwerpen: de native muiscursor als het eerste zichtbaar voorwerp selectief beweegbaar door de rechter of linker aanwijsinrichting, afhankelijk van welke aanwijsinrichting het meest recent werd bewogen en/of geklikt en/of gescrold, en een tweede zichtbaar voorwerp (dat bijv, een beeld heeft van een linkerhand) beweegbaar door de linker aanwijsinrichting, en een derde zichtbaar voorwerp (dat bijv, een beeld heeft van een rechterhand) beweegbaar door de rechter aanwijsinrichting (zie pictogram 2870b), maar andere modi zijn eveneens overwogen.The third group of display modes may include, for example, a mode with three visible objects: the native mouse cursor as the first visible object selectively movable by the right or left pointing device, depending on which pointing device was most recently moved and / or clicked and / or scrolled and a second visible object (e.g., having an image of a left hand) movable through the left pointing device, and a third visible object (e.g., having an image of a right hand) movable through the right pointing device (see icon 2870b), but other modes are also considered.

In een uitvoeringsvorm omvat stap b) verder: het verschaffen van een verticale zichtbare lijn vervat in het grafische overlayvenster; en omvat stap c): het herhaaldelijk uitvoeren van de volgende stappen: nagaan of een positie van de native muiscursor zich op de verticale zichtbare lijn bevindt, en indien een resultaat van de test onwaar is, het configureren van het grafisch overlayvenster in doorklikmodus; en indien een resultaat van de test waar is, het configureren van het grafisch overlayvenster in niet-doorklikmodus.In one embodiment, step b) further comprises: providing a vertical visible line contained in the graphic overlay window; and includes step c): repeatedly performing the following steps: checking whether a position of the native mouse cursor is on the vertical visible line, and if a result of the test is false, configuring the graphic overlay window in click-through mode; and if a result of the test is true, configuring the graphic overlay window in non-click-through mode.

De verticale zichtbare lijn maakt het mogelijk het scherm in twee delen te splitsen: een linker gedeelte en een rechter gedeelte. Door herhaaldelijk na te gaan waar de native muiscursor zich bevindt, en door het overlayvenster dynamisch in doorklikmodus of niet-doorklikmodus te configureren, kan het slepen van de verticale lijn geïmplementeerd worden, hetgeen een zeer handige en intuïtieve wijze is van het bewegen van de verticale lijn. Geen applicaties zijn gekend waar een venster dynamisch in en uit doorklikmodus wordt geconfigureerd, afhankelijk van een positie van de native muiscursor.The vertical visible line makes it possible to split the screen into two parts: a left part and a right part. By repeatedly checking where the native mouse cursor is located, and by dynamically configuring the overlay window in click-through or non-click-through mode, dragging the vertical line can be implemented, which is a very convenient and intuitive way of moving the vertical line. No applications are known where a window is dynamically configured in and out of click-through mode, depending on a position of the native mouse cursor.

Het tweede zichtbaar voorwerp kan een horizontale lijn zijn welke zich uitstrekt over de breedte van het linker gedeelte van het scherm, of het rechter gedeelte van het scherm.The second visible object can be a horizontal line that extends across the width of the left portion of the screen, or the right portion of the screen.

Indien zowel een tweede als een derde zichtbaar voorwerp beschikbaar zijn, kan het tweede voorwerp een linker horizontale lijn zijn, en kan het derde voorwerp een rechter horizontale lijn zijn. De verticale lijn kan handig gebruikt worden om de breedte van een linker horizontale lijn en de rechter horizontale lijn te definiëren.If both a second and a third visible object are available, the second object can be a left horizontal line, and the third object can be a right horizontal line. The vertical line can be conveniently used to define the width of a left horizontal line and the right horizontal line.

In een uitvoeringsvorm neemt het grafisch overlayvenster ten minste 80% often minste 90% van het gebied in dat door de grafische gebruikersinterface (GUI) wordt ingenomen.In one embodiment, the graphic overlay window occupies at least 80% or at least 90% of the area occupied by the graphical user interface (GUI).

In een uitvoeringsvorm neemt het grafisch overlayvenster in hoofdzaak het ganse schermgebied in, bijv, het ganse schermgebied.In one embodiment, the graphic overlay window occupies substantially the entire screen area, e.g., the entire screen area.

In een uitvoeringsvorm neemt het grafisch overlayvenster in hoofdzaak het ganse werkgebied in, bijv, het ganse werkgebied, wat in een Microsoft Windows-context kan betekenen het gebied van de desktop minus het gebied van een taakbalk.In one embodiment, the graphic overlay window occupies substantially the entire work area, e.g., the entire work area, which in a Microsoft Windows context may mean the area of the desktop minus the area of a taskbar.

In een uitvoeringsvorm neemt het tweede zichtbaar voorwerp en/of elk verder zichtbaar voorwerp elk 1000 tot 20000 pixels in, of 1500 tot 15000 pixels, of 2000 tot 12000 pixels, of 2500 totIn one embodiment, the second visible object and / or any further visible object each occupies 1000 to 20000 pixels, or 1500 to 15000 pixels, or 2000 to 12000 pixels, or 2500 to

10000.10000.

BE2017/5896BE2017 / 5896

Het is een voordeel dat het bijwerken van slechts een klein gedeelte van het scherm tamelijk snel kan uitgevoerd worden, en geen significante impact heeft op CPU-prestatie. Tegelijkertijd is het een voordeel van het tonen van een tamelijk groot zichtbaar voorwerp, omdat een dergelijk voorwerp veel eenvoudiger te vinden is op het scherm. Als een voorbeeld neemt de native muiscursor (in de vorm van een pijl) typisch slechts ongeveer 10 x 10 of ongeveer 100 pixels in, maar is nauwelijks zichtbaar, en moeilijk te vinden op een scherm. Het tonen van een bitmap van een hand die ongeveer 20 x 20 pixels heeft of ongeveer 400 pixels is beter, maar nog steeds tamelijk klein, in het bijzonder op een scherm met een resolutie van ongeveer 1920 x 1080 pixels of meer. Op zulk een scherm van deze resolutie is het veel eenvoudiger het/de zichtbare voorwerp(en) te lokaliseren indien ze ongeveer 30x30 of 50x50 tot ongeveer 100x100 pixels groot zijn, dus ongeveer 900 pixels of ongeveer 2,5K tot ongeveer 10K pixels groot.It is an advantage that only a small portion of the screen can be updated rather quickly, and has no significant impact on CPU performance. At the same time, it is an advantage to display a fairly large visible object, because such an object is much easier to find on the screen. As an example, the native mouse cursor (in the form of an arrow) typically occupies only about 10 x 10 or about 100 pixels, but is hardly visible, and hard to find on a screen. Showing a bitmap of a hand that has about 20 x 20 pixels or about 400 pixels is better, but still quite small, especially on a screen with a resolution of about 1920 x 1080 pixels or more. On such a screen of this resolution, it is much easier to locate the visible object (s) if they are approximately 30x30 or 50x50 to approximately 100x100 pixels, i.e. approximately 900 pixels or approximately 2.5K to approximately 10K pixels.

Het is een belangrijk voordeel van uitvoeringsvormen die drie zichtbare voorwerpen tonen: een eerste zichtbaar voorwerp zijnde de native muiscursor met een grootte van ongeveer 100 tot 400 pixels (bijv, een pijl van ongeveer 10 x 10 pixels, of een pijl van ongeveer 16 x 25 pixels) omdat dit gebruikt kan worden voor het accuraat positioneren, en tegelijkertijd een tweede en een derde voorwerp, waarvan één zich in hoofdzaak op dezelfde positie bevindt als de native muiscursor, optioneel met een constante verschuiving, elk met veel grotere grootte, bijv, elk ongeveer 1,5K tot 15K pixels innemende (bijv, een hand van ongeveer 34 x 44 pixels, of ongeveer 68 x 88 pixels, of ongeveer 102 x 132 pixels). In het bijzonder is de combinatie van een tamelijk grote hand en een tamelijk kleine native muiscursor extreem nuttig, omdat dit het beste van beide werelden biedt: goede zichtbaarheid en accurate positionering.It is a major advantage of embodiments showing three visible objects: a first visible object being the native mouse cursor with a size of about 100 to 400 pixels (e.g., an arrow of about 10 x 10 pixels, or an arrow of about 16 x 25 pixels) because this can be used for accurate positioning, and at the same time a second and third object, one of which is substantially in the same position as the native mouse cursor, optionally with a constant shift, each with much larger size, e.g., each occupying approximately 1.5K to 15K pixels (e.g., a hand of approximately 34 x 44 pixels, or approximately 68 x 88 pixels, or approximately 102 x 132 pixels). In particular, the combination of a fairly large hand and a fairly small native mouse cursor is extremely useful because it offers the best of both worlds: good visibility and accurate positioning.

In een uitvoeringsvorm omvat de eerste aanwijsinrichting ten minste één knop die kan ingedrukt worden of losgelaten worden door een gebruiker, en omvat de tweede aanwijsinrichting ten minste één knop die kan ingedrukt worden of losgelaten worden door een gebruiker, en omvat stap e):In one embodiment, the first pointing device comprises at least one button that can be pressed or released by a user, and the second pointing device comprises at least one button that can be pressed or released by a user, and comprises step e):

* het testen of het ontvangen inputbericht gerelateerd is aan een bewegingsbericht van de eerste aanwijsinrichting, en indien een resultaat van deze test waar is, het verkrijgen van verplaatsingsinformatie en het bijwerken van een eerste aanwijspositie; en * het testen of het ontvangen inputbericht gerelateerd is aan een bewegingsbericht van de tweede aanwijsinrichting, en indien een resultaat van deze test waar is, het verkrijgen van verplaatsingsinformatie en het bijwerken van een tweede aanwijspositie; en * het testen of het ontvangen inputbericht gerelateerd is aan het indrukken of loslaten van de ten minste één knop van de eerste aanwijsinrichting, en indien een resultaat van deze test waar is, het instellen van een eerste knoptoestandsvariable op respectievelijk WAAR of ONWAAR, en * het testen of het ontvangen inputbericht gerelateerd is aan het indrukken of loslaten van de ten minste één knop van de tweede aanwijsinrichting, en indien een resultaat van deze test waar is, het instellen van een tweede knoptoestandsvariabele op respectievelijk WAAR of ONWAAR;* testing whether the received input message is related to a motion message from the first pointing device, and if a result of this test is true, obtaining displacement information and updating a first pointing position; and * testing whether the received input message is related to a motion message from the second pointing device, and if a result of this test is true, obtaining displacement information and updating a second pointing position; and * testing whether the received input message is related to pressing or releasing the at least one button of the first pointing device, and if a result of this test is true, setting a first button state variable to TRUE or FALSE respectively, and * testing whether the received input message is related to pressing or releasing the at least one button of the second pointing device, and if a result of this test is true, setting a second button state variable to TRUE or FALSE respectively;

BE2017/5896 en waarbij stap e) verder omvat:BE2017 / 5896 and wherein step e) further comprises:

* in het geval dat de overlay-applicatie geconfigureerd is in de eerste inputmodus (bijv. RechtsHandig), het aanpassen van een positie van de native muiscursor in overeenstemming met de eerste positie;* in the case that the overlay application is configured in the first input mode (e.g. Right Hand), adjusting a position of the native mouse cursor in accordance with the first position;

* in het geval dat de overlay-applicatie geconfigureerd is in de tweede inputmodus (bijv. LinksHandig), het aanpassen van een positie van de native muiscursor in overeenstemming met de tweede positie;* in the case that the overlay application is configured in the second input mode (e.g. Left Handed), adjusting a position of the native mouse cursor in accordance with the second position;

* in het geval dat de overlay-applicatie geconfigureerd is in de derde inputmodus (bijv. TweeHandig) en indien het ontvangen inputbericht gerelateerd is aan een beweging van de eerste aanwijsinrichting en indien de tweede knoptoestandsvariable ONWAAR is, het aanpassen van een positie van de native muiscursor in overeenstemming met de eerste positie, en anders het negeren van het inputbericht;* in the case that the overlay application is configured in the third input mode (e.g. Two-Handed) and if the received input message is related to a movement of the first pointing device and if the second button state variable is FALSE, adjusting a position of the native mouse cursor in accordance with the first position, and otherwise ignoring the input message;

* in het geval dat de overlay-applicatie geconfigureerd is in de derde inputmodus (bijv. TweeHandig) en indien het ontvangen inputbericht gerelateerd is aan een beweging van de tweede aanwijsinrichting en indien de eerste knoptoestandsvariabele ONWAAR is, het aanpassen van een positie van de native muiscursor in overeenstemming met de tweede positie, en anders het negeren van het inputbericht.* in the case that the overlay application is configured in the third input mode (e.g. Two-Handed) and if the received input message is related to a movement of the second pointing device and if the first button state variable is FALSE, adjusting a position of the native mouse cursor in accordance with the second position, and otherwise ignoring the input message.

Dit gedrag is uitgedrukt in pseudo-code in FIG. 18(a). Dit algoritme is een verbetering van het eerste algoritme hierboven beschreven. In eenvoudige termen uitgedrukt voor twee muisinrichtingen: de werkwijze dwingt de native muiscursor te springen volgens de meest recente muisbeweging (linker muis of rechter muis), behalve indien een knop van de andere muisinrichting wordt ingedrukt. De aandachtige lezer zal opmerken dat dit algoritme het slepen, gebruikmakende van de aanwijsinrichting waarvan de knop wordt ingedrukt, toelaat.This behavior is expressed in pseudo code in FIG. 18 (a). This algorithm is an improvement on the first algorithm described above. Expressed in simple terms for two mouse devices: the method forces the native mouse cursor to jump according to the most recent mouse movement (left mouse or right mouse), except when a button of the other mouse device is pressed. The attentive reader will note that this algorithm permits dragging, using the pointing device whose button is pressed.

Er wordt opgemerkt dat het eenvoudig negeren van de bewegingsgebeurtenis geen goede oplossing is, omdat het O/S met GUI de muiscursor hoe dan ook zal bewegen. De werkwijze van de onderhavige uitvinding corrigeert dit gedrag om het gedrag intuïtief te maken voor de gebruiker. Bijvoorbeeld, indien een gebruiker een knop op de rechter muisinrichting indrukt, zou de windows cursor niet mogen bewegen, zelfs indien de linker muisinrichting wordt bewogen, zo lang de knop van de rechter muis wordt ingedrukt. Noch dit probleem, en bijgevolg noch de vereiste en noch de oplossing is gekend in de stand der techniek.It is noted that simply ignoring the motion event is not a good solution, because the O / S with GUI will move the mouse cursor anyway. The method of the present invention corrects this behavior to make the behavior intuitive for the user. For example, if a user presses a button on the right mouse device, the windows cursor should not move even if the left mouse device is moved as long as the right mouse button is pressed. Neither this problem, and consequently neither the requirement nor the solution is known in the art.

In een uitvoeringsvorm omvat stap e): onder vooraf bepaalde voorwaarden, het transformeren van de verplaatsingswaardes teneinde overeen te stemmen met een verplaatsing in een richting gekozen uit een beperkte groep richtingen, bijvoorbeeld bevattende minder dan negen richtingen, bijvoorbeeld bevattende slechts vier richtingen (Noord, West, Zuid, Oost), of bevattende slechts acht richtingen (N,W,Z,O,NW,ZW,ZO,NO), of bevattende slechts twee horizontale richtingen (West, Oost).In one embodiment, step e) comprises: under predetermined conditions, transforming the displacement values to correspond to a displacement in a direction selected from a limited group of directions, e.g. containing fewer than nine directions, e.g. containing only four directions (North, West, South, East), or containing only eight directions (N, W, Z, O, NW, SW, SE, NO), or containing only two horizontal directions (West, East).

BE2017/5896BE2017 / 5896

Het is een belangrijk voordeel van dit kenmerk dat het de gebruiker drastisch kan helpen bewegingen van ten minste één van de aanwijsinrichtingen beter aan te sturen, bij het uitvoeren van bepaalde taken. Dit is in het bijzonder nuttig voor de aanwijsinrichting die door de niet-dominante hand wordt gestuurd bij het uitvoeren van op tekst gebaseerde taken (zoals het lezen van een tekstdocument, het proeflezen van een vertaling, het wijzen naar individuele woorden op eenzelfde lijn tijdens een Webinar of presentatie, enz.)It is an important advantage of this feature that it can drastically help the user to better control movements of at least one of the pointing devices when performing certain tasks. This is particularly useful for the pointing device controlled by the non-dominant hand when performing text-based tasks (such as reading a text document, proofreading a translation, pointing to individual words on the same line during a Webinar or presentation, etc.)

In een uitvoeringsvorm omvat stap e): onder vooraf bepaalde voorwaarden, het transformeren van de verplaatsingswaardes teneinde overeen te stemmen met een horizontale verplaatsing of een verticale verplaatsing.In one embodiment, step e) comprises: under predetermined conditions, transforming the displacement values to correspond to a horizontal displacement or a vertical displacement.

In een uitvoeringsvorm omvat stap e): onder vooraf bepaalde voorwaarden, het transformeren van de verplaatsingswaardes teneinde overeen te stemmen met een horizontale verplaatsing of een verticale verplaatsing, of een verplaatsing onder een vooraf bepaalde hoek in het bereik van 30° tot 60°, bijv, gelijk aan ongeveer 45°.In one embodiment, step e) comprises: under predetermined conditions, transforming the displacement values to correspond to a horizontal displacement or a vertical displacement, or a displacement at a predetermined angle in the range of 30 ° to 60 °, e.g. , equal to approximately 45 °.

In een uitvoeringsvorm omvat stap e): het testen of een hoek of een hoekafstand tussen een verplaatsingsvector gedefinieerd door de verplaatsingswaardes en een horizontale lijn kleiner is dan een vooraf bepaalde hoek (bijvoorbeeld kleiner dan 30°, of kleiner dan 40°) en indien een resultaat van deze test waar is, het transformeren van de verplaatsingswaardes naar horizontale verplaatsingswaardes; of het testen of een verhouding van de verticale verplaatsingswaarde en de horizontale verplaatsingswaarde kleiner is dan een vooraf bepaalde waarde, en indien een resultaat van deze test waar is, het transformeren van de verplaatsingswaardes naar horizontale verplaatsingswaardes.In one embodiment, step e) comprises: testing whether an angle or an angular distance between a displacement vector defined by the displacement values and a horizontal line is less than a predetermined angle (e.g., less than 30 °, or less than 40 °) and if a result of this test is true, transforming the displacement values into horizontal displacement values; or testing whether a ratio of the vertical displacement value and the horizontal displacement value is less than a predetermined value, and if a result of this test is true, transforming the displacement values into horizontal displacement values.

De vooraf bepaalde waarde kan een constante waarde zijn, gekozen in het bereik van 0,2 tot 0,75, bijvoorbeeld gelijk aan ongeveer 0,20=1/5 of 0,25=1/4 of 0,33=1/3 of 0,50=1/2 of 0,66=2/3 of 0,75=3/4.The predetermined value can be a constant value selected in the range of 0.2 to 0.75, for example equal to about 0.20 = 1/5 or 0.25 = 1/4 or 0.33 = 1/3 or 0.50 = 1/2 or 0.66 = 2/3 or 0.75 = 3/4.

Het transformeren van de verplaatsingswaardes naar horizontale verplaatsingswaardes kan bijvoorbeeld het instellen betekenen van de verticale verplaatsingswaarde dy op 0.Transforming the displacement values into horizontal displacement values may mean, for example, setting the vertical displacement value dy to 0.

In een uitvoeringsvorm zijn de eerste en tweede aanwijsinrichting HID-compatibele inrichtingen, en omvat stap d): het configureren van het besturingssysteem om ruwe inputgegevens naar de overlay-applicatie te zenden.In one embodiment, the first and second pointing devices are HID-compatible devices, and step d) comprises: configuring the operating system to send raw input data to the overlay application.

Meer specifiek (in het geval van een Microsoft Windows-omgeving), kan stap d) het configureren van de applicatie omvatten om ruwe inputberichten te ontvangen van het type WM_INPUT gebruikmakende van de WinAPI-functie RegisterRawinputDevices.More specifically (in the case of a Microsoft Windows environment), step d) may include configuring the application to receive raw input messages of the WM_INPUT type using the WinAPI function RegisterRawinputDevices.

De term HID is een goed gekende term en staat voor het Human Interface Device.The term HID is a well-known term and stands for the Human Interface Device.

In een uitvoeringsvorm is het besturingssysteem Windows 7 of Windows 10 van Microsoft Corporation.In one embodiment, the operating system is Windows 7 or Windows 10 from Microsoft Corporation.

BE2017/5896BE2017 / 5896

Werkwijzen van de onderhavige uitvinding zijn in het bijzonder geschikt om gebruikt te worden samen met het Microsoft Windows-besturingssysteem.Methods of the present invention are particularly suitable for use in conjunction with the Microsoft Windows operating system.

In een uitvoeringsvorm is het besturingssysteem mac OS Sierra of mac OS High Sierra of een latere mac OS-versie van Apple inc.In one embodiment, the operating system is mac OS Sierra or mac OS High Sierra or a later mac OS version of Apple inc.

Werkwijzen van de onderhavige uitvinding kunnen ook voordeligerwijs gebruikt worden samen met besturingssystemen voor een mac-computer.Methods of the present invention can also be advantageously used in conjunction with operating systems for a mac computer.

De onderhavige uitvinding is ook gericht op het gebruik van een werkwijze volgens het eerste aspect, door één enkele gebruiker, voor het wijzen naar twee verschillende locaties op één enkele scherm, of op meerdere schermen verbonden met één enkele computerinrichting, gebruikmakende van twee aanwijsinrichtingen.The present invention is also directed to the use of a method according to the first aspect, by a single user, for pointing to two different locations on a single screen, or on multiple screens connected to a single computer device, using two pointing devices.

De onderhavige uitvinding is ook gericht op het gebruik van deze werkwijze door één enkele gebruiker, voor het onderlijnen van alfanumerieke informatie op twee verschillende locaties op één of meerdere schermen verbonden met één enkele computerinrichting, gebruikmakende van twee aanwijsinrichtingen.The present invention is also directed to the use of this method by a single user, for underlining alphanumeric information at two different locations on one or more screens connected to a single computer device, using two pointing devices.

De onderhavige uitvinding is ook gericht op het gebruik van deze werkwijze door één enkele gebruiker, voor het werken op twee verschillende locaties op één of meerdere schermen verbonden met één enkele computerinrichting, gebruikmakende van twee aanwijsinrichtingen, die beide kunnen geklikt en/of gescrold worden.The present invention is also directed to the use of this method by a single user, for operating at two different locations on one or more screens connected to a single computer device, using two pointing devices, both of which can be clicked and / or scrolled.

Een dergelijk gebruik is in het bijzonder geschikt voor professionele gebruikers, meerbepaald vertalers, proeflezers, technische schrijvers, advocaten, octrooigemachtigden, transcribers, en leraren.Such use is particularly suitable for professional users, specifically translators, proofreaders, technical writers, lawyers, patent attorneys, transcribers, and teachers.

Volgens een 2de aspect verschaft de onderhavige uitvinding een computerprogrammaproduct dat uitvoerbare instructies bevat welke de werkwijze volgens het eerste aspect uitvoeren, wanneer ze worden uitgevoerd op een computerinrichting die een weergavescherm heeft of daarmee verbonden is, en die een eerste aanwijsinrichting heeft of daarmee verbonden is en die een tweede aanwijsinrichting heeft of daarmee verbonden is, waarbij de computerinrichting een besturingssysteem omvat met een grafische gebruikersinterface dat de native muiscursor verschaft.In a 2nd aspect, the present invention provides a computer program product that includes executable instructions that perform the method of the first aspect when executed on a computer device that has a display screen or is connected to it, and that has a first pointing device or is connected to it, and which has a second pointing device or is connected thereto, the computer device comprising an operating system with a graphical user interface that provides the native mouse cursor.

Het O/S met GUI kan Windows 7 of Windows 10 of later zijn, van Microsoft Corporation, of kan mac OS Sierra of mac OS High Sierra of een latere mac OS-versie van Apple Inc. zijn.The O / S with GUI can be Windows 7 or Windows 10 or later, from Microsoft Corporation, or can be mac OS Sierra or mac OS High Sierra or a later mac OS version of Apple Inc. to be.

Volgens een 3de aspect verschaft de onderhavige uitvinding een computerinrichting omvattende: een besturingssysteem met een grafische gebruikersinterface die een native muiscursor verschaft, en een computerprogrammaproduct volgens het tweede aspect.According to a 3rd aspect, the present invention provides a computer device comprising: an operating system with a graphical user interface that provides a native mouse cursor, and a computer program product according to the second aspect.

De computerinrichting kan een personal computer (PC) zijn of een desktopcomputer of een laptopcomputer of een servercomputer of dergelijke.The computer device may be a personal computer (PC) or a desktop computer or a laptop computer or a server computer or the like.

De computerinrichting kan ten minste één processor hebben, en een opslagmedium of een geheugen dat een overlay-applicatie opslaat voor het uitvoeren van de hierboven beschreven overlaywerkwijze.The computer device may have at least one processor, and a storage medium or memory that stores an overlay application for performing the overlay method described above.

BE2017/5896BE2017 / 5896

De computerinrichting kan twee aanwijsinrichtingen omvatten, of kan één aanwijsinrichting (bijv, een touchpad) omvatten en verbonden zijn met één aanwijsinrichting (bijv, een muisinrichting), of kan verbonden zijn met twee aanwijsinrichtingen (bijv, twee muisinrichtingen).The computer device may include two pointing devices, or may include one pointing device (e.g., a touch pad) and be connected to one pointing device (e.g., a mouse device), or may be connected to two pointing devices (e.g., two mouse devices).

De computerinrichting kan een intern weergavescherm hebben of kan aansluitbaar zijn op een extern weergavescherm.The computer device may have an internal display screen or may be connectable to an external display screen.

De computer kan een geïntegreerd toetsenbord hebben of kan aansluitbaar zijn op een extern toetsenbord.The computer can have an integrated keyboard or can be connected to an external keyboard.

De computerinrichting kan verder één of meerdere applicaties omvatten gekozen uit de groep bestaande uit: een tekstverwerker, een PDF-documentviewer, een PDF-documenteditor, een webbrowser, een spreadsheetapplicatie, een PowerPoint-toepassing, een audiospeler, een videospeler, enz.The computer device may further comprise one or more applications selected from the group consisting of: a word processor, a PDF document viewer, a PDF document editor, a web browser, a spreadsheet application, a PowerPoint application, an audio player, a video player, etc.

Het computerprogrammaproduct verbetert de functionaliteit van het besturingssysteem, teneinde ondersteuning te verschaffen voor twee zichtbare voorwerpen, individueel beweegbaar door twee aanwijsinrichtingen.The computer program product enhances the functionality of the control system to provide support for two visible objects, individually movable by two pointing devices.

Volgens een 4de aspect verschaft de onderhavige uitvinding een aanwijsinrichting omvattende: een bewegingsdetectiemechanisme voor het detecteren van een beweging, bijv, een tweedimensionale beweging; een besturingseenheid verbonden met het bewegingsdetectiemechanisme en aangepast voor het zenden van een bewegingsbericht wanneer een beweging wordt gedetecteerd; ten minste één knop indrukbaar en loslaatbaar door een gebruiker; en een knopdetectiemechanisme voor het detecteren of de ten minste één knop wordt ingedrukt of wordt losgelaten; waarbij de besturingseenheid verbonden is met genoemd knopdetectiemechanisme en aangepast is voor het zenden van een knop-ingedrukt-bericht wanneer gedetecteerd wordt dat de ten minste één knop wordt ingedrukt, en voor het zenden van een drukknop-losgelaten-bericht wanneer gedetecteerd wordt dat de ten minste één knop wordt losgelaten; en waarbij de besturingseenheid is aangepast voor, wanneer gedetecteerd wordt dat de ten minste één knop wordt ingedrukt, om (eerst) een dummy-bewegingsbericht te zenden, en om (daarna) het knop-ingedrukt-bericht te zenden een vooraf bepaalde periode na het zenden van het dummy-bewegingsbericht.According to a 4th aspect, the present invention provides a pointing device comprising: a motion detection mechanism for detecting a motion, e.g., a two-dimensional motion; a control unit connected to the motion detection mechanism and adapted to send a motion message when a motion is detected; at least one button depressable and release by a user; and a button detection mechanism for detecting whether the at least one button is pressed or released; wherein the control unit is connected to said button detection mechanism and adapted to send a button-pressed message when it is detected that the at least one button is being pressed, and to send a push-button release message when it is detected that the at least one at least one button is released; and wherein the control unit is adapted for, when it is detected that the at least one button is pressed, to send (first) a dummy motion message, and to (subsequently) send the button-pressed message a predetermined period after the sending the dummy motion message.

Deze aanwijsinrichting is in het bijzonder geschikt voor gebruik in combinatie met een werkwijze volgens het eerste aspect, of in combinatie met een computerprogrammaproduct volgens het tweede aspect, of in combinatie met een computerinrichting volgens het derde aspect.This pointing device is particularly suitable for use in combination with a method according to the first aspect, or in combination with a computer program product according to the second aspect, or in combination with a computer device according to the third aspect.

De besturingseenheid kan een programmeerbare processor omvatten, geprogrammeerd voor het uitlezen van het bewegingsdetectiemechanisme en/of het knopdetectiemechanisme en/of een scrollwielmechanisme (indien aanwezig), en voor het zenden van een overeenkomstig bericht naar de computerinrichting (host).The control unit may comprise a programmable processor, programmed for reading the motion detection mechanism and / or the button detection mechanism and / or a scroll wheel mechanism (if present), and for sending a corresponding message to the computer device (host).

Het is een voordeel van deze aanwijsinrichting dat het dummybericht ervoor zal zorgen dat de hierboven beschreven overlay-applicatie de native muiscursor zal doen springen indien het zichIt is an advantage of this pointing device that the dummy message will cause the overlay application described above to make the native mouse cursor jump if it is

BE2017/5896 bevond ter hoogte van de positie geassocieerd met de andere aanwijsinrichting (die niet geklikt werd), en daardoor het risico reduceert dat de native muiscursor zich in de onjuiste positie bevindt op het moment dat het eigenlijke knop-ingedrukt-bericht bij de computerinrichting aankomt, zoals weergegeven in FIG. 22. Of met andere woorden uitgedrukt, het is een voordeel van deze aanwijsinrichting dat het risico dat de native muispositie niet overeenkomt met de positie van de muisinrichting die geklikt wordt, drastisch wordt gereduceerd. Er wordt opgemerkt dat dit probleem niet bestaat in de stand der techniek, omdat het besturingssysteem alle aanwijzerberichten naar dezelfde cursorpositie leidt.BE2017 / 5896 was at the position associated with the other pointing device (which was not clicked), thereby reducing the risk of the native mouse cursor being in the wrong position at the time the actual button-pressed message at the computer device arrives, as shown in FIG. 22. Or in other words, it is an advantage of this pointing device that the risk that the native mouse position does not match the position of the mouse device being clicked is drastically reduced. It is noted that this problem does not exist in the prior art because the operating system directs all pointer messages to the same cursor position.

Of in nog andere woorden uitgedrukt, het is een voordeel van deze aanwijsinrichting dat de gebruiker niet manueel de aanwijsinrichting moet bewegen alvorens te klikken, maar dat dit automatisch wordt gedaan.Or in other words, it is an advantage of this pointing device that the user does not have to move the pointing device manually before clicking, but that this is done automatically.

Deze aanwijsinrichting is bij voorkeur retro compatibel, zodanig dat deze eveneens kan gebruikt worden in klassieke computerinrichtingen die niet de overlay-applicatie volgens het eerste aspect uitvoeren, zij het met een kleine vertraging bij het klikken van een knop, hetgeen geacht wordt volkomen aanvaardbaar te zijn voor desktopapplicaties, maar waarschijnlijk onacceptabel is voor gaming-applicaties.This pointing device is preferably retro compatible, such that it can also be used in conventional computer devices that do not perform the overlay application according to the first aspect, albeit with a slight delay when clicking a button, which is considered to be perfectly acceptable. for desktop applications, but is probably unacceptable for gaming applications.

De vertraging kan gebaseerd zijn op een timer, een intern kloksignaal, een extern kloksignaal, enz.The delay can be based on a timer, an internal clock signal, an external clock signal, etc.

In een uitvoeringsvorm is de processor verder aangepast voor, wanneer gedetecteerd wordt dat de ten minste één knop wordt losgelaten, om (eerst) een dummy-bewegingsbericht te zenden, en om (daarna) het drukknop-losgelaten-bericht te zenden een vooraf bepaalde periode na het zenden van het dummy-bewegingsbericht.In one embodiment, the processor is further adapted for, when it is detected that the at least one button is released, to send (first) a dummy movement message, and to (subsequently) send the push-button released message for a predetermined period after sending the dummy motion message.

Deze aanwijsinrichting is in het bijzonder bruikbaar in combinatie met een positiebijwerkingsroutine zoals weergegeven in FIG. 18(b), waarbij bewegingsberichten vanuit één aanwijsinrichting worden verwerkt, zelfs indien een knop van de andere aanwijsinrichting is ingedrukt.This pointing device is particularly useful in combination with a position updating routine as shown in FIG. 18 (b), wherein motion messages from one pointing device are processed even if a button of the other pointing device is pressed.

In een uitvoeringsvorm omvat de aanwijsinrichting verder ten minste één scrollwiel, draaibaar door een gebruiker; en een scrollwiel-detectiemechanisme voor het detecteren of het ten minste één scrollwiel heeft gedraaid; en waarbij de besturingseenheid verbonden is met het scrollwieldetectiemechanisme, en aangepast is voor het zenden van een scrollwiel-rotatie-bericht wanneer gedetecteerd wordt dat het ten minste één scrollwiel heeft gedraaid; en waarbij de besturingseenheid is aangepast voor, wanneer gedetecteerd wordt dat het ten minste één scrollwiel heeft gedraaid, om een dummy-bewegingsbericht te zenden, en om het scrollwiel-rotatie-bericht te zenden een vooraf bepaalde periode na het zenden van het dummy-bewegingsbericht.In one embodiment, the pointing device further comprises at least one scroll wheel rotatable by a user; and a scroll wheel detection mechanism for detecting whether the at least one scroll wheel has turned; and wherein the control unit is connected to the scroll wheel detection mechanism, and adapted to send a scroll wheel rotation message when it is detected that it has turned at least one scroll wheel; and wherein the control unit is adapted for, when it is detected that it has rotated at least one scroll wheel, to send a dummy motion message, and to send the scroll wheel rotation message a predetermined period after sending the dummy motion message .

Deze aanwijsinrichting is in het bijzonder geschikt voor gebruik in combinatie met een werkwijze volgens het eerste aspect, of in combinatie met een computerprogrammaproduct volgens het tweede aspect, of in combinatie met een computerinrichting volgens het derde aspect.This pointing device is particularly suitable for use in combination with a method according to the first aspect, or in combination with a computer program product according to the second aspect, or in combination with a computer device according to the third aspect.

BE2017/5896BE2017 / 5896

In de praktijk zou het scrollwiel-rotatie-bericht typisch een waarde omvatten die kenmerkend is voor hoeveel het scrollwiel heeft gedraaid.In practice, the scroll wheel rotation message would typically include a value that is characteristic of how much the scroll wheel has turned.

Op een vergelijkbare wijze als voor het knop-ingedrukt-bericht is het een voordeel dat, in plaats van het onmiddellijk zenden van het scrollwiel-rotatiebericht naar de host, deze aanwijsinrichting eerst een dummy-bewegingsbericht verstuurt en dan een bepaalde tijd wacht, zodat de overlay-applicatie volgens het eerste aspect tijd heeft om de native muiscursor te dwingen om te springen, indien het zich op de positie geassocieerd met de andere aanwijsinrichting bevond. Wederom reduceert dit drastisch het risico dat het wiel-rotatie-commando bij de onjuiste positie wordt geïnterpreteerd.In a similar manner as for the button-pressed message, it is an advantage that instead of immediately sending the scroll wheel rotation message to the host, this pointing device first sends a dummy motion message and then waits a certain time so that the The overlay application according to the first aspect has time to force the native mouse cursor to jump if it was at the position associated with the other pointing device. Again, this drastically reduces the risk of the wheel rotation command being interpreted at the incorrect position.

In een uitvoeringsvorm is de vooraf bepaalde periode een waarde in het bereik van 1 tot 250 ms of in het bereik van 1 tot 100 ms; in combinatie met de volgende opties:In one embodiment, the predetermined period is a value in the range of 1 to 250 ms or in the range of 1 to 100 ms; in combination with the following options:

* waarbij het dummy-bewegingsbericht een horizontale verplaatsingswaarde heeft in het bereik van -5 tot +5 en een verticale verplaatsingswaarde heeft in het bereik van -5 tot +5; of * waarbij het dummy-bewegingsbericht een horizontale verplaatsingswaarde heeft in het bereik van -1 tot +1 en een verticale verplaatsingswaarde heeft in het bereik van -1 tot +1, of * waarbij het dummy-bewegingsbericht een horizontale verplaatsingswaarde heeft gelijk aan nul en een verticale verplaatsingswaarde heeft gelijk aan nul.* wherein the dummy movement message has a horizontal movement value in the range of -5 to +5 and a vertical movement value in the range of -5 to +5; or * wherein the dummy movement message has a horizontal movement value in the range of -1 to +1 and a vertical movement value in the range of -1 to +1, or * wherein the dummy movement message has a horizontal movement value equal to zero and a vertical displacement value equal to zero.

Het is een voordeel van het gebruik van een tamelijk kleine verplaatsingswaarde, teneinde de native muiscursor niet veel te bewegen. Hoe kleiner de verplaatsing, hoe beter.It is an advantage of using a rather small displacement value, in order not to move the native mouse cursor much. The smaller the displacement, the better.

De vooraf bepaalde periode is een periode in het bereik van 1 ms tot 250 ms, of in het bereik van 5 ms tot 200 ms, en kan bijvoorbeeld gelijk zijn aan ongeveer 8 ms, of ongeveer 16 ms, of ongeveer 24 ms, of ongeveer 32 ms, of ongeveer 40 ms, of ongeveer 48 ms, of ongeveer 56 ms, of ongeveer 64 ms, of ongeveer 72 ms, of ongeveer 80 ms, of ongeveer 88 ms, of ongeveer 96 ms, of ongeveer 104 ms, of ongeveer 112 ms, of ongeveer 120 ms, of ongeveer 128 ms, of ongeveer 136 ms, of ongeveer 144 ms, of ongeveer 152 ms, of ongeveer 160 ms, of ongeveer 168 ms, of ongeveer 176 ms, of ongeveer 184 ms, of ongeveer 192 ms, of ongeveer 200 ms, of ongeveer 208 ms, of ongeveer 216 ms, of ongeveer 224 ms, of ongeveer 232 ms, of ongeveer 240 ms, of ongeveer 248 ms. Ongeveer 8 ms is een gebruikelijk tijd tussen twee HID-boodschappen, dus een vertraging van ongeveer 8 ms zou betekenen dat het dummy-bewegingsbericht en het knop-ingedrukt-bericht in twee aangrenzende tijdslots verzonden worden.The predetermined period is a period in the range of 1 ms to 250 ms, or in the range of 5 ms to 200 ms, and may be, for example, equal to about 8 ms, or about 16 ms, or about 24 ms, or about 32 ms, or about 40 ms, or about 48 ms, or about 56 ms, or about 64 ms, or about 72 ms, or about 80 ms, or about 88 ms, or about 96 ms, or about 104 ms, or about 112 ms, or about 120 ms, or about 128 ms, or about 136 ms, or about 144 ms, or about 152 ms, or about 160 ms, or about 168 ms, or about 176 ms, or about 184 ms, or about 192 ms, or about 200 ms, or about 208 ms, or about 216 ms, or about 224 ms, or about 232 ms, or about 240 ms, or about 248 ms. About 8 ms is a usual time between two HID messages, so a delay of about 8 ms would mean that the dummy motion message and the button-pressed message are sent in two adjacent time slots.

In een uitvoeringsvorm is de besturingseenheid geconfigureerd voor het zenden van een daaropvolgend dummy-bewegingsbericht na een daaropvolgende detectie van het indrukken van de ten minste één knop, of na een daaropvolgende detectie van het draaien van de ten minste één scrollwiel, waarbij het dummy-bewegingsbericht verplaatsingswaardes omvat zodanig gekozen dat een cumulatieve horizontale verplaatsing en een cumulatieve verticale verplaatsing een waarde is in het bereik van -5 tot +5, of in het bereik van -1 tot +1.In one embodiment, the control unit is configured to send a subsequent dummy motion message after a subsequent detection of pressing the at least one button, or after a subsequent detection of turning the at least one scroll wheel, the dummy motion message displacement values includes chosen such that a cumulative horizontal displacement and a cumulative vertical displacement is a value in the range of -5 to +5, or in the range of -1 to +1.

BE2017/5896BE2017 / 5896

Eenvoudig gesteld, in plaats van hetzelfde dummy-bewegingsbericht te zenden telkens wanneer op de ten minste één knop wordt geklikt, bijvoorbeeld met (dx=+l en dy=0), is het beter een ander dummy-bewegingsbericht te zenden de volgende keer dat op de knop wordt geklikt, bijvoorbeeld met verplaatsingswaardes dx, dy in de tegengestelde richting, bijvoorbeeld met (dx=-l en dy=0).Simply put, instead of sending the same dummy motion message every time the at least one button is clicked, for example with (dx = + 1 and dy = 0), it is better to send another dummy motion message the next time that the button is clicked, for example with displacement values dx, dy in the opposite direction, for example with (dx = -l and dy = 0).

Het is een voordeel van deze uitvoeringsvorm dat de aanwijspositie niet wegdrijft, zelfs indien de knop meermaals geklikt wordt.It is an advantage of this embodiment that the pointer position does not float away, even if the button is clicked several times.

Hetzelfde effect kan ook verkregen worden door geen dummyberichten met een dummyverplaatsing heen en weer te zenden, maar door het zenden van dummyberichten met een dummyverplaatsing die een kleine lus vormen.The same effect can also be obtained by not sending dummy messages back and forth with a dummy displacement, but by sending dummy messages with a dummy displacement that form a small loop.

In een uitvoeringsvorm omvat de aanwijsinrichting verder een RF-zendontvanger verbonden met de besturingseenheid, en is de besturingseenheid verder geconfigureerd voor het zenden van berichten naar een computerinrichting en voor het ontvangen van berichten van de computerinrichting via de genoemde RF-zendontvanger, optioneel via een dongel verbonden met de computerinrichting.In one embodiment, the pointing device further comprises an RF transceiver connected to the control unit, and the control unit is further configured to send messages to a computer device and to receive messages from the computer device via said RF transceiver, optionally via a dongle connected to the computer device.

Deze uitvoeringsvorm is gericht op een draadloze aanwijsinrichting, zoals bijv, een draadloze muis.This embodiment is directed to a wireless pointing device, such as, for example, a wireless mouse.

De berichten kunnen ontvangen worden door een interne RF-zendontvanger aanwezig binnen de computerinrichting, of via een externe RF-zendontvanger, ook gekend als een dongel. De dongel kan een mannelijke USB-connector hebben om aangesloten te worden in een vrouwelijke USB-gleuf van een computerinrichting.The messages can be received by an internal RF transceiver present within the computer device, or via an external RF transceiver, also known as a dongle. The dongle can have a male USB connector to be connected into a female USB slot of a computer device.

In een uitvoeringsvorm is de aanwijsinrichting een USB HID-klasse apparaat of is compatibel met USB HID-klasse apparaten.In one embodiment, the pointing device is a USB HID class device or is compatible with USB HID class devices.

Volgens een 5de aspect verschaft de onderhavige uitvinding ook een computersysteem omvattende een computerinrichting volgens het derde aspect; en een eerste en een tweede aanwijsinrichting volgens het vierde aspect; en optioneel ook een weergave-inrichting; en optioneel ook een toetsenbord.According to a 5th aspect, the present invention also provides a computer system comprising a computer device according to the third aspect; and a first and a second pointing device according to the fourth aspect; and optionally also a display device; and optionally also a keyboard.

In een uitvoeringsvorm van dit computersysteem zijn de eerste en de tweede aanwijsinrichting USB HID-klasse apparaten of zijn compatibel met USB HID-klasse apparaten; en omvat de computerinrichting ten minste een eerste USB-poort voor verbinding met de eerste aanwijsinrichting, en een tweede USB-poort voor verbinding met de tweede aanwijsinrichting.In one embodiment of this computer system, the first and second pointing devices are USB HID class devices or are compatible with USB HID class devices; and the computer device comprises at least a first USB port for connection to the first pointing device, and a second USB port for connection to the second pointing device.

Volgens een 6de aspect verschaft de onderhavige uitvinding ook een set van onderdelen omvattende: een computerprogrammaproduct volgens het tweede aspect; en twee aanwijsinrichtingen volgens het vierde aspect.According to a 6th aspect, the present invention also provides a set of components comprising: a computer program product according to the second aspect; and two indicating devices according to the fourth aspect.

Deze set van onderdelen (of pakket) kan zeer geschikt zijn voor gebruikers die reeds een computerinrichting hebben met een besturingssysteem en een toetsenbord en een weergavescherm.This set of parts (or package) can be very suitable for users who already have a computer device with an operating system and a keyboard and a display screen.

BE2017/5896BE2017 / 5896

Door gebruik te maken van het computerprogrammaproduct van het tweede aspect in combinatie met twee speciale aanwijsinrichtingen, wordt het risico van het ongewild klikken of scrollen op de verkeerde positie sterk gereduceerd, zonder dat de gebruiker de aanwijsinrichting fysiek moet bewegen vóór het klikken of het scrollen.By using the computer program product of the second aspect in combination with two special pointing devices, the risk of accidental clicking or scrolling in the wrong position is greatly reduced, without the user having to physically move the pointing device before clicking or scrolling.

Volgens een 7de aspect verschaft de onderhavige uitvinding een hub, omvattende: een eerste interface om te communiceren met een eerste aanwijsinrichting, en een tweede interface om te communiceren met een tweede aanwijsinrichting, en een derde interface om te communiceren met een computerinrichting; en een besturingseenheid verbonden met de eerste interface en aangepast voor het ontvangen van eerste berichten van de eerste aanwijsinrichting; waarbij de besturingseenheid verbonden is met de tweede interface en aangepast is voor het ontvangen van tweede berichten van de tweede aanwijsinrichting; waarbij de besturingseenheid verbonden is met de derde interface en aangepast is voor het verzenden van de eerste en tweede berichten naar de computerinrichting;According to a 7th aspect, the present invention provides a hub, comprising: a first interface to communicate with a first pointing device, and a second interface to communicate with a second pointing device, and a third interface to communicate with a computer device; and a control unit connected to the first interface and adapted to receive first messages from the first pointing device; wherein the control unit is connected to the second interface and adapted to receive second messages from the second pointing device; wherein the control unit is connected to the third interface and adapted to send the first and second messages to the computer device;

en waarbij de besturingseenheid verder is aangepast voor:and wherein the control unit is further adapted for:

* bij ontvangst van een knop-ingedrukt-bericht van de eerste aanwijsinrichting via de eerste interface, om (eerst) een eerste dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het knop-ingedrukt-bericht te zenden naar de computerinrichting via de derde interface;* upon receipt of a button-pressed message from the first pointing device via the first interface, to (first) send a first dummy movement message to the computer device via the third interface, and to press the button-pressed a predetermined period later; send message to the computer device via the third interface;

* bij ontvangst van een knop-ingedrukt-bericht van de tweede aanwijsinrichting via de tweede interface, om een tweede dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het knop-ingedrukt-bericht te zenden naar de computerinrichting via de derde interface.* upon receipt of a button-pressed message from the second pointing device via the second interface, to send a second dummy motion message to the computer device via the third interface, and to send the button-pressed message later a predetermined period to the computer device via the third interface.

Of met andere woorden uitgedrukt, op deze wijze voorkomt de hub dat de berichtenstroom die verzonden wordt naar de computerinrichting een knop-ingedrukt-bericht of een scrollwielrotatiebericht van de eerste aanwijsinrichting bevat, voorafgegaan door een bericht van de tweede aanwijsinrichting, en omgekeerd.Or in other words, in this way the hub prevents the message stream being sent to the computer device from containing a button-pressed message or a scroll wheel rotation message from the first pointing device preceded by a message from the second pointing device, and vice versa.

Deze hub is in het bijzonder geschikt voor gebruik in combinatie met een werkwijze volgens het eerste aspect, of in combinatie met een computerprogrammaproduct van het tweede aspect, of in combinatie met een computerinrichting volgens het derde aspect, alhoewel de hub ook gebruikt kan worden met andere applicaties met dubbele muis ondersteuning, bijvoorbeeld opvoedkundige games of dergelijke, niet geconfigureerd in doorklikmodus.This hub is particularly suitable for use in combination with a method according to the first aspect, or in combination with a computer program product of the second aspect, or in combination with a computer device according to the third aspect, although the hub can also be used with other applications with dual mouse support, for example educational games or the like, not configured in click-through mode.

Met eerste/tweede dummy-bewegingsbericht wordt bedoeld een dummy-bewegingsbericht geformatteerd alsof het verzonden werd door de eerste/tweede aanwijsinrichting.By first / second dummy motion message is meant a dummy motion message formatted as if it was sent by the first / second pointing device.

Het gebruik van deze hub biedt ten minste dezelfde voordelen als het gebruik van de speciale aanwijsinrichtingen volgens het vierde aspect, en kan in sommige uitvoeringsvormen zelfs verdereThe use of this hub offers at least the same advantages as the use of the special pointing devices according to the fourth aspect, and may in some embodiments even further

BE2017/5896 voordelen bieden, omdat de hub de berichten van andere aanwijsinrichtingen kan zien (en optioneel blokkeren of vertragen of wijzigen).BE2017 / 5896 offer advantages, because the hub can see the messages from other pointing devices (and optionally block or delay or change).

In een uitvoeringsvorm is de besturingseenheid verder aangepast voor:In one embodiment, the control unit is further adapted for:

* bij ontvangst van een drukknop-losgelaten-bericht van de eerste aanwijsinrichting via de eerste interface, om een eerste dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het drukknop-losgelaten-bericht te zenden naar de computerinrichting via de derde interface;* upon receipt of a push button release message from the first pointing device via the first interface, to send a first dummy motion message to the computer device via the third interface, and to send the push button release message a predetermined period later to the computer device via the third interface;

* bij ontvangst van een drukknop-losgelaten-bericht van de tweede aanwijsinrichting via de tweede interface, om een tweede dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het drukknop-losgelaten-bericht te zenden naar de computerinrichting via de derde interface.* upon receipt of a push button release message from the second pointing device via the second interface, to send a second dummy motion message to the computer device via the third interface, and to send the push button release message a predetermined period later to the computer device via the third interface.

Deze hub is in het bijzonder voordelig wanneer gebruikt in combinatie met een overlaywerkwijze die een positiebijwerkingsroutine heeft (zoals weergegeven bijvoorbeeld in FIG. 18b) waarbij bewegingsberichten vanuit één aanwijsinrichting niet eenvoudig worden genegeerd, maar verwerkt worden zelfs indien een knop van de andere aanwijsinrichting is ingedrukt.This hub is particularly advantageous when used in conjunction with an overlay method that has a position updating routine (as shown, for example, in FIG. 18b) in which motion messages from one pointing device are not simply ignored, but are processed even if a button of the other pointing device is pressed .

In een uitvoeringsvorm is de besturingseenheid verder aangepast voor:In one embodiment, the control unit is further adapted for:

* bij ontvangst van een scrollwiel-rotatie-bericht van de eerste aanwijsinrichting via de eerste interface, om een eerste dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het scrollwiel-rotatie-bericht te zenden naar de computerinrichting via de derde interface;* upon receipt of a scroll wheel rotation message from the first pointing device via the first interface, to send a first dummy movement message to the computer device via the third interface, and to send the scroll wheel rotation message a predetermined period later to the computer device via the third interface;

* bij ontvangst van een scrollwiel-rotatie-bericht van de tweede aanwijsinrichting via de tweede interface, om een tweede dummy-bewegingsbericht te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode later het scrollwiel-rotatie-bericht te zenden naar de computerinrichting via de derde interface.* upon receipt of a scroll wheel rotation message from the second pointing device via the second interface, to send a second dummy movement message to the computer device via the third interface, and to send the scroll wheel rotation message a predetermined period later to the computer device via the third interface.

In een uitvoeringsvorm is de besturingseenheid aangepast voor:In one embodiment the control unit is adapted for:

* bij ontvangst van een eerste knop-ingedrukt-bericht, het bepalen of een meest recent bewegingsgerelateerd of knopgerelateerd of scrollwielbericht verzonden naar de computerinrichting via de derde interface een aan de eerste aanwijsinrichting gerelateerd bericht was, en indien het resultaat van deze test waar is, het verzenden van het eerste knop-ingedrukt-bericht naar de computerinrichting via de derde interface zonder voorafgaande transmissie van een dummybewegingsbericht, en indien het resultaat van deze test onwaar is, het zenden van een eerste dummybewegingsbericht naar de computerinrichting via de derde interface, en een vooraf bepaalde periode later het zenden van het eerste knop-ingedrukt-bericht naar de computerinrichting via de derde interface;* upon receiving a first button-pressed message, determining whether a most recent motion-related or button-related or scroll-wheel message sent to the computer device via the third interface was a message related to the first pointing device, and if the result of this test is true, sending the first button-pressed message to the computer device via the third interface without prior transmission of a dummy movement message, and if the result of this test is false, sending a first dummy movement message to the computer device through the third interface, and a predetermined period of time sending the first button-pressed message to the computer device via the third interface;

* bij ontvangst van een tweede knop-ingedrukt-bericht, het bepalen of een meest recent bewegingsgerelateerd of knopgerelateerd of scrollwielbericht verzonden naar de computerinrichting* upon receipt of a second button-pressed message, determining whether a most recent motion-related or button-related or scroll wheel message sent to the computer device

BE2017/5896 via de derde interface een aan de tweede aanwijsinrichting gerelateerd bericht was, en indien het resultaat van deze test waar is, het verzenden van het tweede knop-ingedrukt-bericht naar de computerinrichting via de derde interface zonder voorafgaande transmissie van een dummybewegingsbericht, en indien het resultaat van deze test onwaar is, het zenden van een tweede dummy-bewegingsbericht naar de computerinrichting via de derde interface, en een vooraf bepaalde periode later het zenden van het tweede knop-ingedrukt-bericht naar de computerinrichting via de derde interface;BE2017 / 5896 via the third interface was a message related to the second pointing device, and if the result of this test is true, sending the second button-pressed message to the computer device via the third interface without prior transmission of a dummy movement message, and if the result of this test is false, sending a second dummy motion message to the computer device via the third interface, and a predetermined period later sending the second button-pressed message to the computer device through the third interface;

* bij ontvangst van een eerste scrollwiel-rotatie-bericht, het bepalen of een meest recent bewegingsgerelateerd of knopgerelateerd of scrollwielbericht verzonden naar de computerinrichting via de derde interface een aan de eerste aanwijsinrichting gerelateerd bericht was, en indien het resultaat van deze test waar is, het verzenden van het eerste scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface zonder voorafgaande transmissie van een dummybewegingsbericht, en indien het resultaat van deze test onwaar is, het zenden van een eerste dummybewegingsbericht naar de computerinrichting via de derde interface, en een vooraf bepaalde periode later het zenden van het eerste scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface;* upon receipt of a first scroll wheel rotation message, determining whether a most recent motion related or button related or scroll wheel message sent to the computer device via the third interface was a message related to the first pointing device, and if the result of this test is true, sending the first scroll wheel rotation message to the computer device via the third interface without prior transmission of a dummy motion message, and if the result of this test is false, sending a first dummy motion message to the computer device through the third interface, and a predetermined period of time sending the first scroll wheel rotation message to the computer device via the third interface;

* bij ontvangst van een tweede scrollwiel-rotatie-bericht, het bepalen of een meest recent bewegingsgerelateerd of knopgerelateerd of scrollwielbericht verzonden naar de computerinrichting via de derde interface een aan de tweede aanwijsinrichting gerelateerd bericht was, en indien het resultaat van deze test waar is, het verzenden van het tweede scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface zonder voorafgaande transmissie van een dummybewegingsbericht, en indien het resultaat van deze test onwaar is, het zenden van een tweede dummy-bewegingsbericht naar de computerinrichting via de derde interface, en een vooraf bepaalde periode later het zenden van het tweede scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface.* upon receipt of a second scroll wheel rotation message, determining whether a most recent motion-related or button-related or scroll-wheel message sent to the computer device via the third interface was a message related to the second pointing device, and if the result of this test is true, sending the second scroll wheel rotation message to the computer device via the third interface without prior transmission of a dummy movement message, and if the result of this test is false, sending a second dummy movement message to the computer device through the third interface, and a predetermined period of time later sending the second scroll wheel rotation message to the computer device via the third interface.

In eenvoudige termen uitgedrukt, wanneer een knop-ingedrukt-bericht aankomt, verifieert de hub of het meest recent bericht verzonden naar de computerinrichting van dezelfde aanwijsinrichting kwam, en indien dat het geval is, dan kan het knop-ingedrukt-bericht verzonden worden zonder eerst een dummy-bewegingsbericht te zenden, anders verstuurt de hub eerst een dummy-bewegingsbericht en verstuurt enige tijd later het knop-ingedrukt-bericht.Expressed in simple terms, when a button-pressed message arrives, the hub verifies whether the most recent message sent to the computer device came from the same pointing device, and if so, the button-pressed message can be sent without first send a dummy motion message, otherwise the hub first sends a dummy motion message and sends the button-pressed message some time later.

Dit kan gezien worden als een verbeterde versie van de hierboven beschreven hub, omdat dat een dummy-bewegingsbericht niet altijd onvoorwaardelijk wordt verzonden, maar slechts verzonden wordt indien nodig.This can be seen as an improved version of the hub described above, because a dummy motion message is not always sent unconditionally, but is only sent if necessary.

In een uitvoeringsvorm onderhoudt de besturingseenheid verder een eerste knoptoestandsvariable als indicatie of een knop van de eerste aanwijsinrichting ingedrukt is, en eenIn one embodiment, the control unit further maintains a first button state variable as an indication of whether a button of the first pointing device is depressed, and a

BE2017/5896 tweede knoptoestandsvariable als indicatie of een knop van de tweede aanwijsinrichting ingedrukt is; en is de besturingseenheid verder geconfigureerd voor:BE2017 / 5896 second button state variable as an indication whether a button of the second pointing device is pressed; and the control unit is further configured for:

* bij ontvangst van een eerste bewegingsbericht van de eerste aanwijsinrichting, het testen of de tweede knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het eerste bewegingsbericht, en indien het resultaat van deze test ONWAAR is, het verzenden van het eerste bewegingsbericht naar de computerinrichting via de derde interface;* upon receipt of a first motion message from the first pointing device, testing whether the second button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the first motion message, and if the result of this test is FALSE, sending the first motion message to the computer device via the third interface;

* bij ontvangst van een tweede bewegingsbericht van de tweede aanwijsinrichting, het testen of de eerste knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het tweede bewegingsbericht, en indien het resultaat van deze test ONWAAR is, het verzenden van het tweede bewegingsbericht naar de computerinrichting via de derde interface;* upon receipt of a second motion message from the second pointing device, testing whether the first button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the second motion message, and if the result of this test is FALSE, sending the second motion message to the computer device via the third interface;

* bij ontvangst van een eerste scrollwiel-rotatie-bericht van de eerste aanwijsinrichting, het testen of de tweede knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het eerste scrollwiel-rotatie-bericht, en indien het resultaat van deze test ONWAAR is, het verzenden van het eerste scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface;* upon receipt of a first scroll wheel rotation message from the first pointing device, testing whether the second button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the first scroll wheel rotation message, and if the result of this test is FALSE, sending the first scroll wheel rotation message to the computer device via the third interface;

* bij ontvangst van een tweede scrollwiel-rotatie-bericht van de tweede aanwijsinrichting, het testen of de eerste knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het tweede scrollwiel-rotatie-bericht, en indien het resultaat van deze test ONWAAR is, het verzenden van het tweede scrollwiel-rotatie-bericht naar de computerinrichting via de derde interface;* upon receipt of a second scroll wheel rotation message from the second pointing device, testing whether the first button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the second scroll wheel rotation message, and if the result of this test is FALSE, sending the second scroll wheel rotation message to the computer device via the third interface;

* bij ontvangst van een eerste knop-ingedrukt-bericht van de eerste aanwijsinrichting, het testen of de tweede knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het eerste knop-ingedrukt-bericht, en indien het resultaat van deze test ONWAAR is, het uitvoeren van de volgende stappen:* upon receipt of a first button-pressed message from the first pointing device, testing whether the second button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the first button-pressed message, and if the result of this test is FALSE, perform the following steps:

- het instellen van de eerste knoptoestandsvariabele op WAAR,- setting the first button state variable to TRUE,

- het zenden van een eerste dummy-bewegingsbericht naar de computerinrichting via de derde interface,- sending a first dummy movement message to the computer device via the third interface,

- en een vooraf bepaalde periode later, het zenden van het eerste knop-ingedrukt-bericht naar de computerinrichting via de derde interface;and a predetermined period later, sending the first button-pressed message to the computer device via the third interface;

* bij ontvangst van een eerste drukknop-losgelaten-bericht van de eerste aanwijsinrichting, het testen of de tweede knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het eerste drukknop-losgelaten-bericht, en indien het resultaat van deze test ONWAAR is, het uitvoeren van de volgende stap:* upon receiving a first push-release message from the first pointing device, testing whether the second button-state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the first push-release message, and if the result of this test is FALSE, perform the following step:

- het instellen van de eerste knoptoestandsvariabele op ONWAAR,- setting the first button state variable to FALSE,

- het zenden van het eerste drukknop-losgelaten-bericht naar de computerinrichting via de derde interface;- sending the first push-release message to the computer device via the third interface;

ηη

ΒΕ2017/5896 * bij ontvangst van een tweede knop-ingedrukt-bericht van de tweede aanwijsinrichting, het testen of de eerste knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het tweede knop-ingedrukt-bericht, en indien het resultaat van deze test ONWAAR is, het uitvoeren van de volgende stappen:172017/5896 * upon receipt of a second button-pressed message from the second pointing device, testing whether the first button-state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the second button-pressed message , and if the result of this test is FALSE, perform the following steps:

- het instellen van de tweede knoptoestandsvariabele op WAAR,- setting the second button state variable to TRUE,

- het zenden van een tweede dummy-bewegingsbericht naar de computerinrichting via de derde interface,- sending a second dummy movement message to the computer device via the third interface,

- en een vooraf bepaalde periode later, het zenden van het tweede knop-ingedrukt-bericht naar de computerinrichting via de derde interface;and a predetermined period later, sending the second button-pressed message to the computer device via the third interface;

* bij ontvangst van een tweede drukknop-losgelaten-bericht van de tweede aanwijsinrichting, het testen of de eerste knoptoestandsvariabele WAAR is, en indien het resultaat van deze test WAAR is, het negeren of vertragen van het tweede drukknop-losgelaten-bericht, en indien het resultaat van deze test ONWAAR is, het uitvoeren van de volgende stap:* upon receipt of a second push button release message from the second pointing device, testing whether the first button state variable is TRUE, and if the result of this test is TRUE, ignoring or delaying the second push button release message, and if the result of this test is FALSE, perform the following step:

- het instellen van de tweede knoptoestandsvariabele op ONWAAR;- setting the second button state variable to FALSE;

- het zenden van het tweede drukknop-losgelaten-bericht naar de computerinrichting via de derde interface.- sending the second push button release message to the computer device via the third interface.

In eenvoudige termen uitgedrukt, deze hub houdt bij of de ten minste één knop van de eerste en tweede aanwijsinrichting ingedrukt is, en indien dat het geval is, het negeren van berichten verzonden door de andere aanwijsinrichting, zoals bijvoorbeeld weergegeven in FIG. 26 en FIG. 27.Expressed in simple terms, this hub keeps track of whether the at least one button of the first and second pointing devices is pressed, and if so, ignoring messages sent by the other pointing device, such as shown in FIG. 26 and FIG. 27.

In een uitvoeringsvorm is de vooraf bepaalde periode een waarde in het bereik van 1 tot 250 ms of in het bereik van 2 tot 100 ms; en heeft het dummy-bewegingsbericht een horizontale verplaatsingswaarde in het bereik van -5 tot +5 en een verticale verplaatsingswaarde in het bereik van -5 tot +5; of heeft het dummy-bewegingsbericht een horizontale verplaatsingswaarde in het bereik van -1 tot +1 en een verticale verplaatsingswaarde in het bereik van -1 tot +1; of heeft het dummybewegingsbericht een horizontale verplaatsingswaarde gelijk aan nul en heeft een verticale verplaatsingswaarde gelijk aan nul.In one embodiment, the predetermined period is a value in the range of 1 to 250 ms or in the range of 2 to 100 ms; and the dummy movement message has a horizontal movement value in the range of -5 to +5 and a vertical movement value in the range of -5 to +5; or the dummy movement message has a horizontal movement value in the range of -1 to +1 and a vertical movement value in the range of -1 to +1; or the dummy movement message has a horizontal movement value equal to zero and has a vertical movement value equal to zero.

Dit biedt dezelfde voordelen als een aanwijsinrichting volgens het vierde aspect die dezelfde of overeenkomstige kenmerken heeft.This offers the same advantages as a pointing device according to the fourth aspect which has the same or similar characteristics.

In een uitvoeringsvorm is de besturingseenheid geconfigureerd voor het zenden van daaropvolgend eerste dummy-bewegingsberichten met verplaatsingswaardes zodanig gekozen dat een eerste cumulatieve horizontale verplaatsing en een eerste cumulatieve verticale verplaatsing waardes zijn in het bereik van -5 tot +5, of in het bereik van -4 tot +4, of in het bereik van -3 tot +3, of in het bereik van -2 tot +2, of in het bereik van -1 tot +1; en is de besturingseenheid geconfigureerd voor het zenden van daaropvolgende tweede dummy-bewegingsberichten met verplaatsingswaardes zodanig gekozen dat een tweede cumulatieve horizontale verplaatsing en een tweede cumulatieve verticaleIn one embodiment, the control unit is configured to send subsequent first dummy motion messages with displacement values selected such that a first cumulative horizontal displacement and a first cumulative vertical displacement are values in the range of -5 to +5, or in the range of - 4 to +4, or in the range of -3 to +3, or in the range of -2 to +2, or in the range of -1 to +1; and the control unit is configured to send subsequent second dummy motion messages with displacement values selected such that a second cumulative horizontal displacement and a second cumulative vertical displacement

BE2017/5896 verplaatsing waardes zijn in het bereik van -5 tot +5, of in het bereik van -4 tot +4, of in het bereik van 3 tot +3, of in het bereik van -2 tot +2, of in het bereik van -1 tot +1.BE2017 / 5896 displacement values are in the range of -5 to +5, or in the range of -4 to +4, or in the range of 3 to +3, or in the range of -2 to +2, or in the range from -1 to +1.

Dit biedt dezelfde voordelen als een aanwijsinrichting volgens het vierde aspect die dezelfde of overeenkomstige kenmerken heeft.This offers the same advantages as a pointing device according to the fourth aspect which has the same or similar characteristics.

In een uitvoeringsvorm omvat de eerste interface een eerste connector aansluitbaar op de eerste aanwijsinrichting, en omvat de tweede interface een tweede connector aansluitbaar op de tweede aanwijsinrichting, en omvat de derde interface een derde connector aansluitbaar op de computerinrichting.In one embodiment, the first interface comprises a first connector connectable to the first pointing device, and the second interface comprises a second connector connectable to the second pointing device, and the third interface comprises a third connector connectable to the computer device.

In een voorkeursuitvoeringsvorm zijn de eerste en tweede connector vrouwelijke USBconnectoren, en is de derde connector een mannelijke USB-connector.In a preferred embodiment, the first and second connectors are female USB connectors, and the third connector is a male USB connector.

In een uitvoeringsvorm omvat de hub verder en eerste RF-zendontvanger voor het ontvangen van berichten van en het verzenden van berichten naar de eerste aanwijsinrichting; en omvat de hub verder een tweede RF-zendontvanger voor het ontvangen van berichten van en het verzenden van berichten naar de tweede aanwijsinrichting, waarbij de tweede RF-zendontvanger dezelfde is als de eerste RF-zendontvanger, of een separate RF-zendontvanger is; en omvat de eerste interface de eerste RF-zendontvanger; en omvat de tweede interface de tweede RF-zendontvanger; en omvat de derde interface een connector aansluitbaar op de computerinrichting.In one embodiment, the hub further comprises a first RF transceiver for receiving messages from and sending messages to the first pointing device; and the hub further comprises a second RF transceiver for receiving messages from and transmitting messages to the second pointing device, wherein the second RF transceiver is the same as the first RF transceiver, or is a separate RF transceiver; and the first interface includes the first RF transceiver; and the second interface includes the second RF transceiver; and the third interface comprises a connector connectable to the computer device.

In een uitvoeringsvorm zijn de eerste en tweede zendontvanger één enkele RFzendontvanger, in staat om te communiceren met zowel de eerste als de tweede aanwijsinrichting, en is de derde interface een mannelijk USB-connector.In one embodiment, the first and second transceiver are a single RF transceiver, capable of communicating with both the first and the second pointing device, and the third interface is a male USB connector.

In een uitvoeringsvorm zijn de eerste en tweede zendontvanger twee fysiek afzonderlijk RFzendontvangers, en is de derde interface een mannelijk USB-connector.In one embodiment, the first and second transceivers are two physically separate RF transceivers, and the third interface is a male USB connector.

Zulk een hub wordt typisch een dongel genoemd.Such a hub is typically called a dongle.

Er wordt opgemerkt dat de eerste en tweede aanwijsinrichting in dit geval ook een RFzendontvanger nodig hebben, maar ze hebben niet het hierboven beschreven speciale gedrag nodig. Zij kunnen klassieke RF-aanwijsinrichtingen zijn.It is noted that in this case the first and second pointing devices also need an RF transceiver, but they do not need the special behavior described above. They can be conventional RF pointing devices.

Volgens een 8ste aspect verschaft de onderhavige uitvinding een computersysteem omvattende: een computerinrichting volgens het derde aspect; en twee aanwijsinrichtingen; en een hub volgens het zevende aspect, waarbij de hub werkzaam verbonden is tussen de computerinrichting en de eerste en tweede aanwijsinrichting; en optioneel ook een weergave-inrichting; en optioneel ook een toetsenbord.According to an 8th aspect, the present invention provides a computer system comprising: a computer device according to the third aspect; and two pointing devices; and a hub according to the seventh aspect, wherein the hub is operatively connected between the computer device and the first and second pointing device; and optionally also a display device; and optionally also a keyboard.

Met dit computersysteem kan de gebruiker beide handen gebruiken om twee zichtbare voorwerpen te bewegen.With this computer system, the user can use both hands to move two visible objects.

Dit computersysteem verschaft een technische oplossing voor een technisch probleem, welke gebruikt kan worden om de cognitieve last van de gebruiker aanzienlijk te verminderen, en om snellerThis computer system provides a technical solution to a technical problem, which can be used to significantly reduce the cognitive burden of the user, and to speed up

BE2017/5896 tussen verschillende locaties op een scherm te wisselen, hetgeen in het bijzonder relevant is voor het vertalers of reviewers of proeflezers die vaak heen en weer wisselen tussen twee documenten.BE2017 / 5896 between different locations on a screen, which is particularly relevant for translators or reviewers or proofreaders who often switch back and forth between two documents.

Volgens een 9de aspect verschaft de onderhavige uitvinding ook een set van onderdelen omvattende: een computerprogrammaproduct volgens het tweede aspect, en een hub volgens het zevende aspect.According to a 9th aspect, the present invention also provides a set of components comprising: a computer program product according to the second aspect, and a hub according to the seventh aspect.

Ook deze set van onderdelen (of pakket) kan zeer geschikt zijn voor gebruikers die reeds een computerinrichting hebben met een besturingssysteem en een toetsenbord en een weergavescherm en twee muisinrichtingen. Door gebruik te maken van het computerprogrammaproduct van het tweede aspect in combinatie met de speciale hub, wordt het risico van ongewild klikken of scrollen op de verkeerde positie sterk gereduceerd of zelfs volledig geëlimineerd, zonder dat de gebruiker de aanwijsinrichting fysiek moet bewegen alvorens te klikken ofte scrollen.This set of components (or package) can also be very suitable for users who already have a computer device with a control system and a keyboard and a display screen and two mouse devices. By using the computer program product of the second aspect in combination with the special hub, the risk of accidental clicking or scrolling in the wrong position is greatly reduced or even completely eliminated, without the user having to physically move the pointing device before clicking or clicking. scroll.

In een uitvoeringsvorm kan de set van onderdelen verder één of twee aanwijsinrichtingen omvatten.In one embodiment, the set of parts may further comprise one or two indicating devices.

Deze set van onderdelen (of pakket) kan beter geschikt zijn voor gebruikers die reeds die een computerinrichting hebben met een besturingssysteem en een toetsenbord en een weergavescherm en één enkele muisinrichting.This set of parts (or package) may be better suited for users who already have a computer device with an operating system and a keyboard and a display screen and a single mouse device.

Volgens een 10de aspect verschaft de onderhavige uitvinding een weergave-inrichting omvattende: een ingangspoort voor het ontvangen van eerste grafische beeldgegevens vanuit een computerinrichting; een invoerbuffer voor het opslaan van minstens een gedeelte van de eerste grafische beeldgegevens ontvangen aan de ingangspoort; een processor verbonden met het invoerbuffer, en aangepast voor het genereren van tweede grafische beeldgegevens op basis van de eerste grafische beeldgegevens, en voor het opslaan van minstens een gedeelte van de tweede grafische beeldgegevens in een framebuffer; waarbij het framebuffer werkzaam verbonden is met de processor, en aangepast is voor het opslaan van minstens een gedeelte van tweede grafische beeldgegevens die op een displaypaneel getoond dienen te worden; een uitleescircuit voor het lezen van minstens een gedeelte van de tweede grafische beeldgegevens uit het framebuffer, en voor het zenden van het ten minste een gedeelte naar een displaypaneel; het displaypaneel voor het genereren van een zichtbaar beeld overeenkomende met de tweede grafische beeldgegevens; waarbij de weergave-inrichting verder een bedrade en/of een draadloze interface omvat om te communiceren met een bedrade of een draadloze aanwijsinrichting; waarbij de processor (van de weergaveinrichting) verder aangepast is voor: * het communiceren met de aanwijsinrichting voor het ontvangen van verplaatsingsinformatie gerelateerd aan bewegingen van de aanwijsinrichting; en * bijwerken een positie op basis van de ontvangen verplaatsingsinformatie; en * het genereren van een zichtbaar object; en * het genereren van de tweede grafische beeldgegevens door het overlayen van de eerste grafische beeldgegevens met het gegenereerde zichtbaar voorwerp op de genoemde positie.According to a 10th aspect, the present invention provides a display device comprising: an input port for receiving first graphic image data from a computer device; an input buffer for storing at least a portion of the first graphic image data received at the input port; a processor connected to the input buffer, and adapted to generate second graphic image data based on the first graphic image data, and to store at least a portion of the second graphic image data in a frame buffer; wherein the frame buffer is operatively connected to the processor, and adapted to store at least a portion of second graphic image data to be displayed on a display panel; a readout circuit for reading at least a portion of the second graphic image data from the frame buffer, and for sending the at least a portion to a display panel; the display panel for generating a visible image corresponding to the second graphic image data; wherein the display device further comprises a wired and / or a wireless interface for communicating with a wired or wireless pointing device; wherein the processor (of the display device) is further adapted for: * communicating with the pointing device to receive displacement information related to movements of the pointing device; and * update a position based on the received movement information; and * generating a visible object; and * generating the second graphic image data by overlaying the first graphic image data with the generated visible object at said position.

BE2017/5896BE2017 / 5896

In de praktijk zal het invoerbuffer op elk moment in de tijd typisch slechts een fractie opslaan van een videoframe vervat in de eerste grafische beeldgegevens (stroom), en zal het framebuffer op elk moment in de tijd typisch ten minste één gans veld opslaan (bijv, in een geïnterlaced videoweergavescherm, zoals een CRT-weergavescherm) of ten minste één gans frame (bijv, in een niet-geïnterlaced videoweergavescherm, zoals een LCD-weergavescherm).In practice, the input buffer will typically store only a fraction of a video frame contained in the first graphic image data (stream) at any time in time, and the frame buffer will typically store at least one entire field at any time in time (e.g., in an interlaced video display screen, such as a CRT display screen) or at least one whole frame (e.g., in a non-interlaced video display screen, such as an LCD display screen).

In sommige uitvoeringsvormen kan het framebuffer ten minste twee ganse velden of ten minste twee ganse frames opslaan, om het mogelijk maken dat de processor 4233 het volgende weer te geven veld of frame voorbereidt.In some embodiments, the frame buffer may store at least two entire fields or at least two entire frames to allow the processor 4233 to prepare the next field or frame to be displayed.

De aanwijsinrichting kan een HID-compatibele aanwijsinrichting zijn, bijv, een HIDcompatibele muisinrichting.The pointing device may be an HID-compatible pointing device, e.g., an HID-compatible mouse device.

Het invoerbuffer en het framebuffer kunnen deel uitmaken van een geheugencomponent vervat in de weergave-inrichting, hoewel ze als separate blokken getekend zijn in FIG. 42.The input buffer and the frame buffer may be part of a memory component contained in the display device, although they are shown as separate blocks in FIG. 42.

Deze weergave-inrichting biedt het voordeel dat het niet enkel het door de computerinrichting verschafte grafische beeld weergeeft, maar daarenboven ten minste één zichtbaar voorwerp verschaft, bijvoorbeeld met de vorm of gedaante van een pijl, of een hand, of een kleine lijn, of een grote lijn, of een vierkant, of een rechthoek, of een klein kruis, of een groot kruis, of elke andere geschikte vorm of gedaante, welk ten minste één zichtbaar voorwerp beweegbaar is door een aanwijsinrichting werkzaam verbonden met de weergave-inrichting in de plaats van met de computerinrichting.This display device has the advantage that it not only displays the graphic image provided by the computer device, but also provides at least one visible object, for example with the shape or shape of an arrow, or a hand, or a small line, or a large line, or a square, or a rectangle, or a small cross, or a large cross, or any other suitable shape or shape, which at least one visible object is movable by a pointing device operatively connected to the display device in place of with the computer device.

Zoals begrepen kan worden uit FIG. 41 in vergelijking met FIG. 5(a) en FIG. 5(b), lost het gebruik van deze speciale weergave-inrichting in samenhang met een klassieke computerinrichting eveneens het in FIG. 1 tot FIG. 3 weergegeven probleem op.As can be understood from FIG. 41 in comparison with FIG. 5 (a) and FIG. 5 (b), the use of this special display device in conjunction with a conventional computer device also solves the problem of FIG. 1 to FIG. 3 issue shown.

Hoewel retrospectief de oplossing voorgesteld in FIG. 41 en FIG. 42 eenvoudig te implementeren kan lijken, betekent dat niet dat deze uitvoeringsvorm een evidente oplossing is om het probleem van FIG. 1 tot FIG. 3 op te lossen. Er wordt in dit opzicht op gewezen dat er een wijdverbreid geloof bestaat dat een softwareoplossing altijd goedkoper is dan een hardware oplossing, vooral in consumentenelektronica, en daarom dat het probleem in de computerinrichting opgelost moet worden, in de plaats van in de weergave-inrichting.Although retrospectively the solution presented in FIG. 41 and FIG. 42 may seem easy to implement, does not mean that this embodiment is an obvious solution to the problem of FIG. 1 to FIG. 3 to solve. It is pointed out in this respect that there is a widespread belief that a software solution is always cheaper than a hardware solution, especially in consumer electronics, and therefore that the problem must be solved in the computer device, rather than in the display device.

De oplossing voorgesteld in FIG. 41 en FIG. 42 lost het probleem elegant op, bovendien zonder de CPU-belasting van de computerinrichting aanzienlijk te verhogen, en zonder de speciale overlayapplicatie te vereisen.The solution presented in FIG. 41 and FIG. 42 elegantly solves the problem, moreover without significantly increasing the CPU load of the computer device, and without requiring the special overlay application.

Het zichtbaar voorwerp kan een vooraf bepaald zichtbaar voorwerp zijn, of kan een bitmap hebben die uit een verwijderbaar geheugen is verkregen, bijvoorbeeld uit een memory-stick met een bestand dat de genoemde bitmap omvat. In zulk een uitvoeringsvorm kan de weergave-inrichting een verdere connector hebben voor invoeging van een niet-vluchtige-geheugenkaart of een flash-kaart of een memory-stick of dergelijke.The visible object may be a predetermined visible object, or may have a bitmap obtained from a removable memory, for example from a memory stick with a file comprising said bitmap. In such an embodiment, the display device may have a further connector for inserting a non-volatile memory card or a flash card or a memory stick or the like.

BE2017/5896BE2017 / 5896

In een uitvoeringsvorm omvat de interface voor het communiceren met de aanwijsinrichting een fysieke connector, meerbepaald een USB-connector.In one embodiment, the interface for communicating with the pointing device comprises a physical connector, in particular a USB connector.

Een fysieke connector maakt rechtstreekse verbinding mogelijk van de aanwijsinrichting met de weergave-inrichting.A physical connector allows direct connection of the pointing device to the display device.

In een uitvoeringsvorm omvat de interface voor het communiceren met een aanwijsinrichting een draadloze RF-zendontvanger, bijv, een Bluetooth-zendontvanger. De RF-ontvanger kan geïntegreerd zijn in de weergave-inrichting, of kan extern verbonden zijn met de weergave-inrichting, bijvoorbeeld in de vorm van een zogenoemde dongel, bijv, een USB-dongel. De dongel kan verbonden zijn met de fysieke connector van de weergave-inrichting.In one embodiment, the interface for communicating with a pointing device comprises a wireless RF transceiver, e.g., a Bluetooth transceiver. The RF receiver can be integrated in the display device, or can be externally connected to the display device, for example in the form of a so-called dongle, e.g. a USB dongle. The dongle can be connected to the physical connector of the display device.

In een uitvoeringsvorm omvat of bestaat het gegenereerde zichtbaar voorwerp uit monochrome pixels, en is de processor aangepast voor het overlayen van de eerste grafische beeldgegevens met de monochrome pixels door het vervangen van pixelwaardes van de eerste grafische beeldgegevens door een waarde van de monochrome pixels.In one embodiment, the generated visible object comprises or consists of monochrome pixels, and the processor is adapted to overlay the first graphic image data with the monochrome pixels by replacing pixel values of the first graphic image data with a value of the monochrome pixels.

Het is een voordeel van deze uitvoeringsvorm dat de bewerking van het overlayen zo eenvoudig kan zijn als het vervangen van pixelwaarden van het eerste grafische beeld door pixelwaarden van het zichtbaar voorwerp. Het resultaat is een niet-transparant, zichtbaar beweegbaar voorwerp geoverlayd over de eerste grafische beeldgegevens.It is an advantage of this embodiment that the overlay operation can be as simple as replacing pixel values of the first graphic image with pixel values of the visible object. The result is a non-transparent, visible movable object overlaid over the first graphic image data.

In een uitvoeringsvorm omvat of bestaat het gegenereerd zichtbaar voorwerp uit monochrome pixels, en is de processor aangepast voor het overlayen van de eerste grafische beeldgegevens met de monochrome pixels door alfamengen, bijvoorbeeld gebruikmakend van een alfatransparantie in het bereik van 5% tot 95% of van 25% tot 75%.In one embodiment, the generated visible object comprises or consists of monochrome pixels, and the processor is adapted to overlay the first graphic image data with the monochrome pixels by alpha gene, for example using an alpha transparency in the range of 5% to 95% or of 25% to 75%.

Het is een voordeel van deze uitvoeringsvorm dat de bewerking van het overlayen alfamengen betreft, welke een mature techniek is, en hoewel technisch enigszins meer complex, is het resultaat een semi-transparant zichtbaar beweegbaar voorwerp geoverlayd over de eerste grafische beeldgegevens. Dit biedt het voordeel voor de gebruiker dat hij doorheen het beweegbaar voorwerp kan zien, en dat minder nauwkeurige positionering vereist is bijvoorbeeld bij het onderlijnen van alfanumeriek informatie, hetgeen bijzonder nuttig is aangezien deze aanwijsinrichting typisch door een niet-dominante hand bediend wordt.It is an advantage of this embodiment that the overlay alpha gene processing involves a mature technique, and although technically somewhat more complex, the result is a semi-transparent visible movable object overlaid over the first graphic image data. This offers the user the advantage that he can see through the movable object, and that less accurate positioning is required, for example, when underlining alphanumeric information, which is particularly useful since this pointing device is typically operated by a non-dominant hand.

In specifieke uitvoeringsvormen is de alfatransparantie 1/8 of 2/8=1/4=25% of 3/8 of 4/8=1/2=50% of 5/8 of 6/8=3/4 of 7/8, in welk geval het mengen uitgevoerd kan worden door eenvoudige optel- en schuifbewerkingen, en dus geen vermenigvuldigings- of delingsbewerking vereist. Deze werking kan eenvoudig in hardware uitgevoerd worden, bijvoorbeeld in programmeerbare logica, en vereist geen krachtige DSP.In specific embodiments, the alpha transparency is 1/8 or 2/8 = 1/4 = 25% or 3/8 or 4/8 = 1/2 = 50% or 5/8 or 6/8 = 3/4 or 7 / 8, in which case the mixing can be performed by simple addition and shift operations, and thus no multiplication or division operation is required. This operation can easily be performed in hardware, for example in programmable logic, and does not require a powerful DSP.

In een uitvoeringsvorm omvat het gegenereerde zichtbaar voorwerp een eerste veelheid volledig transparante pixels en een tweede veelheid ondoorzichtige pixels, waarbij de eerste veelheid pixels en de tweede veelheid ondoorzichtige pixels geïnterleaved (afwisselend gepositioneerd) zijn, enIn one embodiment, the generated visible object comprises a first plurality of fully transparent pixels and a second plurality of opaque pixels, the first plurality of pixels and the second plurality of opaque pixels being interleaved (alternately positioned), and

BE2017/5896 de processor aangepast is voor het overlayen van pixels van de eerste grafische beeldgegevens met volledig transparante pixels door de pixelwaarden van de eerste grafische beeldgegevens ongewijzigd te laten, en voor het overlayen van pixels van de eerste grafische beeldgegevens met ondoorzichtige pixels door de pixelwaarden van het eerste grafisch beeld te vervangen door de pixelwaarden van het zichtbaar voorwerp.BE2017 / 5896 the processor is adapted to overlay pixels of the first graphic image data with completely transparent pixels by leaving the pixel values of the first graphic image data unchanged, and to overlay pixels of the first graphic image data with opaque pixels by the pixel values of the first graphic image by the pixel values of the visible object.

In deze uitvoeringsvorm heeft het zichtbaar voorwerp een zogenoemde geperforeerde bitmap zoals in meer detail is uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage.In this embodiment, the visible object has a so-called perforated bitmap as explained in more detail in the pending perforated bitmap application.

Op deze wijze is het beweegbaar voorwerp (spatiaal) gedeeltelijk doorzichtig, wat de visuele indruk geeft van semi-transparant te zijn, maar geïmplementeerd op een wijze die niet het mengen van kleurwaardes vereist. Het biedt dezelfde zichtbare voordelen voor de gebruiker zonder een snelle DSP te vereisen.In this way, the movable object (spatially) is partially transparent, giving the visual impression of being semi-transparent, but implemented in a manner that does not require mixing of color values. It offers the same visible benefits to the user without requiring a fast DSP.

In een uitvoeringsvorm zijn de eerste veelheid pixels en de tweede veelheid pixels van het zichtbaar voorwerp georganiseerd in een regelmatig patroon volgens één van de volgende opties: i) het regelmatig patroon is een 2x2 patroon, en precies één uit vier pixels is volledig transparant; ii) het regelmatig patroon is een 2x2 patroon en precies twee uit vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels bij voorkeur diagonaal tegenover elkaar gelegen zijn; iii) het regelmatig patroon is een 2x2 patroon en precies drie uit vier pixels zijn volledig transparant.In one embodiment, the first plurality of pixels and the second plurality of pixels of the visible object are organized in a regular pattern according to one of the following options: i) the regular pattern is a 2x2 pattern, and exactly one of four pixels is completely transparent; ii) the regular pattern is a 2x2 pattern and exactly two of four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite each other; iii) the regular pattern is a 2x2 pattern and exactly three out of four pixels are completely transparent.

Testen hebben aangetoond dat deze patronen een zeer mooi (esthetisch aantrekkelijk) resultaat verschaffen, zonder de eenvoudige leesbaarheid van onderliggende alfanumerieke informatie aanzienlijk te verminderen.Tests have shown that these patterns provide a very beautiful (aesthetically attractive) result, without significantly reducing the easy readability of underlying alphanumeric information.

In een uitvoeringsvorm omvat of bestaat het gegenereerde zichtbaar voorwerp uit monochrome of ondoorzichtige pixels, en is de processor aangepast voor * het genereren van de tweede grafische beeldgegevens op eerste momenten in de tijd door het overlayen van de eerste grafische beeldgegevens met gegevens van het zichtbaar voorwerp van het gegenereerde voorwerp; en voor * het genereren van de tweede grafische beeldgegevens op tweede momenten in de tijd door het selecteren van de eerste grafische beeldgegevens zonder gebruik te maken van de gegevens van het zichtbaar voorwerp.In one embodiment, the generated visible object comprises or consists of monochrome or opaque pixels, and the processor is adapted to generate the second graphic image data at first moments in time by overlaying the first graphic image data with data of the visible object of the generated object; and for * generating the second graphic image data at second moments in time by selecting the first graphic image data without using the data of the visible object.

De eerste momenten in de tijd kunnen overeenstemmen met even genummerde frames (T=2xN, waarbij N een geheel getal is dat het framenummer voorstelt), en de tweede momenten in de tijd kunnen overeenstemmen met oneven genummerde frames (T=2xN+l). In eenvoudige termen uitgedrukt, betekent dit dat op even momenten in de tijd eerste grafische beeldgegevens geoverlayd worden met het beweegbaar voorwerp, en dat op oneven momenten in de tijd de eerste grafische beeldgegevens getoond worden zoals ze zijn, zonder geoverlayd te worden met het beweegbaar voorwerp, waardoor een tijd-gemultiplexte overlay verkregen wordt, wat de visuele indruk geeft van semi-transparant te zijn.The first moments in time can correspond to even-numbered frames (T = 2xN, where N is an integer representing the frame number), and the second moments in time can correspond to odd-numbered frames (T = 2xN + 1). Expressed in simple terms, this means that the first graphic image data is overlaid with the movable object at even moments in time, and that the first graphic image data is displayed as it is at odd moments in time, without being overlapped with the movable object. , resulting in a time-multiplexed overlay, which gives the visual impression of being semi-transparent.

BE2017/5896BE2017 / 5896

In een uitvoeringsvorm is de processor verder aangepast voor het aanpassen van de verplaatsingswaardes zodanig dat onder vooraf bepaalde voorwaarden, de verplaatsing wordt aangepast om een horizontale verplaatsing te zijn.In one embodiment, the processor is further adapted to adjust the displacement values such that under predetermined conditions, the displacement is adjusted to be a horizontal displacement.

Het is een belangrijk voordeel van dit kenmerk dat het de gebruiker kan helpen bewegingen van ten minste één van de aanwijsinrichtingen beter aan te sturen, bij het uitvoeren van bepaalde taken. Dit is in het bijzonder nuttig voor de aanwijsinrichting die door de niet-dominante hand wordt gestuurd bij het uitvoeren van op tekst gebaseerde taken (zoals het lezen van een tekstdocument, het proeflezen van een vertaling, het wijzen naar individuele woorden op eenzelfde lijn tijdens een Webinar of presentatie, enz.)It is an important advantage of this feature that it can help the user better control movements of at least one of the pointing devices when performing certain tasks. This is particularly useful for the pointing device controlled by the non-dominant hand when performing text-based tasks (such as reading a text document, proofreading a translation, pointing to individual words on the same line during a Webinar or presentation, etc.)

In een uitvoeringsvorm omvatten de vooraf bepaalde voorwaarden: het testen of een hoek of een hoekafstand tussen een verplaatsingsvector gedefinieerd door de verplaatsingswaardes en een horizontale lijn kleiner is dan een vooraf bepaalde hoek (bijvoorbeeld kleiner dan 30°, of kleiner dan 40°).In one embodiment, the predetermined conditions include: testing whether an angle or angular distance between a displacement vector defined by the displacement values and a horizontal line is less than a predetermined angle (e.g., less than 30 °, or less than 40 °).

In een uitvoeringsvorm omvat de vooraf bepaalde voorwaarden: het testen of een verhouding (rico) van de verticale verplaatsingswaarde en de horizontale verplaatsingswaarde kleiner is dan een vooraf bepaalde waarde.In one embodiment, the predetermined conditions include: testing whether a ratio (rico) of the vertical displacement value and the horizontal displacement value is less than a predetermined value.

In bepaalde uitvoeringsvormen kan de vooraf bepaalde waarde een constante waarde zijn, gekozen in het bereik van 0,2 tot 0,7, bijvoorbeeld gelijk aan ongeveer 0,2 of 0,25 of 0,3 of 0,33=1/3 of 0,35 of 0,40 of 0,50=1/2 of 0,60 of 0,66=2/3 of 0,7.In certain embodiments, the predetermined value may be a constant value selected in the range of 0.2 to 0.7, e.g. equal to about 0.2 or 0.25 or 0.3 or 0.33 = 1/3 or 0.35 or 0.40 or 0.50 = 1/2 or 0.60 or 0.66 = 2/3 or 0.7.

In andere uitvoeringsvormen kan de vooraf bepaalde waarde dynamisch worden aangepast, en kan bijvoorbeeld enigszins groter gekozen worden (bijvoorbeeld een waarde in het bereik van 0,5 tot 0,7) indien een amplitude van de horizontale verplaatsing dx groter is dan een vooraf bepaalde drempelwaarde, bijvoorbeeld abs(dx)>10, en kan enigszins kleiner gekozen worden (bijvoorbeeld een waarde in het bereik van 0,3 tot 0,5) indien een amplitude van de horizontale verplaatsing dx kleiner is dan of gelijk is aan de vooraf bepaalde drempelwaarde, bijvoorbeeld abs(dx)<=10.In other embodiments, the predetermined value may be dynamically adjusted, and may be selected, for example, slightly larger (e.g., a value in the range of 0.5 to 0.7) if an amplitude of the horizontal displacement dx is greater than a predetermined threshold value , for example abs (dx)> 10, and can be chosen to be slightly smaller (for example, a value in the range of 0.3 to 0.5) if an amplitude of the horizontal displacement dx is smaller than or equal to the predetermined threshold value , for example abs (dx) <= 10.

Volgens een 11de aspect verschaft de onderhavige uitvinding een computersysteem omvattende: een computerinrichting; en een eerste aanwijsinrichting verbonden met de computerinrichting; en een weergave-inrichting volgens het tiende aspect; en een tweede aanwijsinrichting verbonden met de weergave-inrichting.According to an 11th aspect, the present invention provides a computer system comprising: a computer device; and a first pointing device connected to the computer device; and a display device according to the tenth aspect; and a second pointing device connected to the display device.

Volgens een 12de aspect verschaft de onderhavige uitvinding een set van onderdelen omvattende: een computerprogrammaproduct volgens het tweede aspect; en een weergave-inrichting volgens het 10de aspect; en optioneel een muisinrichting aansluitbaar op de weergave-inrichting.According to a 12th aspect, the present invention provides a set of components comprising: a computer program product according to the second aspect; and a display device according to the 10th aspect; and optionally a mouse device connectable to the display device.

Volgens een 13de aspect verschaft de onderhavige uitvinding een video-adapterinrichting omvattende: een ingangspoort voor het ontvangen van eerste grafische beeldgegevens vanuit een computerinrichting; een invoerbuffer voor het opslaan van minstens een gedeelte van de eerste grafische beeldgegevens ontvangen aan de ingangspoort; een uitgangspoort voor het verschaffen vanAccording to a 13th aspect, the present invention provides a video adapter device comprising: an input port for receiving first graphic image data from a computer device; an input buffer for storing at least a portion of the first graphic image data received at the input port; an output port for providing

BE2017/5896 tweede grafische beeldgegevens aan een weergave-inrichting; een uitgangsbuffer voor het opslaan van minstens een gedeelte van de tweede grafische beeldgegevens die verschaft dienen te worden aan de uitgangspoort; een processor verbonden met het invoerbuffer en aangepast voor het genereren van tweede grafische beeldgegevens op basis van de eerste grafische beeldgegevens; en waarbij de video-adapterinrichting verder een bedrade en/of een draadloze interface omvat om te communiceren met een bedrade of een draadloze aanwijsinrichting; waarbij de processor verder is aangepast voor: * het communiceren met de aanwijsinrichting voor het ontvangen van verplaatsingsinformatie gerelateerd aan bewegingen van de aanwijsinrichting; * het bijwerken van een positie op basis van de ontvangen verplaatsingsinformatie; * het genereren van een zichtbaar voorwerp; * het genereren van de tweede grafische beeldgegevens door het overlayen van de eerste grafische beeldgegevens met het gegenereerde zichtbaar voorwerp op de genoemde positie.BE2017 / 5896 second graphic image data to a display device; an output buffer for storing at least a portion of the second graphic image data to be provided at the output port; a processor connected to the input buffer and adapted to generate second graphic image data based on the first graphic image data; and wherein the video adapter device further comprises a wired and / or a wireless interface for communicating with a wired or wireless pointing device; wherein the processor is further adapted for: * communicating with the pointing device to receive displacement information related to movements of the pointing device; * updating a position based on the received movement information; * generating a visible object; * generating the second graphic image data by overlaying the first graphic image data with the generated visible object at the said position.

Een framebuffer is niet absoluut vereist, bijvoorbeeld indien de uitgangsframefrequentie en de uitgangsframeresolutie dezelfde zijn als de ingangsframefrequentie en de ingangsframeresolutie, en het overlayen on-the-fly kan uitgevoerd worden, zoals weergegeven door pad P2 in FIG. 44.A frame buffer is not absolutely required, for example if the output frame frequency and the output frame resolution are the same as the input frame frequency and the input frame resolution, and the overlay on-the-fly can be performed, as represented by path P2 in FIG. 44.

In de praktijk zal het invoerbuffer typisch slechts een fractie opslaan van een videoframe vervat in de eerste grafische beeldgegevens (stroom) op een bepaald moment in de tijd, en zal het uitgangsbuffer typisch slechts een fractie opslaan van een videoframe vervat in de tweede grafische beeldgegevens (stroom) op een bepaald moment in tijd.In practice, the input buffer will typically store only a fraction of a video frame contained in the first graphic image data (stream) at a given time in time, and the output buffer will typically store only a fraction of a video frame contained in the second graphic image data ( current) at a certain point in time.

De aanwijsinrichting kan een HID-compatibele aanwijsinrichting zijn, bijv, een HIDcompatibele muisinrichting.The pointing device may be an HID-compatible pointing device, e.g., an HID-compatible mouse device.

Deze video-adapterinrichting biedt het voordeel dat het niet enkel het door de computerinrichting verschafte grafische beeld weergeeft, maar daarenboven ten minste één zichtbaar voorwerp verschaft, bijvoorbeeld met de vorm of gedaante van een pijl, of een hand, of een kleine lijn, of een grote lijn, of een vierkant, of een rechthoek, of een klein kruis, of een groot kruis, of een andere geschikte vorm of gedaante, welk ten minste één zichtbaar voorwerp beweegbaar is door een aanwijsinrichting werkzaam verbonden met de video-adapterinrichting in de plaats van met de computerinrichting.This video adapter device has the advantage that it not only displays the graphic image provided by the computer device, but also provides at least one visible object, for example with the shape or shape of an arrow, or a hand, or a small line, or a large line, or a square, or a rectangle, or a small cross, or a large cross, or other suitable shape or shape, which at least one visible object is movable by a pointing device operatively connected to the video adapter device in place of with the computer device.

Zoals begrepen kan worden uit FIG. 43 in vergelijking met FIG. 5(a) en FIG. 5(b), lost het gebruik van deze speciale video-adapterinrichting samen met een klassieke computerinrichting eveneens het in FIG. 1 tot FIG. 3 weergegeven probleem op.As can be understood from FIG. 43 compared to FIG. 5 (a) and FIG. 5 (b), the use of this special video adapter device together with a conventional computer device also solves the problem of FIG. 1 to FIG. 3 issue shown.

Hoewel retrospectief de oplossing voorgesteld in FIG. 43 en FIG. 44 eenvoudig te implementeren kan lijken, betekent dat niet dat deze uitvoeringsvorm een evidente oplossing is om het probleem van FIG. 1 tot FIG. 3 op te lossen. Er wordt in dit opzicht op gewezen dat er een wijdverbreid geloof bestaat dat een softwareoplossing altijd goedkoper is dan een hardware oplossing, vooral in consumentenelektronica, en daarom dat het probleem in de computerinrichting opgelost moet worden, in de plaats van in de weergave-inrichting.Although retrospectively the solution presented in FIG. 43 and FIG. 44 may seem easy to implement, it does not mean that this embodiment is an obvious solution to the problem of FIG. 1 to FIG. 3 to solve. It is pointed out in this respect that there is a widespread belief that a software solution is always cheaper than a hardware solution, especially in consumer electronics, and therefore that the problem must be solved in the computer device, rather than in the display device.

BE2017/5896BE2017 / 5896

De oplossing voorgesteld in FIG. 43 en FIG. 44 lost het probleem elegant op, bovendien zonder de CPU-belasting van de computerinrichting aanzienlijk te verhogen, en zonder de speciale overlayapplicatie te vereisen.The solution presented in FIG. 43 and FIG. 44 elegantly solves the problem, moreover without significantly increasing the CPU load of the computer device, and without requiring the special overlay application.

Het zichtbaar voorwerp kan een vooraf bepaald zichtbaar voorwerp zijn, of kan een bitmap hebben die uit een verwijderbaar geheugen is verkregen, bijvoorbeeld uit een memory-stick met een bestand dat de genoemde bitmap omvat. In zulke uitvoeringsvorm kan de video-adapterinrichting een verdere connector hebben voor het invoegen van een niet-vluchtige-geheugenkaart of een flash-kaart of een memory-stick of dergelijke.The visible object may be a predetermined visible object, or may have a bitmap obtained from a removable memory, for example from a memory stick with a file comprising said bitmap. In such an embodiment, the video adapter device may have a further connector for inserting a non-volatile memory card or a flash card or a memory stick or the like.

In een uitvoeringsvorm omvat de video-adapterinrichting verder: een framebuffer dat werkzaam verbonden is met de processor, en dat aangepast is voor het opslaan van minstens een gedeelte van de eerste grafische beeldgegevens ontvangen vanuit het invoerbuffer, en voor het opslaan van minstens een gedeelte van de tweede grafische gegevens die naar het uitgangsbuffer dienen verzonden te worden.In one embodiment, the video adapter device further comprises: a frame buffer operatively connected to the processor, and adapted to store at least a portion of the first graphic image data received from the input buffer, and to store at least a portion of the second graphic data to be sent to the output buffer.

In deze uitvoeringsvorm omvat de video-adapterinrichting een framebuffer, dat vervat kan zijn in een separate geheugencomponent, of in eenzelfde geheugencomponent die ook het invoerbuffer en/of het uitgangsbuffer omvat.In this embodiment, the video adapter device comprises a frame buffer, which may be contained in a separate memory component, or in the same memory component that also comprises the input buffer and / or the output buffer.

De gegevens stromen typisch van de ingangspoort via het invoerbuffer naar het framebuffer (pad Pla van FIG. 44), en van het framebuffer en via het uitgangsbuffer naar de uitgangspoort (pad Plb van FIG. 44). De overlay wordt typisch uitgevoerd door de processor door het lezen van gegevens van en/of het schrijven van gegevens naar het framebuffer (niet expliciet getoond in FIG. 44).The data typically flows from the input port via the input buffer to the frame buffer (path P1 of FIG. 44), and from the frame buffer and via the output buffer to the output port (path P1b of FIG. 44). The overlay is typically performed by the processor by reading data from and / or writing data to the frame buffer (not explicitly shown in FIG. 44).

Het framebuffer kan een volledig videoframe omvatten, of meer dan één videoframe, bijvoorbeeld ten minste twee videoframes, hetgeen bijvoorbeeld mogelijk maakt dat één video frame klaar is om uitgevoerd te worden via het uitgangsbuffer terwijl het andere videoframe wordt gegenereerd, op wijzen die op zich gekend zijn in de stand der techniek.The frame buffer may comprise a complete video frame, or more than one video frame, for example at least two video frames, which, for example, allows one video frame to be ready to be output via the output buffer while the other video frame is generated, in manners known per se are in the art.

In een uitvoeringsvorm omvat de interface voor het communiceren met de aanwijsinrichting een fysieke connector, meerbepaald een USB-connector.In one embodiment, the interface for communicating with the pointing device comprises a physical connector, in particular a USB connector.

Een fysieke connector maakt rechtstreekse verbinding van de aanwijsinrichting met de videoadapterinrichting mogelijk.A physical connector allows direct connection of the pointing device to the video adapter device.

In een uitvoeringsvorm omvat de interface voor het communiceren met een aanwijsinrichting een draadloze RF-zendontvanger, bijv, een Bluetooth-zendontvanger.In one embodiment, the interface for communicating with a pointing device comprises a wireless RF transceiver, e.g., a Bluetooth transceiver.

De RF-zendontvanger kan geïntegreerd zijn in de video-adapterinrichting, of kan extern verbonden zijn met de video-adapterinrichting, bijvoorbeeld in de vorm van een zogenoemde dongel, bijv, een USB dongel. De dongel kan verbonden zijn met de fysieke connector van de video-adapter.The RF transceiver may be integrated in the video adapter device, or may be externally connected to the video adapter device, for example in the form of a so-called dongle, e.g. a USB dongle. The dongle can be connected to the physical connector of the video adapter.

In een uitvoeringsvorm omvat of bestaat het gegenereerde zichtbaar voorwerp uit monochrome pixels, en is de processor aangepast voor het overlayen van de eerste grafischeIn one embodiment, the generated visible object comprises or consists of monochrome pixels, and the processor is adapted to overlay the first graphic

BE2017/5896 beeldgegevens met de monochrome pixels door het vervangen van pixelwaardes van de eerste grafische beeldgegevens door een waarde van de monochrome pixels.BE2017 / 5896 image data with the monochrome pixels by replacing pixel values of the first graphic image data with a value of the monochrome pixels.

Het is een voordeel van deze uitvoeringsvorm dat de bewerking van het overlayen zo eenvoudig kan zijn als het vervangen van pixelwaarden van het eerste grafische beeld door pixelwaarden van het zichtbaar voorwerp. Het resultaat is een niet-transparant, zichtbaar beweegbaar voorwerp geoverlayd over de eerste grafische beeldgegevens.It is an advantage of this embodiment that the overlay operation can be as simple as replacing pixel values of the first graphic image with pixel values of the visible object. The result is a non-transparent, visible movable object overlaid over the first graphic image data.

In een uitvoeringsvorm omvat of bestaat het gegenereerd zichtbaar voorwerp uit monochrome pixels, en is de processor aangepast voor het overlayen van de eerste grafische beeldgegevens met de monochrome pixels door alfamengen, bijvoorbeeld gebruikmakend van een alfatransparantie in het bereik van 5% tot 95% of van 25% tot 75%.In one embodiment, the generated visible object comprises or consists of monochrome pixels, and the processor is adapted to overlay the first graphic image data with the monochrome pixels by alpha gene, for example using an alpha transparency in the range of 5% to 95% or of 25% to 75%.

Het is een voordeel van deze uitvoeringsvorm dat de bewerking van het overlayen alfamengen betreft, welke een mature techniek is, en hoewel technisch enigszins meer complex, is het resultaat een semi-transparant zichtbaar beweegbaar voorwerp geoverlayd over de eerste grafische beeldgegevens. Dit biedt het voordeel voor de gebruiker dat hij doorheen het beweegbaar voorwerp kan zien, en dat minder nauwkeurige positionering vereist is bijvoorbeeld bij het onderlijnen van alfanumeriek informatie, hetgeen bijzonder nuttig is aangezien deze aanwijsinrichting typisch door een niet-dominante hand bediend wordt.It is an advantage of this embodiment that the overlay alpha gene processing involves a mature technique, and although technically somewhat more complex, the result is a semi-transparent visible movable object overlaid over the first graphic image data. This offers the user the advantage that he can see through the movable object, and that less accurate positioning is required, for example, when underlining alphanumeric information, which is particularly useful since this pointing device is typically operated by a non-dominant hand.

In specifieke uitvoeringsvormen is de alfatransparantie 1/8 of 2/8=1/4=25% of 3/8 of 4/8=1/2=50% of 5/8 of 6/8=3/4 of 7/8, in welk geval het mengen uitgevoerd kan worden door eenvoudige optel- en schuifbewerkingen, en dus geen vermenigvuldigings- of delingsbewerking vereist. Deze werking kan eenvoudig in hardware uitgevoerd worden, bijvoorbeeld in programmeerbare logica, en vereist geen krachtige DSP.In specific embodiments, the alpha transparency is 1/8 or 2/8 = 1/4 = 25% or 3/8 or 4/8 = 1/2 = 50% or 5/8 or 6/8 = 3/4 or 7 / 8, in which case the mixing can be performed by simple addition and shift operations, and thus no multiplication or division operation is required. This operation can easily be performed in hardware, for example in programmable logic, and does not require a powerful DSP.

In een uitvoeringsvorm omvat het gegenereerde zichtbaar voorwerp een eerste veelheid volledig transparante pixels en een tweede veelheid ondoorzichtige pixels, waarbij de eerste veelheid pixels en de tweede veelheid ondoorzichtige pixels geïnterleaved (afwisselend gepositioneerd) zijn, en is de processor aangepast voor het overlayen van pixels van de eerste grafische beeldgegevens met de volledig transparante pixels door de pixelwaarden van de eerste grafische beeldgegevens ongewijzigd te laten, en voor het overlayen van pixels van de eerste grafische beeldgegevens met ondoorzichtige pixels door het vervangen van de pixelwaarden van het eerste grafisch beeld met de pixelwaarden van het zichtbaar voorwerp.In one embodiment, the generated visible object comprises a first plurality of fully transparent pixels and a second plurality of opaque pixels, wherein the first plurality of pixels and the second plurality of opaque pixels are interleaved (alternately positioned), and the processor is adapted to overlay pixels of leaving the first graphic image data with the fully transparent pixels by the pixel values of the first graphic image data unchanged, and for overlaying pixels of the first graphic image data with opaque pixels by replacing the pixel values of the first graphic image with the pixel values of the visible object.

In deze uitvoeringsvorm heeft het zichtbaar voorwerp een zogenoemde geperforeerde bitmap zoals in meer detail is uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage.In this embodiment, the visible object has a so-called perforated bitmap as explained in more detail in the pending perforated bitmap application.

Op deze wijze is het beweegbaar voorwerp (spatiaal) gedeeltelijk doorzichtig, wat de visuele indruk geeft van semi-transparant te zijn, maar geïmplementeerd op een wijze die niet het mengenIn this way, the movable object (spatially) is partially transparent, giving the visual impression of being semi-transparent, but implemented in a manner that does not mix

BE2017/5896 van kleurwaardes vereist. Het biedt dezelfde zichtbare voordelen voor de gebruiker zonder een snelle DSP te vereisen.BE2017 / 5896 of color values required. It offers the same visible benefits to the user without requiring a fast DSP.

In een uitvoeringsvorm zijn de eerste veelheid pixels en de tweede veelheid pixels van het zichtbaar voorwerp georganiseerd in een regelmatig patroon volgens één van de volgende opties: i) het regelmatig patroon is een 2x2 patroon, en precies één uit vier pixels is volledig transparant; ii) het regelmatig patroon is een 2x2 patroon en precies twee uit vier pixels zijn volledig transparant, waarbij de twee volledig transparante pixels bij voorkeur diagonaal tegenover elkaar gelegen zijn; iii) het regelmatig patroon is een 2x2 patroon en precies drie uit vier pixels zijn volledig transparant.In one embodiment, the first plurality of pixels and the second plurality of pixels of the visible object are organized in a regular pattern according to one of the following options: i) the regular pattern is a 2x2 pattern, and exactly one of four pixels is completely transparent; ii) the regular pattern is a 2x2 pattern and exactly two of four pixels are completely transparent, the two fully transparent pixels preferably being diagonally opposite each other; iii) the regular pattern is a 2x2 pattern and exactly three out of four pixels are completely transparent.

Testen hebben aangetoond dat deze patronen een zeer mooi (esthetisch aantrekkelijk) resultaat verschaffen, zonder de eenvoudige leesbaarheid van onderliggende alfanumerieke informatie aanzienlijk te verminderen.Tests have shown that these patterns provide a very beautiful (aesthetically attractive) result, without significantly reducing the easy readability of underlying alphanumeric information.

In een uitvoeringsvorm omvat of bestaat het gegenereerde zichtbaar voorwerp uit monochrome of ondoorzichtige pixels, en is de processor aangepast voor * het genereren van de tweede grafische beeldgegevens op eerste momenten in de tijd door het overlayen van de eerste grafische beeldgegevens met gegevens van het zichtbaar voorwerp van het gegenereerde voorwerp; en voor * het genereren van de tweede grafische beeldgegevens op tweede momenten in de tijd door de pixelwaarden van de eerste grafische beeldgegevens te kopiëren zoals ze zijn.In one embodiment, the generated visible object comprises or consists of monochrome or opaque pixels, and the processor is adapted to generate the second graphic image data at first moments in time by overlaying the first graphic image data with data of the visible object of the generated object; and for * generating the second graphic image data at second moments in time by copying the pixel values of the first graphic image data as they are.

De eerste momenten in de tijd kunnen overeenstemmen met even genummerde frames (T=2xN, waarbij N een geheel getal is dat het framenummer voorstelt), en de tweede momenten in de tijd kunnen overeenstemmen met oneven genummerde frames (T=2xN+l). In eenvoudige termen uitgedrukt, betekent dit dat op even momenten in de tijd eerste grafische beeldgegevens geoverlayd worden met het beweegbaar voorwerp, en dat op oneven momenten in de tijd de eerste grafische beeldgegevens getoond worden zoals ze zijn, zonder geoverlayd te worden met het beweegbaar voorwerp, waardoor een tijd-gemultiplexte overlay verkregen wordt, wat de visuele indruk geeft van semi-transparant te zijn.The first moments in time can correspond to even-numbered frames (T = 2xN, where N is an integer representing the frame number), and the second moments in time can correspond to odd-numbered frames (T = 2xN + 1). Expressed in simple terms, this means that the first graphic image data is overlaid with the movable object at even moments in time, and that the first graphic image data is displayed as it is at odd moments in time, without being overlapped with the movable object. , resulting in a time-multiplexed overlay, which gives the visual impression of being semi-transparent.

In een uitvoeringsvorm is de processor verder aangepast voor het aanpassen van de verplaatsingswaardes zodanig dat onder vooraf bepaalde voorwaarden, de verplaatsing wordt aangepast om een horizontale verplaatsing te zijn.In one embodiment, the processor is further adapted to adjust the displacement values such that under predetermined conditions, the displacement is adjusted to be a horizontal displacement.

Het is een belangrijk voordeel van dit kenmerk dat het de gebruiker kan helpen bewegingen van ten minste één van de aanwijsinrichtingen beter aan te sturen, bij het uitvoeren van bepaalde taken. Dit is in het bijzonder nuttig voor de aanwijsinrichting die door de niet-dominante hand wordt gestuurd bij het uitvoeren van op tekst gebaseerde taken (zoals het lezen van een tekstdocument, het proeflezen van een vertaling, het wijzen naar individuele woorden op eenzelfde lijn tijdens een Webinar of presentatie, enz.)It is an important advantage of this feature that it can help the user better control movements of at least one of the pointing devices when performing certain tasks. This is particularly useful for the pointing device controlled by the non-dominant hand when performing text-based tasks (such as reading a text document, proofreading a translation, pointing to individual words on the same line during a Webinar or presentation, etc.)

In een uitvoeringsvorm omvatten de vooraf bepaalde voorwaarden: het testen of een hoekafstand tussen een verplaatsingsvector gedefinieerd door de verplaatsingswaardes (dx, dy) en eenIn one embodiment, the predetermined conditions include: testing whether an angular distance between a displacement vector defined by the displacement values (dx, dy) and a

BE2017/5896 horizontale lijn kleiner is dan een vooraf bepaalde hoek, (bijvoorbeeld kleiner dan 30°, of kleiner dan 40°) of waarbij de vooraf bepaalde voorwaarden het testen omvat of een verhouding (van de verticale verplaatsingswaarde en de horizontale verplaatsingswaarde kleiner is dan een vooraf bepaalde waarde.BE2017 / 5896 horizontal line is less than a predetermined angle, (for example less than 30 °, or less than 40 °) or where the predetermined conditions include testing whether a ratio (of the vertical displacement value and the horizontal displacement value is less than a predetermined value.

In bepaalde uitvoeringsvormen kan de vooraf bepaalde waarde een constante waarde zijn, gekozen in het bereik van 0,2 tot 0,75, bijvoorbeeld gelijk aan ongeveer 0,2=1/5 of 0,25=1/4 of 0,3 of 0,33=1/3 of 0,35 of 0,40 of 0,50=1/2 of 0,60 of 0,66=2/3 of 0,75=3/4.In certain embodiments, the predetermined value may be a constant value selected in the range of 0.2 to 0.75, e.g. equal to about 0.2 = 1/5 or 0.25 = 1/4 or 0.3 or 0.33 = 1/3 or 0.35 or 0.40 or 0.50 = 1/2 or 0.60 or 0.66 = 2/3 or 0.75 = 3/4.

In andere uitvoeringsvormen kan de vooraf bepaalde waarde dynamisch worden aangepast, en kan bijvoorbeeld enigszins groter gekozen worden (bijvoorbeeld een waarde in het bereik van 0,5 tot 0,7) indien een amplitude van de horizontale verplaatsing dx groter is dan een vooraf bepaalde drempelwaarde, bijvoorbeeld abs(dx)>10, en kan enigszins kleiner gekozen worden (bijvoorbeeld een waarde in het bereik van 0,3 tot 0,5) indien een amplitude van de horizontale verplaatsing dx kleiner is dan of gelijk is aan de vooraf bepaalde drempelwaarde, bijvoorbeeld abs(dx)<=10.In other embodiments, the predetermined value may be dynamically adjusted, and may be selected, for example, slightly larger (e.g., a value in the range of 0.5 to 0.7) if an amplitude of the horizontal displacement dx is greater than a predetermined threshold value , for example abs (dx)> 10, and can be chosen to be slightly smaller (for example, a value in the range of 0.3 to 0.5) if an amplitude of the horizontal displacement dx is smaller than or equal to the predetermined threshold value , for example abs (dx) <= 10.

Volgens een 14de aspect verschaft de onderhavige uitvinding een computersysteem omvattende: een computerinrichting; en een eerste aanwijsinrichting verbonden met de computerinrichting; en een weergave-inrichting; en een video-adapterinrichting volgens het dertiende aspect, werkzaam verbonden tussen de computerinrichting en de weergave-inrichting; en een tweede aanwijsinrichting werkzaam verbonden met de video-adapterinrichting.According to a 14th aspect, the present invention provides a computer system comprising: a computer device; and a first pointing device connected to the computer device; and a display device; and a video adapter device according to the thirteenth aspect, operatively connected between the computer device and the display device; and a second pointing device operatively connected to the video adapter device.

De computerinrichting kan een klassieke computerinrichting zijn, of een computerinrichting volgens het tweede aspect. De weergave-inrichting kan een klassieke weergave-inrichting zijn, of een weergave-inrichting volgens het 10de aspect.The computer device can be a conventional computer device, or a computer device according to the second aspect. The display device can be a classical display device, or a display device according to the 10th aspect.

Volgens een 15de aspect verschaft de onderhavige uitvinding een set van onderdelen omvattende: een computerprogrammaproduct volgens het tweede aspect; en een videoadapterinrichting volgens het dertiende aspect.According to a 15th aspect, the present invention provides a set of components comprising: a computer program product according to the second aspect; and a video adapter device according to the thirteenth aspect.

In een uitvoeringsvorm omvat de set verder een aanwijsinrichting, operationeel aansluitbaar op de video-adapterinrichting.In one embodiment, the set further comprises a pointing device, operably connectable to the video adapter device.

De onderhavige uitvinding verschaft ook een set van onderdelen omvattende: een videoadapterinrichting volgens het dertiende aspect; en een aanwijsinrichting, operationeel aansluitbaar op de video-adapterinrichting.The present invention also provides a set of components comprising: a video adapter device according to the thirteenth aspect; and a pointing device operably connectable to the video adapter device.

Specifieke en voorkeursdragende aspecten van de onderhavige uitvinding zijn opgenomen in de aangehechte onafhankelijke en afhankelijke conclusies. Kenmerken van de afhankelijke conclusies kunnen worden gecombineerd met kenmerken van de onafhankelijke conclusies en met kenmerken van andere afhankelijke conclusies zoals aangewezen en niet enkel zoals uitdrukkelijk in de conclusies naar voor gebracht.Specific and preferred aspects of the present invention are included in the appended independent and dependent claims. Features of the dependent claims can be combined with features of the independent claims and with features of other dependent claims as appropriate and not merely as explicitly stated in the claims.

BE2017/5896BE2017 / 5896

Deze en andere aspecten van de uitvinding zullen duidelijk worden aan de hand van en verhelderd worden met verwijzing naar de hiernavolgende beschreven uitvoeringsvorm(en).These and other aspects of the invention will be apparent from and clarified with reference to the embodiment (s) described below.

Korte beschrijving van de tekeningenBrief description of the drawings

FIG. 1 toont een voorbeeld van hoe een vertaler of proeflezer een origineel document en een vertaling daarvan kan vergelijken, gebruikmakende van een klassiek computersysteem.FIG. 1 shows an example of how a translator or proofreader can compare an original document and a translation thereof, using a classical computer system.

FIG. 2 toont een voorbeeld van hoe een persoon die een elektronisch tekstdocument aan het lezen en het editeren het of wijzigen of het becommentariëren is, zijn vinger kan gebruiken om de positie te onthouden waar hij aan het lezen is, wanneer hij de muiscursor naar de menubalk beweegt om een gereedschap of een kleur, of dergelijke, te kiezen, gebruikmakende van een klassiek computersysteem.FIG. 2 shows an example of how a person reading and editing an electronic text document or editing or commenting on it can use his finger to remember the position he is reading when moving the mouse cursor to the menu bar to select a tool or color, or the like, using a conventional computer system.

FIG. 3 toont een voorbeeld van hoe een persoon die één enkel tekstdocument aan het lezen of het editeren is, zijn vinger kan gebruiken om naar één positie in het document te wijzen, en de muiscursor kan gebruiken om naar een andere positie binnen dat één document te wijzen, gebruikmakende van een klassiek computersysteem.FIG. 3 shows an example of how a person reading or editing a single text document can use his finger to point to one position in the document, and use the mouse cursor to point to another position within that one document , using a traditional computer system.

FIG. 4 toont een voorbeeld van hoe een persoon een audiobestand kan transcriberen, gebruikmakende van een klassiek computersysteem. FIG. 4(a) toont hoe een audiospeler kan gestart worden om een audiofragment af te spelen. FIG. 4(b) toont hoe de audiospeler tijdelijk gestopt is, en tekst in een tekstdocument getypt wordt.FIG. 4 shows an example of how a person can transcribe an audio file using a conventional computer system. FIG. 4 (a) shows how an audio player can be started to play an audio clip. FIG. 4 (b) shows how the audio player is temporarily stopped, and text is typed into a text document.

FIG. 5 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij een computerinrichting verbonden is met een eerste en met een tweede aanwijsinrichting, en een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor (bijv, een witte pijl) verschaft, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste aanwijspositie in overeenstemming met bewegingen van de eerste aanwijsinrichting, en onderhoudt een tweede aanwijspositie in overeenstemming met bewegingen van de tweede aanwijsinrichting, en past de positie van de native muisaanwijzer/muiscursor aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de eerste aanwijsinrichting. Daarenboven verschaft de overlay-applicatie een tweede zichtbaar voorwerp (bijv, een lijn of rechthoek) die beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 5(a) toont bewegingen van het eerste zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 5(b) toont bewegingen van het tweede zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 5(c) is een schematische voorstelling van een zogenoemde Z-orde van vensters of beeldvlakken en een cursorvlak zoals gebruikt kan worden in het computersysteem van FIG. 5(a). FIG. 5(d) is een hoogniveau flowdiagram dat een computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding illustreert, zoals gebruikt kan worden in het computersysteem van FIG. 5(a). FIG. 5(e) is een meer gedetailleerd flowdiagram dat een computer-geïmplementeerde werkwijzeFIG. 5 shows a computer system according to an embodiment of the present invention, wherein a computer device is connected to a first and a second pointing device, and performs an O / S and GUI that provides a native mouse pointer / cursor (e.g., a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first pointing position in accordance with movements of the first pointing device, and maintains a second pointing position in accordance with movements of the second pointing device, and adjusts the position of the native mouse pointer / mouse cursor, e.g., overwrites it, according to with movements of the first pointing device. In addition, the overlay application provides a second visible object (e.g., a line or rectangle) that moves in accordance with movements of the second pointing device. FIG. 5 (a) shows movements of the first visible object in accordance with movements of the first pointing device. FIG. 5 (b) shows movements of the second visible object in accordance with movements of the second pointing device. FIG. 5 (c) is a schematic representation of a so-called Z-order of windows or image planes and a cursor plane as can be used in the computer system of FIG. 5 (a). FIG. 5 (d) is a high-level flow diagram illustrating a computer-implemented method according to an embodiment of the present invention, as may be used in the computer system of FIG. 5 (a). FIG. 5 (e) is a more detailed flow diagram that is a computer-implemented method

BE2017/5896 volgens een uitvoeringsvorm van de onderhavige uitvinding illustreert, zoals gebruikt kan worden in het computersysteem van FIG. 5(a). FIG. 5(f) toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten, gesitueerd in het computersysteem van FIG. 5(a). FIG. 5(g) toont enkele regels pseudo-code die een gedeelte illustreren van een vereenvoudigde berichtenverwerker zoals gebruikt kan worden door de overlay-applicatie. FIG. 5(h) toont enkele regels pseudo-code die een gedeelte illustreren van een vereenvoudigde voorwerp-herpositioneringsroutine zoals gebruikt kan worden door de overlay-applicatie om het tweede zichtbaar voorwerp te herpositioneren.BE2017 / 5896 according to an embodiment of the present invention, as can be used in the computer system of FIG. 5 (a). FIG. 5 (f) shows a simplified high-level block diagram of hardware and software components located in the computer system of FIG. 5 (a). FIG. 5 (g) shows some lines of pseudo-code illustrating a portion of a simplified message processor as can be used by the overlay application. FIG. 5 (h) shows some lines of pseudo code illustrating a portion of a simplified object repositioning routine as may be used by the overlay application to reposition the second visible object.

FIG. 6 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij een computerinrichting verbonden is met een eerste en met een tweede aanwijsinrichting, en een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor (bijv, een witte pijl) verschaft, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste aanwijspositie in overeenstemming met bewegingen van de eerste aanwijsinrichting, en onderhoudt een tweede aanwijspositie in overeenstemming met bewegingen van de tweede aanwijsinrichting, en past de positie van de native muisaanwijzer/muiscursor aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de eerste aanwijsinrichting. Daarenboven verschaft de overlay-applicatie een tweede zichtbaar voorwerp (bijv, een lijn of rechthoek) die beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting, en verschaft een derde zichtbaar voorwerp, dat beweegt in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 6(a) toont bewegingen van het eerste en derde zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 6(b) toont bewegingen van het tweede zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 6(c) toont enkele regels pseudo-code die een gedeelte illustreren van een vereenvoudigde positie-bijwerkingsroutine, zoals gebruikt kan worden door de overlay-applicatie om het tweede en het derde zichtbaar voorwerp te herpositioneren.FIG. 6 shows a computer system according to an embodiment of the present invention, wherein a computer device is connected to a first and a second pointing device, and performs an O / S and GUI that provides a native mouse pointer / cursor (e.g., a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first pointing position in accordance with movements of the first pointing device, and maintains a second pointing position in accordance with movements of the second pointing device, and adjusts the position of the native mouse pointer / mouse cursor, e.g., overwrites it, according to with movements of the first pointing device. In addition, the overlay application provides a second visible object (e.g., a line or rectangle) that moves in accordance with movements of the second pointing device, and provides a third visible object, which moves in accordance with movements of the first pointing device. FIG. 6 (a) shows movements of the first and third visible object in accordance with movements of the first pointing device. FIG. 6 (b) shows movements of the second visible object in accordance with movements of the second pointing device. FIG. 6 (c) shows some lines of pseudo code illustrating a portion of a simplified position updating routine, such as can be used by the overlay application to reposition the second and third visible object.

FIG. 7 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij een computerinrichting verbonden is met een eerste en met een tweede aanwijsinrichting, en een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor (bijv, een witte pijl) verschaft, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste aanwijspositie in overeenstemming met bewegingen van de eerste aanwijsinrichting, en onderhoudt een tweede aanwijspositie in overeenstemming met bewegingen van de tweede aanwijsinrichting, en past de positie van de native muisaanwijzer/-cursor aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de aanwijsinrichting die het meest recent is bewogen. Daarenboven verschaft de overlay-applicatie een tweede zichtbaar voorwerp (bijv, een lijn of rechthoek) die beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting, en verschaft een derde zichtbaar voorwerp, dat beweegt in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 7(a) toont bewegingen vanFIG. 7 shows a computer system according to an embodiment of the present invention, wherein a computer device is connected to a first and a second pointing device, and performs an O / S and GUI that provides a native mouse pointer / cursor (e.g., a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first pointing position in accordance with movements of the first pointing device, and maintains a second pointing position in accordance with movements of the second pointing device, and adjusts the position of the native mouse pointer / cursor, e.g., overwrites it in in accordance with movements of the pointing device that was most recently moved. In addition, the overlay application provides a second visible object (e.g., a line or rectangle) that moves in accordance with movements of the second pointing device, and provides a third visible object, which moves in accordance with movements of the first pointing device. FIG. 7 (a) shows movements of

BE2017/5896 het eerste en derde zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 7(b) toont bewegingen van het eerste en tweede zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 7(c) is een hoog-niveau flowdiagram dat een computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding illustreert, zoals gebruikt kan worden in het computersysteem van FIG. 7(a). FIG. 7(d) is een meer gedetailleerd flowdiagram dat een computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding illustreert, zoals gebruikt kan worden in het computersysteem van FIG. 7(a). FIG. 7(e) toont enkele regels pseudo-code die een gedeelte illustreren van een vereenvoudigde berichtenverwerker zoals gebruikt kan worden door de overlayapplicatie.BE2017 / 5896 the first and third visible object in accordance with movements of the first pointing device. FIG. 7 (b) shows movements of the first and second visible object in accordance with movements of the second pointing device. FIG. 7 (c) is a high-level flow diagram illustrating a computer-implemented method according to an embodiment of the present invention, as can be used in the computer system of FIG. 7 (a). FIG. 7 (d) is a more detailed flow diagram illustrating a computer-implemented method according to an embodiment of the present invention, as may be used in the computer system of FIG. 7 (a). FIG. 7 (e) shows some lines of pseudo-code illustrating a portion of a simplified message processor as can be used by the overlay application.

FIG. 8 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij een computerinrichting verbonden is met een eerste en met een tweede aanwijsinrichting, en een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor (bijv, een witte pijl) verschaft, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste aanwijspositie in overeenstemming met bewegingen van de eerste aanwijsinrichting, en onderhoudt een tweede aanwijspositie in overeenstemming met bewegingen van de tweede aanwijsinrichting, en past de positie van de native muisaanwijzer/muiscursor aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de eerste aanwijsinrichting. Daarenboven verschaft de overlay-applicatie een tweede zichtbaar voorwerp (bijv, een zwarte pijl) die beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 8(a) toont bewegingen van het eerste zichtbaar voorwerp in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 8(b) toont bewegingen van het tweede zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 8(c) is een schematische voorstelling van een zogenoemde Z-orde van vensters of beeldvlakken en een cursorvlak zoals gebruikt kan worden in het computersysteem van FIG. 8(a).FIG. 8 shows a computer system according to an embodiment of the present invention, wherein a computer device is connected to a first and a second pointing device, and performs an O / S and GUI that provides a native mouse pointer / cursor (e.g., a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first pointing position in accordance with movements of the first pointing device, and maintains a second pointing position in accordance with movements of the second pointing device, and adjusts the position of the native mouse pointer / mouse cursor, e.g., overwrites it, according to with movements of the first pointing device. In addition, the overlay application provides a second visible object (e.g., a black arrow) that moves in accordance with movements of the second pointing device. FIG. 8 (a) shows movements of the first visible object in accordance with movements of the first pointing device. FIG. 8 (b) shows movements of the second visible object in accordance with movements of the second pointing device. FIG. 8 (c) is a schematic representation of a so-called Z-order of windows or image planes and a cursor plane as can be used in the computer system of FIG. 8 (a).

FIG. 9 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, en is een variant van het systeem getoond in FIG. 8. Waar de uitvoeringsvorm van FIG. 8 in het bijzonder nuttig is voor rechtshändige mensen, is de uitvoeringsvorm van FIG. 9 in het bijzonder nuttig voor linkshandige mensen. FIG. 9(a) toont bewegingen van het tweede zichtbaar voorwerp (bijv, een zwarte pijl) in overeenstemming met bewegingen van de eerste aanwijsinrichting. FIG. 9(b) toont bewegingen van het eerste zichtbaar voorwerp (bijv, de native muiscursor/aanwijzer, hier in de vorm van een witte pijl) in overeenstemming met bewegingen van de tweede aanwijsinrichting. FIG. 9(c) toont enkele regels pseudo-code die een gedeelte illustreren van een vereenvoudigde berichtenverwerker zoals gebruikt kan worden door de overlay-applicatie.FIG. 9 shows a computer system according to an embodiment of the present invention, and is a variant of the system shown in FIG. 8. Where the embodiment of FIG. 8 is particularly useful for legal people, the embodiment of FIG. 9 particularly useful for left-handed people. FIG. 9 (a) shows movements of the second visible object (e.g., a black arrow) in accordance with movements of the first pointing device. FIG. 9 (b) shows movements of the first visible object (e.g., the native mouse cursor / pointer, here in the form of a white arrow) in accordance with movements of the second pointing device. FIG. 9 (c) shows a few lines of pseudo-code illustrating a portion of a simplified message processor as can be used by the overlay application.

FIG. 10 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij een computerinrichting verbonden is met een eerste en met een tweedeFIG. 10 shows a computer system according to an embodiment of the present invention, wherein a computer device is connected to a first and a second

BE2017/5896 aanwijsinrichting, en een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor (bijv, een witte pijl) verschaft, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste aanwijspositie in overeenstemming met bewegingen van de eerste aanwijsinrichting, en onderhoudt een tweede aanwijspositie in overeenstemming met bewegingen van de tweede aanwijsinrichting, en past de positie van de native muisaanwijzer/-cursor aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de aanwijsinrichting die het meest recent is bewogen. Daarenboven verschaft de overlay-applicatie een tweede zichtbaar voorwerp (bijv, een zwarte pijl) die de andere onderhouden positie inneemt. FIG. 10(a) toont bewegingen van het eerste zichtbaar voorwerp (bijv, de native muiscursor/aanwijzer) in overeenstemming met bewegingen van de eerste aanwijsinrichting (de aanwijsinrichting die bewogen wordt), terwijl het tweede zichtbaar voorwerp zich op de andere onderhouden positie bevindt. FIG. 10(b) toont bewegingen van het eerste zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting (de aanwijsinrichting die bewogen wordt), terwijl het tweede zichtbaar voorwerp (de zwarte pijl) zich op de andere onderhouden positie bevindt.BE2017 / 5896 pointing device, and performing an O / S and GUI that provides a native mouse pointer / cursor (e.g., a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first pointing position in accordance with movements of the first pointing device, and maintains a second pointing position in accordance with movements of the second pointing device, and adjusts the position of the native mouse pointer / cursor, e.g., overwrites it in in accordance with movements of the pointing device that was most recently moved. In addition, the overlay application provides a second visible object (e.g., a black arrow) that occupies the other maintained position. FIG. 10 (a) shows movements of the first visible object (e.g., the native mouse cursor / pointer) in accordance with movements of the first pointing device (the pointing device being moved), while the second visible object is at the other maintained position. FIG. 10 (b) shows movements of the first visible object in accordance with movements of the second pointing device (the pointing device being moved), while the second visible object (the black arrow) is in the other maintained position.

FIG. 11 toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een computerinrichting omvat met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee klassieke aanwijsinrichtingen rechtstreeks verbonden met de computerinrichting.FIG. 11 shows a simplified high level block diagram of hardware and software components located in a computer system according to an embodiment of the present invention, wherein the computer system comprises a computer device with a special overlay application according to an embodiment of the present invention, and two classical pointing devices connected directly with the computer device.

FIG. 12 toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een computerinrichting omvat met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee klassieke aanwijsinrichtingen verbonden met de computerinrichting via een klassieke hub.FIG. 12 shows a simplified high-level block diagram of hardware and software components located in a computer system according to an embodiment of the present invention, wherein the computer system comprises a computer device with a special overlay application according to an embodiment of the present invention, and two classical pointing devices connected to the computer device via a traditional hub.

FIG. 13 toont enkele regels pseudo-code die een gedeelte illustreren van een eerste berichtenverwerkingsroutine zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 13 shows some lines of pseudo-code illustrating a portion of a first message processing routine as may be used in overlay applications according to embodiments of the present invention.

FIG. 14(a) tot FIG. 14(c) en FIG. 15 tonen voorbeeldmatige sequenties van signalen of berichten komende van twee klassieke muisinrichtingen, en tonen hoe deze signalen bevredigend worden behandeld door het eerste berichtenverwerkingsproces weergegeven in FIG. 13.FIG. 14 (a) to FIG. 14 (c) and FIG. 15 show exemplary sequences of signals or messages from two classical mouse devices, and show how these signals are satisfactorily handled by the first message processing process shown in FIG. 13.

FIG. 16 en FIG. 17 tonen twee voorbeeldmatige sequenties van signalen of berichten komende van twee klassieke muisinrichtingen, en tonen hoe deze signalen onbevredigend worden behandeld door het berichtenverwerkingsproces weergegeven in FIG. 13.FIG. 16 and FIG. 17 show two exemplary sequences of signals or messages coming from two classical mouse devices, and show how these signals are treated unsatisfactorily by the message processing process shown in FIG. 13.

FIG. 18(a) toont enkele regels pseudo-code die een gedeelte illustreren van een tweede berichtenverwerkingsroutine zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 18 (a) shows some lines of pseudo-code illustrating a portion of a second message processing routine as may be used in overlay applications according to embodiments of the present invention.

BE2017/5896BE2017 / 5896

FIG. 18(b) toont een variant van de routine van FIG. 18(a), zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 18 (b) shows a variant of the routine of FIG. 18 (a), as can be used in overlay applications according to embodiments of the present invention.

FIG. 18(c) toont een meer volledig versie van de routine van FIG. 18(a), zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding.FIG. 18 (c) shows a more complete version of the routine of FIG. 18 (a), as can be used in overlay applications according to embodiments of the present invention.

FIG. 19 en FIG. 20 tonen twee voorbeeldmatige sequenties van signalen of berichten komende van twee klassieke muisinrichtingen, en tonen hoe deze signalen bevredigend worden behandeld door het tweede berichtenverwerkingsproces weergegeven in FIG. 18(a).FIG. 19 and FIG. 20 shows two exemplary sequences of signals or messages coming from two classical mouse devices, and shows how these signals are treated satisfactorily by the second message processing process shown in FIG. 18 (a).

FIG. 21 toont een voorbeeldmatige sequentie van signalen of berichten komende van twee klassieke muisinrichtingen, en toont hoe deze signalen onbevredigend worden behandeld door het tweede berichtenverwerkingsproces weergegeven in FIG. 18(a).FIG. 21 shows an exemplary sequence of signals or messages coming from two classical mouse devices, and shows how these signals are treated unsatisfactorily by the second message processing process shown in FIG. 18 (a).

FIG. 22(a) en FIG. 22(b) tonen twee voorbeeldmatige sequenties van signalen komende van twee speciale aanwijsinrichtingen volgens een uitvoeringsvorm van de onderhavige uitvinding, en tonen hoe deze signalen of berichten bevredigend worden behandeld door het tweede berichtenverwerkingsproces weergegeven in FIG. 18(a).FIG. 22 (a) and FIG. 22 (b) show two exemplary sequences of signals coming from two special pointing devices according to an embodiment of the present invention, and show how these signals or messages are treated satisfactorily by the second message processing process shown in FIG. 18 (a).

FIG. 23(a) toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een computerinrichting omvat met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee speciale muisinrichtingen omvat volgens een uitvoeringsvorm van de onderhavige uitvinding.FIG. 23 (a) shows a simplified high-level block diagram of hardware and software components located in a computer system according to an embodiment of the present invention, wherein the computer system comprises a computer device with a special overlay application according to an embodiment of the present invention, and two special mouse devices according to an embodiment of the present invention.

FIG. 23(b) toont een voorbeeldmatig blokdiagram van een speciale muisinrichting volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 23(a).FIG. 23 (b) shows an exemplary block diagram of a special mouse device according to an embodiment of the present invention, as may be used in the system of FIG. 23 (a).

FIG. 24 toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een computerinrichting omvat met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee speciale muisinrichtingen omvat volgens een uitvoeringsvorm van de onderhavige uitvinding, verbonden met de computerinrichting via een klassieke hub.FIG. 24 shows a simplified high-level block diagram of hardware and software components located in a computer system according to an embodiment of the present invention, wherein the computer system comprises a computer device with a special overlay application according to an embodiment of the present invention, and two special mouse devices according to an embodiment of the present invention connected to the computer device via a conventional hub.

FIG. 25 toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij het computersysteem een computerinrichting omvat met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee klassieke muisinrichtingen omvat verbonden met de computerinrichting via een speciale adapter of hub of dongel volgens een uitvoeringsvorm van de onderhavige uitvinding.FIG. 25 shows a simplified high-level block diagram of hardware and software components located in a computer system according to an embodiment of the present invention, wherein the computer system comprises a computer device with a special overlay application according to an embodiment of the present invention, and comprises two classical mouse devices connected with the computer device via a special adapter or hub or dongle according to an embodiment of the present invention.

FIG. 26(a) tot FIG. 26(d) tonen voorbeeldmatige sequenties van signalen of berichten komende van de twee klassieke aanwijsinrichtingen van FIG. 25, en tonen hoe deze signalen ofFIG. 26 (a) to FIG. 26 (d) show exemplary sequences of signals or messages coming from the two classical pointing devices of FIG. 25, and show how these signals or

BE2017/5896 berichten worden behandeld door een berichtenverwerkingsproces weergegeven in FIG. 18, na het passeren door de speciale adapter of hub of dongel.BE2017 / 5896 messages are handled by a message processing process shown in FIG. 18, after passing through the special adapter or hub or dongle.

FIG. 27(a) toont een voorbeeldmatig blokdiagram van een hub (of dongel of adapter) volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 25, welke ten minste twee fysieke connectoren heeft voor verbinding met twee klassieke bedrade aanwijsinrichtingen.FIG. 27 (a) shows an exemplary block diagram of a hub (or dongle or adapter) according to an embodiment of the present invention, as may be used in the system of FIG. 25, which has at least two physical connectors for connection to two conventional wired indicating devices.

FIG. 27(b) toont een voorbeeldmatig blokdiagram van een draadloze hub (of dongel of adapter) volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 25, welke één of twee RF-zendontvangers heeft voor werkzame verbinding met twee klassieke draadloze aanwijsinrichtingen.FIG. 27 (b) shows an exemplary block diagram of a wireless hub (or dongle or adapter) according to an embodiment of the present invention, as may be used in the system of FIG. 25, which has one or two RF transceivers for operative connection to two conventional wireless pointing devices.

FIG. 28(a) toont een voorbeeldmatige gebruikersinterface-venster, waarnaar hierin wordt verwezen als de mini-gebruikersinterface, die een veelheid van ingangsmodi en een veelheid van displaymodi ondersteunt.FIG. 28 (a) shows an exemplary user interface window, referred to herein as the mini user interface, which supports a plurality of input modes and a plurality of display modes.

FIG. 28(b) toont een voorbeeldmatig pop-up-menu zoals gebruikt kan worden in uitvoeringsvormen van de onderhavige uitvinding.FIG. 28 (b) shows an exemplary pop-up menu such as can be used in embodiments of the present invention.

FIG. 29 toont een voorbeeldmatig gebruikersinterface-venster, waarnaar hierin wordt verwezen als de hoofdgebruikersinterface, zoals gebruikt kan worden in uitvoeringsvormen van de onderhavige uitvinding, bijv, om een inputmodus en/of een displaymodus te kiezen, en/of een grootte en/of een kleur van het tweede of verder zichtbaar voorwerp te kiezen, en/of om een semitransparantieniveau te kiezen of af te stemmen, en/of om een semi-transparante getextureerde achtergrond te kiezen.FIG. 29 shows an exemplary user interface window, referred to herein as the main user interface, as may be used in embodiments of the present invention, e.g., to select an input mode and / or a display mode, and / or a size and / or a color. of the second or further visible object, and / or to choose or tune a semi-transparency level, and / or to choose a semi-transparent textured background.

FIG. 30 en FIG. 31(a) tonen een vergroot aanzicht van een gedeelte van FIG. 29.FIG. 30 and FIG. 31 (a) show an enlarged view of a portion of FIG. 29.

FIG. 31(b) is een variant van het gedeelte van FIG. 31(a), waar een kenmerk is toegevoegd om cursorbewegingen te dwingen om slechts horizontaal (Oost/West) of verticaal (Noord/Zuid) of diagonaal (Noord-Oost, Noord-West, Zuid-Oost, Zuid-West) te zijn.FIG. 31 (b) is a variant of the portion of FIG. 31 (a), where an attribute has been added to force cursor movements to be only horizontal (East / West) or vertical (North / South) or diagonal (North-East, North-West, South-East, South-West) .

FIG. 31(c) toont enkele regels pseudo-code die gebruikt kunnen worden in de positiebijwerkingsroutine voor het bereiken van dit effect.FIG. 31 (c) shows some lines of pseudo-code that can be used in the position update routine to achieve this effect.

FIG. 31(d) en FIG. 31(e) illustreren een variant van de verplaatsingstransformatieroutine, waarbij bijna-horizontale bewegingen naar zuiver horizontale bewegingen worden getransformeerd.FIG. 31 (d) and FIG. 31 (e) illustrate a variant of the displacement transformation routine in which near-horizontal movements are transformed into purely horizontal movements.

FIG. 32 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij de computerinrichting een O/S en GUI en twee applicaties uitvoert (bijv, een PDFdocumentviewer en een tekstverwerker), en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie is geconfigureerd om de native muiscursor te herpositioneren en om twee beweegbare lijnen te tonen, die bewegen in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 32 shows a computer system according to an embodiment of the present invention, wherein the computer device executes an O / S and GUI and two applications (e.g., a PDF document viewer and a word processor), and executes an overlay application according to an embodiment of the present invention. The overlay application is configured to reposition the native mouse cursor and to show two movable lines that move in accordance with movements of the pointing devices.

BE2017/5896BE2017 / 5896

FIG. 33 toont een variant van het computersysteem van FIG. 32, waarbij de overlay-applicatie geconfigureerd is om de native muiscursor te herpositioneren en twee beweegbare vierkanten te tonen, die bewegen in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 33 shows a variant of the computer system of FIG. 32, wherein the overlay application is configured to reposition the native mouse cursor and show two movable squares that move in accordance with movements of the pointing devices.

FIG. 34 toont een andere variant van het computersysteem van FIG. 32, waarbij de overlayapplicatie geconfigureerd is om de native muiscursor te herpositioneren en twee zichtbare voorwerpen te tonen, één voorwerp bevattende een beeld van een linkerhand, en het andere voorwerp bevattende een beeld van een rechterhand, welke beelden bewegen in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 34 shows another variant of the computer system of FIG. 32, wherein the overlay application is configured to reposition the native mouse cursor and display two visible objects, one object containing an image of a left hand, and the other object containing an image of a right hand, which images move in accordance with movements of the pointing devices .

FIG. 35 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij de computerinrichting een O/S en GUI en een voorbeeldmatige applicatie (bijv, een PDF-document editor) uitvoert, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie is geconfigureerd om de native muiscursor te herpositioneren en een beweegbare lijn te tonen, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 35 shows a computer system according to an embodiment of the present invention, wherein the computer device executes an O / S and GUI and an exemplary application (e.g., a PDF document editor), and executes an overlay application according to an embodiment of the present invention. The overlay application is configured to reposition the native mouse cursor and display a movable line in accordance with movements of the pointing devices.

FIG. 36 toont een variant van het computersysteem van FIG. 35, waarbij de overlay-applicatie geconfigureerd is om de native muiscursor te herpositioneren en een beweegbaar kruis te tonen, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 36 shows a variant of the computer system of FIG. 35, wherein the overlay application is configured to reposition the native mouse cursor and display a movable cross, in accordance with movements of the pointing devices.

FIG. 37 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij de computerinrichting een O/S en GUI en een voorbeeldmatige applicatie (bijv, een teksteditor) uitvoert, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie geconfigureerd is om de native muiscursor te herpositioneren en twee beweegbaar lijnen te tonen, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 37 shows a computer system according to an embodiment of the present invention, wherein the computer device executes an O / S and GUI and an exemplary application (e.g., a text editor), and executes an overlay application according to an embodiment of the present invention. The overlay application is configured to reposition the native mouse cursor and display two movable lines in accordance with movements of the pointing devices.

FIG. 38 toont een variant van het computersysteem van FIG. 37, waarbij de overlay-applicatie geconfigureerd is om de native muiscursor te herpositioneren en twee beweegbaar kruizen te tonen, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 38 shows a variant of the computer system of FIG. 37, wherein the overlay application is configured to reposition the native mouse cursor and show two movable crosses, in accordance with movements of the pointing devices.

FIG. 39 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, waarbij de computerinrichting een O/S en GUI en een voorbeeldmatige applicatie (bijv, een teksteditor) uitvoert, en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie is geconfigureerd om de native muiscursor te herpositioneren en een verticale lijn te tonen om het scherm te splitsen in een linker gedeelte en rechter gedeelte, en om twee horizontale lijnen te tonen die verticaal beweegbaar zijn, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 39 shows a computer system according to an embodiment of the present invention, wherein the computer device executes an O / S and GUI and an exemplary application (e.g., a text editor), and executes an overlay application according to an embodiment of the present invention. The overlay application is configured to reposition the native mouse cursor and display a vertical line to split the screen into a left portion and a right portion, and to display two horizontal lines that are vertically movable in accordance with movements of the pointing devices .

FIG. 40 toont een variant van het computersysteem van FIG. 39, waarbij de overlay-applicatie bijkomend twee vierkanten of rechthoeken binnen de horizontale lijnen verschaft, welke vierkanten ook horizontaal beweegbaar zijn, in overeenstemming met bewegingen van de aanwijsinrichtingen.FIG. 40 shows a variant of the computer system of FIG. 39, wherein the overlay application additionally provides two squares or rectangles within the horizontal lines, which squares are also movable horizontally, in accordance with movements of the pointing devices.

BE2017/5896BE2017 / 5896

FIG. 41 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding omvattende een speciale monitor of weergavescherm volgens een uitvoeringsvorm van de onderhavige uitvinding, rechtstreeks aansluitbaar op een aanwijsinrichting, waarbij het speciale weergavescherm of monitor aangepast is voor het overlayen van het beeld verschaft door de computerinrichting met ten minste één zichtbaar voorwerp dat beweegbaar is in overeenstemming met bewegingen van de aanwijsinrichting verbonden met de weergavescherm. Het O/S en GUI van de computerinrichting toont de native muiscursor/aanwijzer, die beweegbaar is door de aanwijsinrichting die verbonden is met de computer.FIG. 41 shows a computer system according to an embodiment of the present invention comprising a special monitor or display screen according to an embodiment of the present invention, connectable directly to a pointing device, the special display screen or monitor being adapted to overlay the image provided by the computer device with at least one visible object that is movable in accordance with movements of the pointing device connected to the display screen. The O / S and GUI of the computer device shows the native mouse cursor / pointer, which is movable through the pointing device connected to the computer.

FIG. 42 toont een voorbeeldmatig blokdiagram van een weergave-inrichting gebruikt in het systeem van FIG. 41.FIG. 42 shows an exemplary block diagram of a display device used in the system of FIG. 41.

FIG. 43 toont een computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding omvattende een video-adapterinrichting of video-interface-inrichting volgens een uitvoeringsvorm van de onderhavige uitvinding, die een ingangspoort heeft voor het ontvangen van eerste grafische beeldgegevens van een computerinrichting, waarbij de computerinrichting verbonden is met een eerste aanwijsinrichting. De video-adapter omvat verder een uitgangspoort voor het verschaffen van tweede grafische beeldgegevens aan een monitor of weergavescherm, waarbij de video-adapter verder een bedrade of draadloze interface omvat naar een tweede aanwijsinrichting, waarbij de video-adapter aangepast is voor het genereren van ten minste één zichtbaar voorwerp, en voor het overlayen van de eerste grafische beeldgegevens met het ten minste één zichtbaar voorwerp, en voor het bewegen van het zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting verbonden met de video-adapter.FIG. 43 shows a computer system according to an embodiment of the present invention comprising a video adapter device or video interface device according to an embodiment of the present invention, which has an input port for receiving first graphic image data from a computer device to which the computer device is connected with a first pointing device. The video adapter further comprises an output port for providing second graphic image data to a monitor or display screen, the video adapter further comprising a wired or wireless interface to a second pointing device, the video adapter being adapted to generate at least at least one visible object, and for overlaying the first graphic image data with the at least one visible object, and for moving the visible object in accordance with movements of the second pointing device connected to the video adapter.

FIG. 44 toont een voorbeeldmatige hardware blokdiagram van de video-adapterinrichting van FIG. 43.FIG. 44 shows an exemplary hardware block diagram of the video adapter device of FIG. 43.

Er wordt opgemerkt dat de hierin getoonde timingdiagrammen hoog-niveau timingdiagrammen zijn, en vele details zijn weggelaten, welke niet relevant zijn voor het begrijpen van de principes van de onderhavige uitvinding.It is noted that the timing diagrams shown herein are high-level timing diagrams, and many details have been omitted, which are not relevant to understanding the principles of the present invention.

Gedetailleerde beschrijving van illustratieve uitvoeringsvormenDetailed description of illustrative embodiments

De huidige uitvinding zal beschreven worden met betrekking tot bijzondere uitvoeringsvormen en met verwijzing naar bepaalde tekeningen, echter de uitvinding wordt daartoe niet beperkt maar is enkel beperkt door de conclusies. De figuren zijn enkel schematisch en niet limiterend. In de figuren kunnen de afmetingen van sommige onderdelen overdreven en niet op schaal zijn voorgesteld voor illustratieve doeleinden. De afmetingen en de relatieve afmetingen komen soms niet overeen met de actuele praktische uitvoering van de uitvinding.The present invention will be described with respect to particular embodiments and with reference to certain drawings, however, the invention is not limited thereto but is only limited by the claims. The figures are only schematic and non-limiting. In the figures, the dimensions of some parts may be exaggerated and not represented to scale for illustrative purposes. The dimensions and the relative dimensions sometimes do not correspond to the current practical embodiment of the invention.

Verder worden de termen eerste, tweede en dergelijke in de beschrijving en in de conclusies gebruikt voor het onderscheiden van gelijkaardige elementen en niet noodzakelijk voor het beschrijvenFurthermore, the terms first, second and the like in the description and in the claims are used to distinguish similar elements and not necessarily for describing

BE2017/5896 van een volgorde, noch in de tijd, noch spatiaal, noch in rangorde of op enige andere wijze. Het dient te worden begrepen dat de termen op die manier gebruikt onder geschikte omstandigheden verwisselbaar zijn en dat de uitvoeringsvormen van de uitvinding hierin beschreven geschikt zijn om in andere volgorde te werken dan hierin beschreven of weergegeven.BE2017 / 5896 of a sequence, neither in time, nor spatially, nor in ranking, or in any other way. It is to be understood that the terms used in such a manner are suitable under interchangeable conditions and that the embodiments of the invention described herein are capable of operating in a different order than described or depicted herein.

Het dient opgemerkt te worden dat de term omvat, zoals gebruikt in de conclusies, niet als beperkt tot de erna beschreven middelen dient geïnterpreteerd te worden; deze term sluit geen andere elementen of stappen uit. Hij is zodoende te interpreteren als het specificeren van de aanwezigheid van de vermelde kenmerken, waarden, stappen of componenten waarnaar verwezen wordt, maar sluit de aanwezigheid of toevoeging van één of meerdere andere kenmerken, waarden, stappen of componenten, of groepen daarvan niet uit. Dus, de omvang van de uitdrukking een inrichting omvattende middelen A en B dient niet beperkt te worden tot inrichtingen die enkel uit componenten A en B bestaan. Het betekent dat met betrekking tot de huidige uitvinding, A en B de enige relevante componenten van de inrichting zijn.It is to be noted that the term comprising, as used in the claims, is not to be interpreted as being limited to the means described thereafter; this term does not exclude other elements or steps. It can therefore be interpreted as specifying the presence of the listed characteristics, values, steps or components referred to, but does not exclude the presence or addition of one or more other characteristics, values, steps or components, or groups thereof. Thus, the scope of the term a device comprising means A and B should not be limited to devices that consist only of components A and B. It means that with respect to the present invention, A and B are the only relevant components of the device.

Verwijzing doorheen deze specificatie naar “één uitvoeringsvorm” of “een uitvoeringsvorm” betekent dat een specifiek kenmerk, structuur of karakteristiek beschreven in verband met de uitvoeringsvorm is opgenomen in tenminste één uitvoeringsvorm van de onderhavige uitvinding. Dus, voorkomen van de uitdrukkingen “in één uitvoeringsvorm” of “in een uitvoeringsvorm” op diverse plaatsen doorheen deze specificatie hoeven niet noodzakelijk allemaal naar dezelfde uitvoeringsvorm te refereren, maar kunnen dit wel doen. Voorts, de specifieke kenmerken, structuren of karakteristieken kunnen gecombineerd worden op eender welke geschikte manier, zoals duidelijk zou zijn voor een gemiddelde vakman op basis van deze bekendmaking, in één of meerdere uitvoeringsvormen.Reference throughout this specification to "one embodiment" or "an embodiment" means that a specific feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, occurrence of the expressions "in one embodiment" or "in an embodiment" at various places throughout this specification may not necessarily all refer to the same embodiment, but may do so. Furthermore, the specific features, structures, or characteristics may be combined in any suitable manner, as would be apparent to those skilled in the art based on this disclosure, in one or more embodiments.

Vergelijkbaar dient het geapprecieerd te worden dat in de beschrijving van voorbeeldmatige uitvoeringsvormen van de uitvinding verscheidene kenmerken van de uitvinding soms samen gegroepeerd worden in één enkele uitvoeringsvorm, figuur of beschrijving daarvan met als doel het stroomlijnen van de openbaarmaking en het helpen in het begrijpen van één of meerdere van de verscheidene inventieve aspecten. Deze methode van openbaarmaking dient hoe dan ook niet geïnterpreteerd te worden als een weerspiegeling van een intentie dat de uitvinding meer kenmerken vereist dan expliciet vernoemd in iedere conclusie. Eerder, zoals de volgende conclusies weerspiegelen, liggen inventieve aspecten in minder dan alle kenmerken van één enkele voorafgaande openbaar gemaakte uitvoeringsvorm. Dus, de conclusies volgend op de gedetailleerde beschrijving zijn hierbij expliciet opgenomen in deze gedetailleerde beschrijving, met iedere op zichzelf staande conclusie als een afzonderlijke uitvoeringsvorm van deze uitvinding.Similarly, it should be appreciated that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together into a single embodiment, figure, or description thereof for the purpose of streamlining disclosure and assisting in understanding one or several of the various inventive aspects. In any case, this method of disclosure should not be interpreted as a reflection of an intention that the invention requires more features than explicitly mentioned in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all the features of a single prior disclosed embodiment. Thus, the claims following the detailed description are hereby explicitly included in this detailed description, with each independent claim as a separate embodiment of the present invention.

Voorts, terwijl sommige hierin beschreven uitvoeringsvormen sommige, maar niet andere, in andere uitvoeringsvormen inbegrepen kenmerken bevatten, zijn combinaties van kenmerken van verschillende uitvoeringsvormen bedoeld als gelegen binnen de reikwijdte van de uitvinding, enFurthermore, while some embodiments described herein include some, but not other, features included in other embodiments, combinations of features of different embodiments are intended to be within the scope of the invention, and

BE2017/5896 vormen deze verschillende uitvoeringsvormen, zoals zou begrepen worden door de vakman. Bijvoorbeeld, in de volgende conclusies kunnen eender welke van de beschreven uitvoeringsvormen gebruikt worden in eender welke combinatie.BE2017 / 5896 constitute these different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the described embodiments can be used in any combination.

In de hier voorziene beschrijving worden talrijke specifieke details naar voren gebracht. Het is hoe dan ook te begrijpen dat uitvoeringsvormen van de uitvinding kunnen uitgevoerd worden zonder deze specifieke details. In andere gevallen zijn welgekende werkwijzen, structuren en technieken niet in detail getoond om deze beschrijving helder te houden.Numerous specific details are set forth in the description provided here. It is, however, understood that embodiments of the invention can be practiced without these specific details. In other cases, well-known methods, structures and techniques have not been shown in detail to keep this description clear.

In dit document wordt de term alfamenging of menging (van beelden of bitmaps) als synoniemen gebruikt. In de context van grafische overlay, is er een bovenste beeld (dat een hogere Zorde heeft) en een lager beeld (dat een lagere Z-orde heeft). Het mengen kan gedaan worden in hardware en/of software, en is gebaseerd op een parameter genoemd alfamengingwaarde a, welke verwijst naar het niveau van mengen van de twee beelden, waarbij a=0% betekent dat het originele beeld (met de lagere Z-orde) niet gemengd wordt met het overlaybeeld (of dat het overlaybeeld volledig transparant is), en waarbij a=100% betekent dat de resulterende pixelwaarde die van het overlaybeeld is (of dat het overlaybeeld volledig ondoorzichtig is behalve voor volledig transparante pixels). De alfamengingwaarde kan uitgedrukt worden op een schaal van 0 tot 255, waarbij a=255 overeenkomt met a=100% en a=0 overeenkomt met a=0%. Alfamengen kan bijvoorbeeld gebruikt worden voor fade-in of fade-out van een grafisch beeld. In de context van de onderhavige uitvinding kan er ook een tweede parameter betrokken zin bij het mengen, genoemd TransparantColorValue. Indien een pixel van het overlaybeeld deze vooraf bepaalde waarde heeft, wordt deze pixel behandeld als volledig transparant. Volledig transparante pixels worden typisch gebruikt aan de omtrek van een bitmap, bijvoorbeeld voor het tonen van een rechthoekig beeld met afgeronde randen. Alfamengen en volledig transparante pixels zijn beide goed gekend in de stand der techniek.In this document, the term alpha mixing or mixing (of images or bitmaps) is used as synonyms. In the context of graphic overlay, there is an upper image (that has a higher Zorde) and a lower image (that has a lower Z order). The mixing can be done in hardware and / or software, and is based on a parameter called alpha mixing value a, which refers to the level of mixing of the two images, where a = 0% means that the original image (with the lower Z- order) is not mixed with the overlay image (or that the overlay image is completely transparent), and where a = 100% means that the resulting pixel value is that of the overlay image (or that the overlay image is completely opaque except for fully transparent pixels). The alpha mixing value can be expressed on a scale from 0 to 255, where a = 255 corresponds to a = 100% and a = 0 corresponds to a = 0%. Alpha mixing can for example be used for fade-in or fade-out of a graphic image. In the context of the present invention, there may also be a second parameter involved in mixing, called TransparentColorValue. If a pixel of the overlay image has this predetermined value, this pixel is treated as completely transparent. Fully transparent pixels are typically used on the circumference of a bitmap, for example, to display a rectangular image with rounded edges. Alpha blending and fully transparent pixels are both well known in the art.

In dit document behoren de uitdrukkingen tekstverwerker of teksteditor niet te eng geïnterpreteerd te worden, omdat vele zogenoemde tekstverwerkers (zoals bijv. Microsoft Word) ook tekenmogelijkheden hebben. Evenzo behoort de term spreadsheet of werkblad niet te eng geïnterpreteerd te worden, omdat vele zogenoemde werkbladapplicaties, bijv. Microsoft Excel, ook grafische mogelijkheden hebben.In this document, the word processor or text editor expressions should not be interpreted too narrowly, because many so-called word processors (such as, for example, Microsoft Word) also have drawing options. Similarly, the term spreadsheet or worksheet should not be interpreted too narrowly, because many so-called worksheet applications, such as Microsoft Excel, also have graphic options.

De uitdrukking het overlayvenster is geconfigureerd in doorklikmodus of het overlayvenster is geconfigureerd in geef-door-modus betekent dat het overlayvenster op zodanige wijze geconfigureerd is dat gebeurtenissen van inputinrichtingen (zoals bijv, een muis, een toetsenbord, een trackball, een touchpad, een schrijfstift, een joystick, enz.) door het besturingssysteem verzonden worden naar één of meerdere onderliggende toepassingsvensters of naar voorwerpen daarvan, ondanks de hogere Z-orde van de overlay-applicatie, en ondanks dat de native muiscursor gesitueerd is boven het door het overlayvenster gedefinieerde gebied. Het berichtThe expression the overlay window is configured in click-through mode or the overlay window is configured in pass-through mode means that the overlay window is configured in such a way that events from input devices (such as, for example, a mouse, a keyboard, a trackball, a touch pad, a stylus) , a joystick, etc.) are sent by the operating system to one or more underlying application windows or to objects thereof, despite the higher Z-order of the overlay application, and despite the native mouse cursor being located above the area defined by the overlay window . The message

BE2017/5896 dat wordt doorgegeven aan lagere vensters is bijvoorbeeld van toepassing op gebeurtenissen veroorzaakt door een knopindrukking, en op een knoploslating, en op een knopklik, en op een scrollevent van een muiswiel, en op bewegingen van de aanwijsinrichting. In de context van de onderhavige uitvinding omvat de overlay-applicatie typisch één venster geconfigureerd in doorklikmodus, en bevat optioneel maar bij voorkeur ook een tweede, hoofdzakelijk ondoorzichtig venster met gebruikersinterface-elementen, niet geconfigureerd in doorklikmodus.BE2017 / 5896 passed to lower windows applies, for example, to events caused by a button press, and to a button release, and to a button click, and to a scroll event of a mouse wheel, and to movements of the pointing device. In the context of the present invention, the overlay application typically comprises one window configured in click-through mode, and optionally but preferably also includes a second, substantially opaque window with user interface elements, not configured in click-through mode.

In dit document betekent de uitdrukking het venster is geconfigureerd in nietdoorklikmodus dat het venster niet geconfigureerd is in doorklikmodus.In this document, the expression the window is configured in non-click-through mode means that the window is not configured in click-through mode.

In dit document verwijst de term werkgebied naar een gedeelte van het pixelgebied van een scherm, namelijk het gebied dat typisch ingenomen zal worden door een applicatie in het geval dat deze gemaximaliseerd wordt. In een Microsoft Windows-omgeving betekent het werkgebied het ganse pixelgebied of het gebied van de desktop minus de zogenoemde taakbalk, welke zich typisch onderaan het scherm bevindt.In this document, the term work area refers to a portion of the pixel area of a screen, namely, the area that will typically be occupied by an application in case it is maximized. In a Microsoft Windows environment, the work area means the entire pixel area or the area of the desktop minus the so-called taskbar, which is typically located at the bottom of the screen.

In dit document worden de uitdrukkingen muisaanwijzer en muiscursor als synoniemen gebruikt, en verwijzen naar een symbool of grafisch beeld op een computermonitor of andere weergave-inrichting dat bewegingen weergeeft van een aanwijsinrichting, bijv, een muis, touchpad, of schrijfstiftpen. Deze aanwijzer of cursor kan verschillende vormen aannemen, zoals bijvoorbeeld een pijl of een crosshair (wat lijkt op een romeins cijfer I) of als een hand enz.In this document, the mouse pointer and mouse cursor terms are used as synonyms, and refer to a symbol or graphic image on a computer monitor or other display device that displays movements of a pointing device, e.g., a mouse, touchpad, or stylus pen. This pointer or cursor can take various forms, such as an arrow or a crosshair (which looks like a Roman numeral I) or as a hand, etc.

In dit document worden de uitdrukkingen weergavescherm en monitor en scherm als synoniemen gebruikt.In this document, the terms display screen and monitor and screen are used as synonyms.

In dit document worden de termen lijn of balk of lijnsegment als synoniemen gebruikt. Zij verwijzen naar een langwerpig, bijvoorbeeld een rechthoekig, voorwerp, optioneel met afgeronde randen.In this document, the terms line or bar or line segment are used as synonyms. They refer to an elongated, for example a rectangular, object, optionally with rounded edges.

In dit document betekent de uitdrukking de muiscursor of aanwijzer volgt bewegingen van de aanwijsinrichting dat de positie van de cursor of aanwijzer wordt aangepast in overeenstemming met bewegingen van de aanwijsinrichting.In this document, the expression the mouse cursor or pointer means movements of the pointing device means that the position of the cursor or pointer is adjusted in accordance with movements of the pointing device.

In dit document betekenen de termen eerste onderhouden positie en positie gerelateerd aan bewegingen van de eerste aanwijsinrichting hetzelfde. Naar deze positie wordt hierin ook verwezen als Posl of de coördinaten (xl,yl) of de coördinaten (xR,yR).In this document, the terms first maintained position and position related to movements of the first pointing device mean the same. This position is also referred to herein as Pos1 or the coordinates (x1, yl) or the coordinates (xR, yR).

In dit document verwijst de eerste aanwijsinrichting gewoonlijk naar de aanwijsinrichting te bedienen door de rechterhand van een gebruiker, tenzij expliciet anders vermeld.In this document, the first pointing device usually refers to the pointing device operated by a user's right hand unless explicitly stated otherwise.

In dit document betekenen de uitdrukkingen tweede onderhouden positie en positie gerelateerd aan bewegingen van de tweede aanwijsinrichting hetzelfde. Naar deze positie wordt hierin ook verwezen als Pos2 of de coördinaten (x2,y2) of de coördinaten (xL,yL).In this document, the terms second maintained position and position related to movements of the second pointing device mean the same thing. This position is also referred to herein as Pos2 or the coordinates (x2, y2) or the coordinates (xL, yL).

In dit document verwijst de tweede aanwijsinrichting gewoonlijk naar de aanwijsinrichting te bedienen door de linkerhand van een gebruiker, tenzij expliciet anders vermeld.In this document, the second pointing device usually refers to the pointing device to be operated by a user's left hand, unless explicitly stated otherwise.

BE2017/5896BE2017 / 5896

In dit document betekent de uitdrukking focus verleggen tussen twee documenten het verleggen van de focus tussen twee locaties op het scherm, bijvoorbeeld tussen een eerste venster geassocieerd met een eerste applicatie (bijv, een PDF-viewer) dat een gedeelte van een eerste document toont, en een tweede venster geassocieerd met een tweede applicatie (bijv, een tekstverwerker) dat een gedeelte van een tweede document toont, tenzij expliciet anders vermeld.In this document, the expression shifting focus between two documents means shifting focus between two locations on the screen, for example, between a first window associated with a first application (e.g., a PDF viewer) showing a portion of a first document, and a second window associated with a second application (e.g., a word processor) that displays a portion of a second document, unless explicitly stated otherwise.

In dit document betekent de uitdrukking host een computerinrichting, tenzij expliciet anders vermeld.In this document, the term host means a computer device, unless explicitly stated otherwise.

In dit document betekenen de uitdrukkingen signaal en bericht verzonden door een aanwijsinrichting hetzelfde.In this document, the expressions signal and message sent by a pointing device mean the same thing.

In dit document betekent de term het onderlijnen of markeren van een tekstfragment het schijnbaar of virtueel onderlijnen of markeren van het tekstfragment door middel van een geoverlayd voorwerp.In this document, the term underlining or marking a text fragment means the apparent or virtual underlining or marking of the text fragment by means of an overlaid object.

Zoals beschreven in het achtergrondgedeelte en zoals weergegeven in FIG. 1 tot FIG. 4, zijn er vele gelegenheden wanneer een computergebruiker zou willen dat het computersysteem een mechanisme had dat de gebruiker in staat stelt om te lezen en/of schrijven en/of klikken op twee verschillende locaties op een scherm, terwijl vandaag de dag, in alle voornaamste besturingssystemen voor personal computers met een grafische gebruikersinterface, slechts één enkel zichtbaar voorwerp, muisaanwijzer of muiscursor genoemd, wordt ondersteund.As described in the background portion and as shown in FIG. 1 to FIG. 4, there are many occasions when a computer user would like the computer system to have a mechanism that allows the user to read and / or write and / or click in two different locations on a screen, while today, in all major Operating systems for personal computers with a graphical user interface, referred to as a single visible object, mouse pointer or mouse cursor, are supported.

Hoewel de onderhavige uitvinding niet beperkt is tot Windows-compatibele computers, die een versie van het Windows besturingssysteem van Microsoft Corporation (Redmond, USA) uitvoeren, zal de onderhavige uitvinding voornamelijk uitgelegd worden met zulke computers in gedachten, teneinde de beschrijving te vereenvoudigen. Maar de principes van de onderhavige uitvinding zullen ook werken voor andere computers met een besturingssysteem O/S en een grafische gebruikersinterface GUI dat slechts één enkele muisaanwijzer verschaft, zoals bijvoorbeeld mac OS van Apple Inc.While the present invention is not limited to Windows-compatible computers that are running a version of the Windows operating system from Microsoft Corporation (Redmond, USA), the present invention will be primarily explained with such computers in mind, in order to simplify the description. But the principles of the present invention will also work for other computers with an operating system O / S and a graphical user interface GUI that provides only a single mouse pointer, such as, for example, Mac OS from Apple Inc.

Hoewel de onderhavige uitvinding niet beperkt is tot het werken met twee muisinrichtingen, zal de onderhavige uitvinding uitgelegd worden met twee muisinrichtingen in gedachten, teneinde de beschrijving te vereenvoudigen. Maar de principes van de onderhavige uitvinding zullen ook werken met andere aanwijsinrichtingen, zoals bijvoorbeeld een touchpad of een trackball of een schrijfstift of dergelijke.Although the present invention is not limited to working with two mouse devices, the present invention will be explained with two mouse devices in mind in order to simplify the description. But the principles of the present invention will also work with other pointing devices, such as, for example, a touch pad or a trackball or a stylus or the like.

De problemen waarmee een vertaler of proeflezer of schrijver of transcriber wordt geconfronteerd in de gevallen weergegeven in FIG. 1 tot FIG. 4, zijn gerelateerd aan een kenmerk (of tekortkoming) van besturingssystemen met een GUI die slechts één enkele muiscursor of muisaanwijzer onderhouden. Vanuit een commercieel oogpunt, zou men kunnen denken dat er eenThe problems encountered by a translator or proofreader or writer or transcriber in the cases shown in FIG. 1 to FIG. 4, are related to a characteristic (or shortcoming) of operating systems with a GUI that only maintain a single mouse cursor or mouse pointer. From a commercial point of view, one might think that there is one

BE2017/5896 eenvoudige oplossing voor deze problemen bestaat, namelijk het aansluiten van een tweede aanwijsinrichting op de computerinrichting en hopen dat er op de een of andere manier een tweede muiscursor zal verschijnen die bewegingen van de tweede aanwijsinrichting volgt. Helaas, werken klassieke besturingssystemen voor personal computers zoals bijv. Windows en mac OS niet op die wijze, omdat ze slechts één enkele cursorpositie bijhouden, en hoewel meerdere aanwijsinrichtingen fysiek verbonden kunnen worden met de computerinrichting, worden alle signalen komende van deze aanwijsinrichtingen naar de ene cursorpositie geleid. Bijvoorbeeld, wanneer twee USBmuisinrichtingen verbonden zijn met een laptopcomputer die Windows 7 of Windows 10 uitvoert, kan de Windows native muiscursor bijv, naar links bewogen worden door het naar links bewegen van elk van deze muisinrichtingen. Er zal geen tweede muiscursor automatisch verschijnen.BE2017 / 5896 there is a simple solution for these problems, namely connecting a second pointing device to the computer device and hoping that somehow a second mouse cursor will appear that follows movements of the second pointing device. Unfortunately, conventional operating systems for personal computers such as, for example, Windows and mac OS do not work that way, since they only keep a single cursor position, and although multiple pointing devices can be physically connected to the computer device, all signals coming from these pointing devices are sent to the one cursor position. For example, when two USB mouse devices are connected to a laptop computer running Windows 7 or Windows 10, the Windows native mouse cursor can be moved to the left by moving each of these mouse devices to the left. No second mouse cursor will appear automatically.

Daarentegen verschaft de onderhavige uitvinding een computersysteem dat twee aanwijsinrichtingen supporteert en twee of ten minste twee zichtbare voorwerpen verschaft, die individueel beweegbaar zijn door de twee aanwijsinrichtingen, bijvoorbeeld een eerste muisinrichting en een tweede muisinrichting.In contrast, the present invention provides a computer system that supports two pointing devices and provides two or at least two visible objects that are individually movable through the two pointing devices, e.g., a first mouse device and a second mouse device.

Hoewel het technisch mogelijk zou zijn om een nieuw besturingssysteem te ontwikkelen met inherente ondersteuning voor meerdere aanwijsinrichtingen en meerdere Cursoren, is zulk een oplossing geen realistische optie. De uitvinders van de onderhavige uitvinding hebben daarom geprobeerd een oplossing te vinden op basis van een bestaand besturingssysteem O/S met een grafische gebruikersinterface GUI dat één enkele native muiscursor verschaft, en de functionaliteit daarvan uit te breiden of te verbeteren, idealiter op een zodanige wijze dat de meeste of alle bestaande applicaties hiervan voordeel kunnen hebben, zonder wijziging van deze applicaties.Although it would be technically possible to develop a new operating system with inherent support for multiple pointing devices and multiple Cursors, such a solution is not a realistic option. The inventors of the present invention have therefore attempted to find a solution based on an existing operating system O / S with a graphical user interface GUI that provides a single native mouse cursor, and to extend or improve its functionality, ideally in such a way that most or all existing applications can benefit from this without changing these applications.

Zoals verder in meer detail uitgelegd zal worden, stelt de onderhavige uitvinding voor het probleem niet in de apparaataansturingslaag (device driver layer) te benaderen maar als een grafische overlay-applicatie dat een venster omvat geconfigureerd in doorklik-modus. Dit is één van de onderliggende principes van de onderhavige uitvinding. Deze oplossing wordt geacht niet triviaal te zijn, onder andere omdat:As will be further explained in more detail, the present invention proposes to approach the problem not in the device driver layer but as a graphical overlay application that includes a window configured in click-through mode. This is one of the underlying principles of the present invention. This solution is considered not to be trivial, among other things because:

i) de logische plaats om een probleem gerelateerd aan inputinrichtingen op te lossen de apparaataansturingslaag is, niet door een applicatie te overlayen;i) the logical place to resolve a problem related to input devices is the device control layer, not by overlaying an application;

ii) het is niet logisch een venster van de overlay-applicatie in doorklikmodus te configureren omdat dat betekent dat het O/S geen berichten gerelateerd aan de aanwijsinrichtingen (bijv, een bewegingsbericht wanneer de aanwijsinrichting wordt bewogen, een knop-ingedrukt-bericht wanneer een knop wordt ingedrukt, een drukknop-losgelaten-bericht wanneer een knop wordt losgelaten, een scrollwiel-rotatie-bericht wanneer een scrollwiel wordt gedraaid, enz.) naar dezeii) it is not logical to configure a window of the overlay application in click-through mode because it means that the O / S does not have any messages related to the pointing devices (e.g., a motion message when the pointing device is moved, a button-pressed message when a button is pressed, a push button release message when a button is released, a scroll wheel rotation message when a scroll wheel is turned, etc.) to this

BE2017/5896 overlay-applicatie zal verzenden, waardoor verhinderd wordt dat de overlay-applicatie deze berichten kan filteren of blokkeren of wijzigen.BE2017 / 5896 overlay application will send, preventing the overlay application from filtering or blocking or changing these messages.

In plaats daarvan is het O/S geconfigureerd om ruwe inputberichten te verzenden, en is de overlay-applicatie van de onderhavige uitvinding geconfigureerd om deze ruwe inputberichten van het O/S te ontvangen, en verschaft de overlay-applicatie een berichtenverwerker om deze berichten te verwerken, maar (zoals de uitvinders pas tijdens het testen ontdekten) ontvangt de overlay-applicatie deze berichten pas nadat het O/S deze reeds heeft verwerkt.Instead, the O / S is configured to send raw input messages, and the overlay application of the present invention is configured to receive these raw input messages from the O / S, and the overlay application provides a message processor to send these messages. processing, but (as the inventors only discovered during testing) the overlay application only receives these messages after the O / S has already processed them.

Een ander onderliggende principe van de onderhavige uitvinding is dat gebruik wordt gemaakt van de native muiscursor die verschaft wordt door het O/S en de GUI als één van de ten minste twee zichtbare en beweegbare voorwerpen. Ook deze oplossing wordt geacht niet triviaal te zijn, omdat het O/S en de GUI de inputberichten van de aanwijsinrichtingen zullen ontvangen via de device driver layer (apparaataansturingslaag), en de native muiscursor op zijn eigen wijze zal willen positioneren, namelijk door de native muiscursor te bewegen in overeenstemming met bewegingen van elke aanwijsinrichting. Zoals verder uitgelegd zal worden, zal de overlay-applicatie van de onderhavige uitvinding deze positie overschrijven.Another underlying principle of the present invention is that use is made of the native mouse cursor provided by the O / S and the GUI as one of the at least two visible and movable objects. This solution is also deemed not to be trivial because the O / S and GUI will receive the input messages from the pointing devices via the device driver layer, and the native mouse cursor will want to position in its own way, namely by the native move the mouse cursor in accordance with movements of each pointing device. As will be further explained, the overlay application of the present invention will overwrite this position.

Het gebruikmaken van de native muiscursor van het O/S en de GUI als één van de zichtbare voorwerpen biedt het grote voordeel dat de aanblik en het uitzicht van deze muiscursor meestal onder controle blijft van het O/S en de GUI en de andere applicaties, behalve wanneer de muiscursor over een gebruikersinterface-venster van de overlay-applicatie beweegt. Derhalve laat de oplossing verschaft door de onderhavige uitvinding toe dat de muisaanwijzer van vorm verandert, afhankelijk van de context van de applicatie onder de overlay-applicatie, bijv, naar een pijlaanwijzer of een aanwijzer met een l-streepje of een zandloper enz.Using the native mouse cursor of the O / S and the GUI as one of the visible objects offers the great advantage that the appearance and appearance of this mouse cursor usually remains under the control of the O / S and the GUI and the other applications, except when the mouse cursor moves over a user interface window of the overlay application. Therefore, the solution provided by the present invention allows the mouse pointer to change shape depending on the context of the application under the overlay application, e.g., to a arrow pointer or a pointer with an 1-dash or an hourglass, etc.

Verwijzend nu naar de figuren.Referring now to the figures.

FIG. 1 tot FIG. 4 zijn reeds beschreven in het achtergrondgedeelte, en illustreren verscheidene praktische voorbeelden wanneer één enkele gebruiker (meerbepaald een professionele gebruiker) een personal computer wil gebruiken met twee aanwijsinrichtingen, één bedienbaar met zijn/haar dominante hand, de andere bedienbaar met zijn/haar niet-dominante hand.FIG. 1 to FIG. 4 have already been described in the background section, and illustrate several practical examples when a single user (more specifically a professional user) wants to use a personal computer with two pointing devices, one operable with his / her dominant hand, the other operable with his / her non- dominant hand.

Teneinde de vereisten van een potentiële oplossing met twee aanwijsinrichtingen te kwantificeren, wordt aangenomen dat de gebruiker van FIG. 1 tot FIG. 4 rechtshändig is, en dat de computerinrichting van FIG. 1 tot FIG. 4 met twee aanwijsinrichtingen verbonden is: een rechter muisinrichting voor de rechterhand, en een linker muisinrichting voor de linkerhand, dan:In order to quantify the requirements of a potential solution with two pointing devices, it is assumed that the user of FIG. 1 to FIG. 4 is legal, and that the computer device of FIG. 1 to FIG. 4 is connected to two pointing devices: a right mouse device for the right hand, and a left mouse device for the left hand, then:

(1) de gebruiker van FIG. 1 en FIG. 2 en FIG. 3 wil de rechter muisinrichting bewegen en/of klikken en/of scrollen, en wil de linker muisinrichting bewegen, maar hoeft niet noodzakelijkerwijs de linker muisinrichting te klikken of te scrollen;(1) the user of FIG. 1 and FIG. 2 and FIG. 3 wants to move the right mouse device and / or click and / or scroll, and wants to move the left mouse device, but does not necessarily have to click or scroll the left mouse device;

BE2017/5896 (2) alternatief wil de gebruiker van FIG. 1 de rechter muisinrichting bewegen en/of klikken en/of scrollen, en wil de linker muisinrichting bewegen en/of slepen (d.w.z. indrukken en bewegen en loslaten) en/of scrollen;BE2017 / 5896 (2) alternatively, the user of FIG. 1 move the right mouse device and / or click and / or scroll, and want to move and / or drag the left mouse device (i.e., press and move and release) and / or scroll;

(3) de gebruiker van FIG. 4 wil de rechter muisinrichting bewegen en/of klikken en/of scrollen, en wil de linker muisinrichting bewegen en/of klikken, maar hoeft niet noodzakelijkerwijs de linker muisinrichting te scrollen.(3) the user of FIG. 4 wants to move the right mouse device and / or click and / or scroll, and wants to move the left mouse device and / or click, but does not necessarily have to scroll the left mouse device.

FIG. 5 toont een computersysteem 500 volgens een uitvoeringsvorm van de onderhavige uitvinding, omvattende een computerinrichting 501 en twee aanwijsinrichtingen 503R, 503L en een weergavescherm 504 en optioneel een toetsenbord 502. De computerinrichting 501 is verbonden met een eerste aanwijsinrichting 503R en met een tweede aanwijsinrichting 503L, en voert een O/S en GUI uit (bijv. Windows 10 van Microsoft) dat een native muisaanwijzer/muiscursor 505 verschaft (hier getoond in de vorm van een witte pijl), en voert een overlay-applicatie uit volgens een uitvoeringsvorm van de onderhavige uitvinding, en voert optioneel één of meerdere andere applicaties uit, zoals bijv, een tekstverwerker, een PDF-documentviewer, een webbrowser, enz. De overlay-applicatie onderhoudt twee posities Posl, Pos2 in overeenstemming met bewegingen van de eerste en tweede aanwijsinrichting respectievelijk, en overschrijft herhaaldelijk de positie van de native muisaanwijzer/muiscursor 505 teneinde overeen te stemmen met bewegingen van de eerste aanwijsinrichting 503R. De overlay-applicatie maakt het mogelijk dat de native muisaanwijzer/muiscursor 505 van het O/S en de GUI getoond wordt als een eerste zichtbaar voorwerp in de plaats van deze te verbergen. De overlay-applicatie verschaft bijkomend een tweede zichtbaar voorwerp 506L dat beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting 503L.FIG. 5 shows a computer system 500 according to an embodiment of the present invention, comprising a computer device 501 and two pointing devices 503R, 503L and a display screen 504 and optionally a keyboard 502. The computer device 501 is connected to a first pointing device 503R and to a second pointing device 503L, and executes an O / S and GUI (e.g., Windows 10 from Microsoft) that provides a native mouse pointer / mouse cursor 505 (shown here in the form of a white arrow), and executes an overlay application according to an embodiment of the present invention, and optionally executes one or more other applications, such as, for example, a word processor, a PDF document viewer, a web browser, etc. The overlay application maintains two positions Pos1, Pos2 in accordance with movements of the first and second pointing device, respectively, and repeatedly overwrites the position of the native mouse pointer / mouse cursor 505 to match with movements of the first pointing device 503R. The overlay application allows the native mouse pointer / mouse cursor 505 of the O / S and the GUI to be displayed as a first visible object instead of hiding them. The overlay application additionally provides a second visible object 506L that moves in accordance with movements of the second pointing device 503L.

FIG. 5(a) toont bewegingen van het eerste zichtbaar voorwerp 505, zijnde de native muiscursor verschaft door het O/S en de GUI, in overeenstemming met bewegingen van de eerste aanwijsinrichting 503R. Het tweede zichtbaar voorwerp 506L toont de tweede onderhouden positie Pos2, maar is stationair in FIG. 5(a).FIG. 5 (a) shows movements of the first visible object 505, being the native mouse cursor provided by the O / S and the GUI, in accordance with movements of the first pointing device 503R. The second visible object 506L shows the second maintained position Pos2, but is stationary in FIG. 5 (a).

FIG. 5(b) toont bewegingen van het tweede zichtbaar voorwerp 506L verschaft door de overlay-applicatie, in overeenstemming met bewegingen van de tweede aanwijsinrichting 503L. Het eerste zichtbaar voorwerp 505 toont de eerste onderhouden positie Posl, maar is stationair in FIG. 5(b).FIG. 5 (b) shows movements of the second visible object 506L provided by the overlay application, in accordance with movements of the second pointing device 503L. The first visible object 505 shows the first maintained position Pos1, but is stationary in FIG. 5 (b).

FIG. 5(c) is een schematische voorstelling van een zogenoemde Z-orde van vijf vensters of beeldvlakken 581-585 en een cursorvlak 586 zoals gebruikt kan worden in het computersysteem 500 van FIG. 5(a) en FIG. 5(b).FIG. 5 (c) is a schematic representation of a so-called Z-order of five windows or image planes 581-585 and a cursor plane 586 as may be used in the computer system 500 of FIG. 5 (a) and FIG. 5 (b).

BE2017/5896BE2017 / 5896

Het vlak 581 kan een achtergrondvlak zijn (in het geval van Windows bekend als de desktop), het beeldvlak 582 kan de zichtbare voorstelling zijn van een venster geassocieerd met een teksteditor-applicatie bijvoorbeeld, het beeldvlak 583 kan de zichtbare voorstelling zijn van een venster geassocieerd met een PDF-viewerapplicatie bijvoorbeeld, het beeldvlak 584 kan de zichtbare voorstelling zijn van een venster geassocieerd met de grafische overlay-applicatie volgens de onderhavige uitvinding, het cursorvlak 586 is het beeldvlak geassocieerd met de native muiscursor verschaft door het O/S en de GUI, waarvan de vorm door een onderliggende applicatie gewijzigd kan worden. De grafische overlay-applicatie van de onderhavige uitvinding kan ook een optioneel gebruikersinterface-venster 585 hebben, een voorbeeld hiervan zal in FIG. 28 tot FIG. 31 beschreven worden. Het gebruikersinterface-venster 585 is niet geconfigureerd in doorklikmodus, maar is geconfigureerd in niet-doorklikmodus, wat wil zeggen dat zijn zichtbare componenten (bijv, knoppen, radioknoppen, checkboxes, enz.) in staat zijn (onder andere) muisklikken te ontvangen.The plane 581 can be a background plane (in the case of Windows known as the desktop), the image plane 582 can be the visible representation of a window associated with a text editor application, for example, the image plane 583 can be the visible representation of a window associated with a PDF viewer application, for example, the image plane 584 can be the visible representation of a window associated with the graphic overlay application according to the present invention, the cursor plane 586 is the image plane associated with the native mouse cursor provided by the O / S and the GUI , whose form can be changed by an underlying application. The graphic overlay application of the present invention may also have an optional user interface window 585, an example of which will be shown in FIG. 28 to FIG. 31 are described. The user interface window 585 is not configured in click-through mode, but is configured in non-click-through mode, meaning that its visible components (e.g., buttons, radio buttons, checkboxes, etc.) are able to receive (among other things) mouse clicks.

Het venster 584 van de overlay-applicatie kan een grootte hebben gelijk aan het zichtbare scherm, of gelijk aan het gebied van het desktopvlak 581, of gelijk aan het gebied van het zogenoemde werkgebied (d.w.z. het gebied van het scherm minus het gebied ingenomen door de zogenoemde taakbalk), of een andere geschikte grootte. Het venster 584 omvat ten minste één zichtbaar voorwerp 506L, bijvoorbeeld in de vorm van een rechthoekig voorwerp. Het voorwerp 506L kan ondoorzichtig of semi-transparant zijn. Het voorwerp 506L kan monochrome pixels hebben, bijvoorbeeld rode of blauwe pixels, of kan een bitmap hebben met een kleurgradiënt, enz. De andere pixels 594 van het venster 584 kunnen volledig transparante pixels zijn. Alternatief kan het venster 584 geconfigureerd zijn als een semi-transparant venster, bijvoorbeeld met een alfatransparantie in het bereik van 1% tot 99%, bijvoorbeeld in het bereik van 5% tot 95%. In dit geval kunnen de pixels van het venster 584 een kleur hebben, bijvoorbeeld een monochrome kleur, maar het venster 584 kan ook een geperforeerde bitmap of een textuurbitmap of een geperforeerde textuurbitmap omvatten. Deze aspecten zijn in meer detail beschreven in een mede in behandeling zijnde octrooiaanvrage ingediend door dezelfde aanvrager op dezelfde dag, met als titel METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHICAL IMAGE, met 42 conclusies, welk document door referentie hierin in zijn geheel is opgenomen, en waarnaar hierin verder wordt verwezen als de mede in behandeling zijnde geperforeerde bitmap aanvrage. In het geval van conflict tussen deze aanvrage en de mede in behandeling zijnde aanvrage, overheerst het onderhavige document.The window 584 of the overlay application can have a size equal to the visible screen, or equal to the area of the desktop surface 581, or equal to the area of the so-called work area (ie the area of the screen minus the area occupied by the so-called taskbar), or another suitable size. The window 584 comprises at least one visible object 506L, for example in the form of a rectangular object. The object 506L can be opaque or semi-transparent. The object 506L can have monochrome pixels, for example red or blue pixels, or can have a bitmap with a color gradient, etc. The other pixels 594 of the window 584 can be fully transparent pixels. Alternatively, the window 584 may be configured as a semi-transparent window, for example with an alpha transparency in the range of 1% to 99%, for example in the range of 5% to 95%. In this case, the pixels of the window 584 can have a color, for example a monochrome color, but the window 584 can also comprise a perforated bitmap or a texture bitmap or a perforated texture bitmap. These aspects are described in greater detail in a co-pending patent application filed by the same applicant on the same day, entitled METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHICAL IMAGE, with 42 claims, which document is herein by reference in its entirety and further referred to herein as the pending perforated bitmap application. In the event of a conflict between this application and the pending application, the present document prevails.

In het voorbeeld van FIG. 5(c) heeft de grafische overlay-applicatie twee vensters:In the example of FIG. 5 (c) the graphic overlay application has two windows:

- een venster 584 dat in doorklikmodus geconfigureerd is en hoofdzakelijk transparant of semi-transparant is (bijv, met een alfatransparantie in het bereik van 5% tot 95%),- a window 584 that is configured in click-through mode and is essentially transparent or semi-transparent (e.g., with an alpha transparency in the range of 5% to 95%),

- en een ander venster 585 dat bij voorkeur niet in doorklikmodus geconfigureerd is en dat voornamelijk ondoorzichtig is.and another window 585 which is preferably not configured in click-through mode and which is mainly opaque.

BE2017/5896BE2017 / 5896

FIG. 5(d) toont een hoog-niveau flowdiagram van een computer-geïmplementeerde werkwijze 570 volgens een uitvoeringsvorm van de onderhavige uitvinding, voor het verschaffen van een eerste en een tweede zichtbaar voorwerp 505, 506L separaat beweegbaar door respectievelijk een eerste aanwijsinrichting 503R en een tweede aanwijsinrichting 503L.FIG. 5 (d) shows a high-level flow diagram of a computer-implemented method 570 according to an embodiment of the present invention, for providing a first and a second visible object 505, 506L separately movable by a first pointing device 503R and a second pointing device 503L.

De werkwijze kan geïmplementeerd zijn in een overlay-applicatie 551 (zie FIG. 5f) die op de computerinrichting 501 (zie FIG. 5a) uitgevoerd kan worden, welke computerinrichting 501 ook een besturingssysteem O/S met een grafische gebruikersinterface GUI omvat dat één enkele native muiscursor 505 verschaft. De computerinrichting 501 is verbonden met de eerste en de tweede aanwijsinrichting 503R, 503L. De werkwijze onderhoudt twee posities Posl en Pos2 (zie ook FIG. 5f). De werkwijze weergegeven in FIG. 5d omvat de volgende stappen:The method can be implemented in an overlay application 551 (see FIG. 5f) that can be executed on the computer device 501 (see FIG. 5a), which computer device 501 also comprises an operating system O / S with a graphical user interface GUI that has a single native mouse cursor 505. The computer device 501 is connected to the first and the second pointing device 503R, 503L. The method maintains two positions Pos1 and Pos2 (see also FIG. 5f). The method shown in FIG. 5d includes the following steps:

a) het configureren, 571 van het besturingssysteem O/S met grafische gebruikersinterface GUI om de native muiscursor 505 te verschaffen als het eerste zichtbaar voorwerp, bijv, door toe te laten dat het O/S de muiscursor toont of door de muiscursor niet expliciet te verbergen;a) configuring 571 the operating system O / S with graphical user interface GUI to provide the native mouse cursor 505 as the first visible object, e.g., by allowing the O / S to display the mouse cursor or not explicitly using the mouse cursor. hide;

b) het verschaffen 572 van een grafisch overlayvenster 584 omvattende het tweede zichtbaar voorwerp 506L;b) providing 572 a graphic overlay window 584 comprising the second visible object 506L;

c) het configureren 573 van het grafisch overlayvenster 584 in doorklikmodus;c) configuring 573 of the graphic overlay window 584 in click-through mode;

e) het aanpassen van een positie van de native muiscursor 505 in overeenstemming met bewegingen van de eerste aanwijsinrichting 503R, en het aanpassen van een positie van het tweede zichtbaar voorwerp 506L in overeenstemming met bewegingen van de tweede aanwijsinrichting 503L.e) adjusting a position of the native mouse cursor 505 in accordance with movements of the first pointing device 503R, and adjusting a position of the second visible object 506L in accordance with movements of the second pointing device 503L.

In een uitvoeringsvorm wordt de positie van het eerste zichtbaar voorwerp 505 bijgewerkt aan dezelfde frequentie als de positie van het tweede zichtbaar voorwerp 506L.In one embodiment, the position of the first visible object 505 is updated to the same frequency as the position of the second visible object 506L.

In een andere uitvoeringsvorm wordt de positie van het eerste zichtbaar voorwerp 505 bijgewerkt aan een andere frequentie dan de positie van het tweede zichtbaar voorwerp 506L. Bijvoorbeeld, de positie van de native muiscursor kan bijgewerkt worden in een berichtenverwerkingsroutine (zie bijvoorbeeld FIG. 5g), en de positie van het tweede zichtbaar voorwerp kan bijvoorbeeld bijgewerkt worden op basis van een timer-interrupt.In another embodiment, the position of the first visible object 505 is updated to a different frequency than the position of the second visible object 506L. For example, the position of the native mouse cursor can be updated in a message processing routine (see, e.g., FIG. 5g), and the position of the second visible object can, for example, be updated based on a timer interrupt.

FIG. 5(f) toont een meer gedetailleerd voorbeeld van een computer-geïmplementeerde werkwijze volgens een uitvoeringsvorm van de onderhavige uitvinding, die gezien kan worden als een speciaal geval van de werkwijze getoond in FIG. 5(d). De werkwijze van FIG. 5(e) omvat verder stap d):FIG. 5 (f) shows a more detailed example of a computer-implemented method according to an embodiment of the present invention, which can be seen as a special case of the method shown in FIG. 5 (d). The method of FIG. 5 (e) further comprises step d):

d) het configureren 574 van het besturingssysteem O/S om ruwe inputberichten te zenden;d) configuring the operating system O / S to send raw input messages 574;

In het geval dat het O/S een Microsoft Windows variant is, kan deze stap het registreren omvatten van de applicatie bij het O/S voor het ontvangen van ruwe inputgegevens, bijv, in de vorm van inputberichten bekend als WM_INPUT berichten, bijvoorbeeld gebruikmakende van de WinAPI functie RegisterRawlnputDevices(). Er wordt opgemerkt dat applicaties niet automatisch ruwe inputberichten ontvangen.In the case that the O / S is a Microsoft Windows variant, this step may include registering the application with the O / S for receiving raw input data, e.g., in the form of input messages known as WM_INPUT messages, e.g. using the WinAPI function RegisterRawlnputDevices (). It is noted that applications do not automatically receive raw input messages.

BE2017/5896BE2017 / 5896

En waarbij stap e) omvat: het herhaaldelijk uitvoeren van:And wherein step e) comprises: repeatedly performing:

f) het ontvangen 575 van een ruw inputbericht;f) receiving 575 a raw input message;

g) het bepalen of het ruwe inputbericht gerelateerd is aan een beweging van de eerste of tweede aanwijsinrichting 503R, 503L, en indien het resultaat van deze test waar is, het verkrijgen van verplaatsingsinformatie dx, dy gerelateerd aan de verplaatsing, en het bijwerken van de overeenkomstige eerste of tweede positie Posl, Pos2; en indien het resultaat van deze test is onwaar, het overslaan van stap h);g) determining whether the raw input message is related to a movement of the first or second pointing device 503R, 503L, and if the result of this test is true, obtaining displacement information dx, dy related to the displacement, and updating the corresponding first or second position Pos1, Pos2; and if the result of this test is false, skip step h);

h) het aanpassen 577 van de positie van de native muiscursor 505 op basis van de eerste onderhouden positie Posl, of de tweede onderhouden positie Pos2, of de positie Posl of Pos2 geassocieerd met de aanwijsinrichting die het meest recent werd bediend. In het voorbeeld van FIG. 5(a) en FIG. 5(b) wordt de positie van de native muiscursor 505 altijd bijgewerkt in overeenstemming met bewegingen van de eerste aanwijsinrichting 503R, maar zoals verder uitgelegd zal worden kan deze positie ook op een andere manier bijgewerkt worden.h) adjusting 577 the position of the native mouse cursor 505 based on the first maintained position Pos1, or the second maintained position Pos2, or the position Pos1 or Pos2 associated with the pointing device that was most recently operated. In the example of FIG. 5 (a) and FIG. 5 (b) the position of the native mouse cursor 505 is always updated in accordance with movements of the first pointing device 503R, but as will be further explained, this position may also be updated in a different manner.

En waarbij stap e) verder omvat:And wherein step e) further comprises:

i) het herhaaldelijk aanpassen 578 van een positie van het tweede zichtbaar voorwerp 506L in overeenstemming met de tweede positie (Pos2). Deze stap i) kan ook asynchroon uitgevoerd worden ten opzichte van stappen f) tot h), om performance-redenen. Alternatief kan stap i) uitgevoerd worden na elk uitvoering van stap h).i) repeatedly adjusting 578 a position of the second visible object 506L in accordance with the second position (Pos2). This step i) can also be performed asynchronously with respect to steps f) to h), for performance reasons. Alternatively, step i) can be performed after each execution of step h).

Stap g) in combinatie met stap h) wordt hierin ook de positiebijwerkingsroutine genoemd, het is een gedeelte van de berichtenverwerkingsroutine. Stap i) wordt hierin ook voorwerpherpositioneringsroutine genoemd.Step g) in combination with step h) is also referred to herein as the position update routine, it is a part of the message processing routine. Step i) is also referred to herein as article repositioning routine.

FIG. 5(f) toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in het computersysteem 500, omvattende een computerinrichting 501 met een speciale overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee klassieke aanwijsinrichtingen Ml, M2.FIG. 5 (f) shows a simplified high-level block diagram of hardware and software components located in the computer system 500, comprising a computer device 501 with a special overlay application according to an embodiment of the present invention, and two classical pointing devices M1, M2.

De overlay-applicatie onderhoudt twee aanwijsposities: een eerste positie Posl die coördinaten (xl, yl) heeft en een tweede positie Pos2 die coördinaten (x2, y2) heeft. Een berichtenverwerker 552 van de overlay-applicatie 551 zal de eerste en tweede positie Posl, Pos2 bijwerken op basis van bewegingen van de twee aanwijsinrichtingen, verder besproken in FIG. 5(g).The overlay application maintains two pointer positions: a first position Pos1 that has coordinates (x1, yl) and a second position Pos2 that has coordinates (x2, y2). A message processor 552 of the overlay application 551 will update the first and second positions Pos1, Pos2 based on movements of the two pointing devices, further discussed in FIG. 5 (g).

De grafische overlay-applicatie van het systeem 500 past herhaaldelijk de positie van de native muiscursor 505 aan naar de eerste onderhouden positie Posl, overeenkomstig bewegingen van de rechter muisinrichting 503R, en past herhaaldelijk de positie van het tweede zichtbaar voorwerp 506L aan om overeen te stemmen met de tweede onderhouden positie Pos2, overeenkomstig bewegingen van de linker muisinrichting 503L, of omgekeerd.The graphic overlay application of the system 500 repeatedly adjusts the position of the native mouse cursor 505 to the first serviced position Pos1, according to movements of the right mouse device 503R, and repeatedly adjusts the position of the second visible object 506L to match with the second maintained position Pos2, corresponding to movements of the left mouse device 503L, or vice versa.

BE2017/5896BE2017 / 5896

FIG. 5(g) toont enkele regels pseudo-code om een vereenvoudigde versie te illustreren van een berichtenverwerkingsroutine zoals gebruikt kan worden in de overlay-applicatie 551 die in de computerinrichting 501 van FIG. 5(a) en FIG. 5(b) wordt uitgevoerd. De berichtenverwerker 552 wordt getriggerd door binnenkomende ruwe berichten vanuit inputinrichtingen (zoals bijv, toetsenbord en/of aanwijsinrichtingen) op een wijze die op zich gekend is in de stand der techniek. De berichtenverwerker kan verdere informatie gerelateerd aan elk bericht verkrijgen of verzoeken, bijvoorbeeld om een device-handle te krijgen teneinde te bepalen welke aanwijsinrichting het bericht verzonden heeft, en/of om een horizontale en verticale verplaatsing dx, dy te krijgen als indicatie voor een beweging in de horizontale en/of verticale richting, en/of om een waarde te krijgen als indicatie van hoeveel een scrollwiel gescrold is, enz.FIG. 5 (g) shows some lines of pseudo-code to illustrate a simplified version of a message processing routine such as can be used in the overlay application 551 that is in the computer device 501 of FIG. 5 (a) and FIG. 5 (b) is performed. The message processor 552 is triggered by incoming raw messages from input devices (such as, e.g., keyboard and / or pointing devices) in a manner known per se in the prior art. The message processor can obtain or request further information related to each message, for example to get a device handle to determine which pointing device has sent the message, and / or to get a horizontal and vertical movement dx, dy as an indication of a movement in the horizontal and / or vertical direction, and / or to get a value as an indication of how much a scroll wheel has been scrolled, etc.

Zoals uit de pseudo-code begrepen kan worden, indien het bericht door de linker aanwijsinrichting 503L werd verzonden, zal de tweede positie Pos2 bijgewerkt worden gebruikmakende van de verplaatsingswaardes dx, dy, en zal de positie van de native muiscursor 505 ingesteld (of teruggezet) worden naar de eerste positie Posl gerelateerd aan de rechter aanwijsinrichting 503R. Indien het bericht door de rechter aanwijsinrichting 503R verzonden werd, zal de eerste positie Posl bijgewerkt worden gebruikmakende van de verplaatsingswaardes dx, dy, en zal de positie van de native muiscursor 505 aangepast worden om dienovereenkomstig te bewegen. Testen hebben aangetoond dat deze routine ook gelijktijdige bewegingen van de linker en rechter aanwijsinrichting 503L, 503R correct afhandelt.As can be understood from the pseudo-code, if the message was sent by the left pointing device 503L, the second position Pos2 will be updated using the displacement values dx, dy, and the position of the native mouse cursor 505 will be set (or reset) to the first position Pos1 are related to the right pointing device 503R. If the message was sent by the right pointing device 503R, the first position Pos1 will be updated using the displacement values dx, dy, and the position of the native mouse cursor 505 will be adjusted to move accordingly. Tests have shown that this routine also correctly handles simultaneous movements of the left and right pointing devices 503L, 503R.

In het voorbeeld getoonde in FIG. 5(g) worden de X en Y-coördinaat van de eerste en tweede positie Posl, Pos2 verhoogd met de verplaatsingswaardes dx, dy zoals ontvangen van de aanwijsinrichtingen, maar in de praktijk kunnen de verplaatsingswaardes dx, dy eerst getransformeerd worden, lineair of niet-lineair, om de bewegingen minder of meer gevoelig te maken (zie de radioknoppen Snelheid Linker/Rechter Muis en de snelheidscurve in FIG. 31a).In the example shown in FIG. 5 (g), the X and Y coordinates of the first and second positions Pos1, Pos2 are increased by the displacement values dx, dy as received from the pointing devices, but in practice, the displacement values dx, dy can be first transformed, linear or not -linear, to make the movements less or more sensitive (see the left / right mouse speed buttons and the speed curve in FIG. 31a).

Zoals in FIG. 31(b) en FIG. 31(c) verder zal worden besproken, zijn andere aanpassingen van de verplaatsingswaardes mogelijk.As in FIG. 31 (b) and FIG. 31 (c) to be discussed further, other adjustments to the displacement values are possible.

FIG. 5(h) toont enkele regels pseudo-code om een vereenvoudigde versie te illustreren van een routine die de positie van het tweede zichtbaar voorwerp 506L bijwerkt, in het voorbeeld zijnde een rechthoek, maar de onderhavige uitvinding is daartoe niet beperkt. Deze routine kan op een timerinterrupt gebaseerd zijn. Op deze manier kan het bijwerken van de positie van het tweede zichtbaar voorwerp 506L buiten de berichtenverwerker behandeld worden, wat om prestatieredenen de voorkeur kan genieten. De periode van de timer kan bijvoorbeeld gekozen worden in het bereik van 1 ms tot 250 ms, bij voorkeur in het bereik van ongeveer 1 ms tot ongeveer 100 ms, bijvoorbeeld gelijk aan ongeveer 1 ms of ongeveer 5 ms of ongeveer 10 ms of ongeveer 20 ms of ongeveer 25 ms of ongeveer 30 ms of ongeveer 35 ms of ongeveer 40 ms of ongeveer 50 ms of ongeveer 75 ms ofFIG. 5 (h) shows some lines of pseudo-code to illustrate a simplified version of a routine that updates the position of the second visible object 506L, in the example being a rectangle, but the present invention is not limited thereto. This routine can be based on a timer interrupt. In this way, updating the position of the second visible object 506L outside of the message processor can be handled, which may be preferred for performance reasons. The period of the timer can be selected, for example, in the range of 1 ms to 250 ms, preferably in the range of about 1 ms to about 100 ms, e.g. equal to about 1 ms or about 5 ms or about 10 ms or about 20 ms or about 25 ms or about 30 ms or about 35 ms or about 40 ms or about 50 ms or about 75 ms or

BE2017/5896 ongeveer 100 ms. De waarde van deze periode is niet kritisch. Hoe kleiner deze tijdsperiodewaarde, hoe sneller de respons, maar hoe hoger de CPU-belasting. Hoe groter deze tijdsperiodewaarde, hoe trager de respons, maar hoe lager de CPU-belasting. De vakman kan eenvoudig een geschikte waarde vinden door routinematig experimenteren. Sommige uitvoeringsvorm kunnen de eindgebruiker toelaten om een geprefereerde timerwaarde te kiezen.BE2017 / 5896 approximately 100 ms. The value of this period is not critical. The smaller this time period value, the faster the response, but the higher the CPU load. The greater this time period value, the slower the response, but the lower the CPU load. The skilled person can easily find a suitable value by routine experimentation. Some embodiments may allow the end user to choose a preferred timer value.

FIG. 5(a) tot FIG. 5(h) illustreren een eerste uitvoeringsvorm van de onderhavige uitvinding, in het bijzonder geschikt voor rechtshändige mensen. Het O/S en GUI verschaffen de native muiscursor 505, maar de overlay-applicatie past herhaaldelijk diens positie aan, zodanig dat de positie enkel gedefinieerd wordt door bewegingen van de rechter muisinrichting 503R. De rechter muisinrichting 503R kan bewogen worden, zijn knoppen kunnen ingedrukt of losgelaten of geklikt worden, en zijn scrollwiel kan gescrold worden zoals in de stand der techniek. Daarenboven toont de overlay-applicatie een tweede zichtbaar voorwerp 506L, dat in het voorbeeld van FIG. 5(a) de vorm heeft van een lijn of rechthoek, en de overlay-applicatie past herhaaldelijk diens positie aan, zodanig dat de positie enkel gedefinieerd wordt door bewegingen van de linker muisinrichting 503L. Deze uitvoeringsvorm adresseert met succes de in FIG. 1 tot FIG. 3 weergegeven problemen. De gebruiker kan zijn nietdominante hand gebruiken om het tweede voorwerp 506L te bewegen om tekst die hij of zij wil lezen te onderlijnen of te markeren, en kan zijn dominante hand gebruiken om een document te bewerken, tekst te kiezen, menu's te kiezen enz., gebruikmakende van de native muiscursor 505. Dus de overlayapplicatie verbetert het O/S en GUI door één additioneel zichtbaar voorwerp 506L te verschaffen dat beweegbaar is door de linker aanwijsinrichting 503L, terwijl de meeste of alle functionaliteit van de native muiscursor behouden blijft. Het additioneel zichtbaar voorwerp 506L kan bijvoorbeeld gebruikt worden voor het onderlijnen of markeren van tekstfragmenten.FIG. 5 (a) to FIG. 5 (h) illustrate a first embodiment of the present invention, particularly suitable for legal people. The O / S and GUI provide the native mouse cursor 505, but the overlay application repeatedly adjusts its position such that the position is only defined by movements of the right mouse device 503R. The right mouse device 503R can be moved, its buttons can be pressed or released or clicked, and its scroll wheel can be scrolled as in the prior art. In addition, the overlay application shows a second visible object 506L, which in the example of FIG. 5 (a) is in the form of a line or rectangle, and the overlay application repeatedly adjusts its position such that the position is defined only by movements of the left mouse device 503L. This embodiment successfully addresses the data shown in FIG. 1 to FIG. 3 problems shown. The user can use his non-dominant hand to move the second object 506L to underline or highlight text he or she wants to read, and can use his dominant hand to edit a document, select text, choose menus, etc. using the native mouse cursor 505. Thus, the overlay application improves the O / S and GUI by providing one additional visible object 506L that is movable through the left pointing device 503L, while maintaining most or all of the functionality of the native mouse cursor. The additional visible object 506L can, for example, be used for underlining or marking text fragments.

In een uitvoeringsvorm kan de overlay-applicatie een speciaal daarvoor voorziene applicatie zijn die enkel het specifieke gedrag weergegeven in FIG. 5(a) en FIG. 5(b) implementeert, waarbij de native muiscursor 505 door de rechter aanwijsinrichting wordt bewogen, en een tweede zichtbaar voorwerp 506L dat de vorm heeft van een lijn beweegbaar is door de linker aanwijsinrichting, in welk geval het gebruikersinterface-venster 585 kan worden weggelaten.In one embodiment, the overlay application may be a specially provided application that only displays the specific behavior shown in FIG. 5 (a) and FIG. 5 (b), wherein the native mouse cursor 505 is moved by the right pointing device, and a second visible object 506L that is in the form of a line movable by the left pointing device, in which case the user interface window 585 can be omitted.

In een andere uitvoeringsvorm kan de overlay-applicatie verscheidene opties implementeren, en kan een gebruiker een modus kiezen uit een veelheid van modi. In dit geval is een gebruikersinterface-venster handig, zie bijvoorbeeld de voorbeeldmatige gebruikersinterface van FIG. 28(a), bijv, modus 2860(d), en de voorbeeldmatige gebruikersinterface van FIG. 30, bijv, modus 3060(d). De grote rechter muis getoond aan de linkerzijde van FIG. 28(a) is een hint aan de gebruiker dat de rechter muis de dominante muis is voor de modi 3060, wat wil zeggen dat de rechter muisinrichting de native muiscursor 505 aanstuurt. De kleine linker muis is een hint aan deIn another embodiment, the overlay application can implement various options, and a user can choose a mode from a plurality of modes. In this case, a user interface window is useful, see for example the exemplary user interface of FIG. 28 (a), e.g., mode 2860 (d), and the exemplary user interface of FIG. 30, e.g., mode 3060 (d). The large right mouse shown on the left of FIG. 28 (a) is a hint to the user that the right mouse is the dominant mouse for the 3060 modes, that is, the right mouse device controls the native mouse cursor 505. The small left mouse is a hint to the

BE2017/5896 gebruiker dat de linker muisinrichting de niet-dominant muis is die het tweede zichtbaar voorwerp aanstuurt, in het geval van modus 2860(d) zijnde een lijn of rechthoek.BE2017 / 5896 user that the left mouse device is the non-dominant mouse controlling the second visible object, in the case of mode 2860 (d) being a line or rectangle.

FIG. 6(a) tot FIG. 6(c) toont een computersysteem 600 volgens een andere uitvoeringsvorm van de onderhavige uitvinding, dat gezien kan worden als een variant van het computersysteem 500 van FIG. 5, waarbij een computerinrichting 601 verbonden is met een eerste en tweede aanwijsinrichting 603R, 603L, en een O/S en GUI (bijv. Windows 10) uitvoert dat een native muisaanwijzer 605 verschaft (bijv, met de vorm van een witte pijl), en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert. De overlay-applicatie onderhoudt een eerste en een tweede positie Posl, Pos2 in overeenstemming met bewegingen van respectievelijk de eerste en tweede aanwijsinrichting 603R, 603L, en past de positie van de native muisaanwijzer 605 aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de eerste aanwijsinrichting 603R. De overlay-applicatie verschaft een tweede zichtbaar voorwerp 606L dat beweegt in overeenstemming met bewegingen van de tweede aanwijsinrichting 603L, en verschaft ook een derde zichtbaar voorwerp 606R dat beweegt in overeenstemming met bewegingen van de eerste aanwijsinrichting 603R. In het voorbeeld van FIG. 6 zijn het tweede en het derde voorwerp 606L en 606R rechthoeken die dezelfde grootte en kleur hebben, maar dat is niet absoluut vereist, en de twee zichtbare voorwerpen kunnen een verschillende grootte en/of een verschillende vorm en/of een verschillende kleur hebben. Dus, de overlay-applicatie gebruikt in het computersysteem 600 van FIG. 6 verbetert het O/S en de GUI door twee additionele zichtbare voorwerpen 606L, 606R te verschaffen die beweegbaar zijn door de twee aanwijsinrichtingen 603L, 603R, en die bijvoorbeeld gebruikt kunnen worden voor het onderlijnen of markeren van tekstfragmenten van klassieke applicaties die op de computer worden uitgevoerd, bijvoorbeeld: een tekstverwerker, een webbrowser, een slideshow, een PowerPointpresentatie, een PDF-documentviewer, enz. De voorwerpen 606L, 606R kunnen ondoorzichtig of semi-transparant zijn of kunnen een geperforeerde bitmap bevatten zoals beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage.FIG. 6 (a) to FIG. 6 (c) shows a computer system 600 according to another embodiment of the present invention, which can be seen as a variant of the computer system 500 of FIG. 5, wherein a computer device 601 is connected to a first and second pointing device 603R, 603L, and executes an O / S and GUI (e.g., Windows 10) that provides a native mouse pointer 605 (e.g., in the form of a white arrow), and executes an overlay application according to an embodiment of the present invention. The overlay application maintains a first and a second position Pos1, Pos2 in accordance with movements of the first and second pointing devices 603R, 603L, respectively, and adjusts the position of the native mouse pointer 605, for example, overwrites it in accordance with movements of the first pointing device 603R. The overlay application provides a second visible object 606L that moves in accordance with movements of the second pointing device 603L, and also provides a third visible object 606R that moves in accordance with movements of the first pointing device 603R. In the example of FIG. 6, the second and third objects are 606L and 606R rectangles that have the same size and color, but this is not absolutely required, and the two visible objects can have a different size and / or a different shape and / or a different color. Thus, the overlay application used in the computer system 600 of FIG. 6 improves the O / S and the GUI by providing two additional visible objects 606L, 606R that are movable through the two pointing devices 603L, 603R, and which can be used, for example, to underline or highlight text fragments of classic applications that are on the computer for example: a word processor, a web browser, a slideshow, a PowerPoint presentation, a PDF document viewer, etc. The objects 606L, 606R can be opaque or semi-transparent or can contain a perforated bitmap as described in the co-pending perforated bitmap application.

FIG. 6(a) toont bewegingen van het eerste zichtbaar voorwerp 605 (de native muiscursor) en bewegingen van het derde zichtbaar voorwerp 606R in overeenstemming met bewegingen van de eerste aanwijsinrichting 603R.FIG. 6 (a) shows movements of the first visible object 605 (the native mouse cursor) and movements of the third visible object 606R in accordance with movements of the first pointing device 603R.

FIG. 6(b) toont bewegingen van het tweede zichtbaar voorwerp 606L in overeenstemming met bewegingen van de tweede aanwijsinrichting 603L.FIG. 6 (b) shows movements of the second visible object 606L in accordance with movements of the second pointing device 603L.

FIG. 6(c) toont een voorbeeldmatige voorwerp-herpositioneringsroutine die gebruikt kan worden in de overlay-applicatie om de twee zichtbare voorwerpen 606L, 606R te bewegen, in pseudocode. Eenvoudig gesteld, worden de coördinaten van het voorwerp 606L (genoemd rectangleL) bijgewerkt volgens de tweede positie Pos2 geassocieerd met de tweede muisinrichting 603L, en worden de coördinaten van het voorwerp 606R (genoemd rectangleR) bijgewerkt volgens de eersteFIG. 6 (c) shows an exemplary object repositioning routine that can be used in the overlay application to move the two visible objects 606L, 606R, in pseudocode. Simply put, the coordinates of the object 606L (called rectangleL) are updated according to the second position Pos2 associated with the second mouse device 603L, and the coordinates of the object 606R (called rectangleR) are updated according to the first

BE2017/5896 positie Posl geassocieerd met de eerste muisinrichting 603R. Deze stappen worden herhaaldelijk uitgevoerd, bijvoorbeeld op basis van een timer.BE2017 / 5896 position Pos1 associated with the first mouse device 603R. These steps are performed repeatedly, for example on the basis of a timer.

Er wordt op gewezen dat, in FIG. 6(a) en FIG. 6(b), het eerste zichtbaar voorwerp 606R wordt getoond aan de rechterzijde van het scherm 604, en het tweede zichtbaar voorwerp 606L wordt getoond aan de linkerzijde van het scherm 604, maar dat is niet absoluut vereist, en beide voorwerpen kunnen overal op het scherm bewogen worden, zoals bijvoorbeeld getoond in FIG. 37. In de praktijk echter, zal een gebruiker het typisch meer intuïtief vinden om het voorwerp gerelateerd aan de linker aanwijsinrichting aan de linkerzijde van het scherm te positioneren. In andere uitvoeringsvormen is de beweging van het tweede en optioneel verder(e) voorwerp(en) 3906R, 3906L beperk, zoals bijvoorbeeld getoond in FIG. 39, dat later zal besproken worden, maar zelfs dan is de beweging van de native muiscursor 3905 bij voorkeur niet beperkt.It is to be noted that, in FIG. 6 (a) and FIG. 6 (b), the first visible object 606R is shown on the right-hand side of the screen 604, and the second visible object 606L is shown on the left-hand side of the screen 604, but that is not absolutely required, and both objects can be displayed anywhere on it screen can be moved, as shown for example in FIG. 37. In practice, however, a user will typically find it more intuitive to position the object related to the left pointing device on the left side of the screen. In other embodiments, the movement of the second and optionally further object (s) 3906R, 3906L is limited, as shown, for example, in FIG. 39, which will be discussed later, but even then, the movement of the native mouse cursor 3905 is preferably not limited.

Het computersysteem 600 van FIG. 6 kan bijvoorbeeld gebruikt worden door proeflezers voor het schijnbaar onderlijnen van tekstgedeeltes in twee documenten die zijde aan zijde op het scherm 604 worden getoond, zonder de inhoud van de documenten zelf daadwerkelijk te wijzigen. Het is een belangrijk voordeel dat tekstfragmenten schijnbaar onderlijnd kunnen worden in twee verschillende documenten tegelijk. Dit kan de cognitieve last van de gebruiker drastisch verlagen bij het heen en weer wisselen van focus tussen de twee documenten. Het is een belangrijk voordeel dat de tekstfragmenten onafhankelijk onderlijnd kunnen worden (in tegenstelling tot bijvoorbeeld tekstverwerkers die enkel synchrone navigatie doorheen twee tekstdocumenten mogelijk maken), niet slechts omdat zinnen in één taal langer of korter kunnen zijn dan zinnen in een andere taal, maar ook omdat de twee documenten een verschillende formattering kunnen hebben, bijv, een verschillende layout en/of een verschillende lettertype en/of een verschillende lijntussenafstand, enz. Het is een voordeel dat de tweede muis en het tweede voorwerp gebruikt kunnen worden in combinatie met bijna iedere onderliggende applicatie, bijv, een tekstverwerker, een PDF-documentlezer, een werkblad, een webbrowser, een PowerPoint-toepassing, enz. zonder ook maar één van deze applicaties te hoeven wijzigen. Bijvoorbeeld, het voorwerp 606L kan bewogen worden over een PDF-document, en het voorwerp 606R kan bewogen worden over een tekstdocument, en omgekeerd. In het voorbeeld van FIG. 6(a) en FIG. 6(b), beweegt de native muiscursor 605 mee met het voorwerp 606R.The computer system 600 of FIG. 6 can be used, for example, by proofreaders for the apparent underlining of text portions in two documents which are shown side by side on the screen 604, without actually changing the content of the documents themselves. It is an important advantage that text fragments can appear to be underlined in two different documents at the same time. This can dramatically reduce the cognitive burden of the user when switching focus between the two documents. It is an important advantage that the text fragments can be independently underlined (unlike, for example, word processors that only allow synchronous navigation through two text documents), not only because sentences in one language can be longer or shorter than sentences in another language, but also because the two documents can have a different formatting, for example, a different layout and / or a different font and / or a different line spacing, etc. It is an advantage that the second mouse and the second object can be used in combination with almost any underlying application, for example, a word processor, a PDF document reader, a worksheet, a web browser, a PowerPoint application, etc. without having to change any of these applications. For example, the object 606L can be moved over a PDF document, and the object 606R can be moved over a text document, and vice versa. In the example of FIG. 6 (a) and FIG. 6 (b), the native mouse cursor 605 moves with the object 606R.

De gebruiker kan de native muiscursor 605 gebruiken om overal op het scherm te klikken en/of te slepen en/of menu-opties te kiezen, bijvoorbeeld om in het tekstdocument tekst te selecteren die vervolgens gewist of door andere tekst vervangen kan worden gebruikmakende van het toetsenbord 602, of om in de taakbalk (niet expliciet getoond) nieuwe applicaties te openen op dezelfde wijze als zonder de grafische overlay-applicatie kan gedaan worden.The user can use the native mouse cursor 605 to click and / or drag anywhere on the screen and / or select menu options, for example to select text in the text document that can then be deleted or replaced with other text using the keyboard 602, or to open new applications in the taskbar (not explicitly shown) in the same way as without the graphical overlay application can be done.

In de voorbeeldmatige gebruikersinterface van FIG. 28(a), kan het gedrag van FIG. 6(a) en FIG. 6(b) overeenstemmen met modus 2860(h). (het woord kan wordt gebruikt, omdat verscheidene variaties mogelijk zijn, bijvoorbeeld voor de berichtenverwerker, zoals verder duidelijk zal worden).In the exemplary user interface of FIG. 28 (a), the behavior of FIG. 6 (a) and FIG. 6 (b) correspond to mode 2860 (h). (the word can be used because various variations are possible, for example for the message processor, as will become clear further).

BE2017/5896BE2017 / 5896

FIG. 7 toont een computersysteem 700 volgens een andere uitvoeringsvorm van de onderhavige uitvinding, die gezien kan worden als een variant van het computersysteem 600 van FIG. 6, waarbij een computerinrichting 701 verbonden is met een eerste aanwijsinrichting 703R en een tweede aanwijsinrichting 703L, en een O/S en GUI uitvoert dat een native muisaanwijzer of muiscursor 705 verschaft (bijv, een witte pijl), en een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert, die een tweede en een derde zichtbaar voorwerp 706L, 706R verschaft.FIG. 7 shows a computer system 700 according to another embodiment of the present invention, which can be seen as a variant of the computer system 600 of FIG. 6, wherein a computer device 701 is connected to a first pointing device 703R and a second pointing device 703L, and executes an O / S and GUI that provides a native mouse pointer or mouse cursor 705 (e.g., a white arrow), and an overlay application according to a An embodiment of the present invention that provides a second and a third visible object 706L, 706R.

De overlay-applicatie onderhoudt een eerste en een tweede aanwijspositie Posl, Pos2 in overeenstemming met bewegingen van de eerste en tweede aanwijsinrichting 703R, 703L respectievelijk, en past de positie van de native muisaanwijzer/-cursor 705 aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de aanwijsinrichting die het meest recent werd bewogen. Dus, indien de rechter aanwijsinrichting 703R bewogen wordt en de linker aanwijsinrichting 703L stationair is, zoals weergegeven in FIG. 7(a), dan volgt de native muiscursor 705 bewegingen van de rechter aanwijsinrichting 703R, en kunnen de knoppen en/of het scrollwiel van de rechter aanwijsinrichting 703R gebruikt worden. Indien op een ander moment in tijd de linker aanwijsinrichting 703L bewogen wordt en de rechter aanwijsinrichting 703R stationair is, zoals weergegeven in FIG. 7(b), dan volgt de native muiscursor 705 bewegingen van de linker aanwijsinrichting 703L, en kunnen de knoppen en/of het scrollwiel van de linker aanwijsinrichting 703L gebruikt worden. Zoals begrepen kan worden uit FIG. 7(a) en FIG. 7(b) volgt de native muiscursor bewegingen van de aanwijsinrichting die bewogen is, tot het moment dat de andere aanwijsinrichting bewogen wordt, hetgeen veroorzaakt dat de native muisaanwijzer naar de andere onderhouden positie springt. Op deze wijze kan de gebruiker de native muisaanwijzer op twee verschillende locaties van het scherm gebruiken, zij het op verschillende momenten in tijd. Of met andere woorden uitgedrukt, in deze uitvoeringsvorm, wordt de native muiscursor 705 die verschaft wordt door het O/S en de GUI tijdelijk geassocieerd met één van de aanwijsinrichtingen 703L, 703R op elk moment in de tijd, dus de native muisaanwijzer 705 wordt gedeeld in tijd tussen de twee aanwijsinrichtingen.The overlay application maintains a first and a second pointer position Pos1, Pos2 in accordance with movements of the first and second pointer 703R, 703L, respectively, and adjusts the position of the native mouse pointer / cursor 705, e.g., overwrites it, in accordance with movements of the pointing device that was most recently moved. Thus, if the right pointing device 703R is moved and the left pointing device 703L is stationary, as shown in FIG. 7 (a), the native mouse cursor 705 follows movements of the right pointing device 703R, and the buttons and / or the scroll wheel of the right pointing device 703R can be used. If the left pointing device 703L is moved at a different time in time and the right pointing device 703R is stationary, as shown in FIG. 7 (b), then the native mouse cursor 705 follows movements of the left pointing device 703L, and the buttons and / or the scroll wheel of the left pointing device 703L can be used. As can be understood from FIG. 7 (a) and FIG. 7 (b) the native mouse cursor follows movements of the pointing device that has been moved until the other pointing device is moved, causing the native mouse pointer to jump to the other maintained position. In this way the user can use the native mouse pointer at two different locations of the screen, albeit at different times in time. Or in other words, in this embodiment, the native mouse cursor 705 provided by the O / S and the GUI is temporarily associated with one of the pointing devices 703L, 703R at any time in time, so the native mouse pointer 705 is shared in time between the two indicating devices.

FIG. 7(c) is een hoog-niveau flowdiagram dat een computer-geïmplementeerde werkwijze toont volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het computersysteem van FIG. 7(a).FIG. 7 (c) is a high-level flow diagram showing a computer-implemented method according to an embodiment of the present invention, as can be used in the computer system of FIG. 7 (a).

FIG. 7(c) toont een computer-geïmplementeerde werkwijze voor het verschaffen van een eerste zichtbaar voorwerp 705 en een tweede zichtbaar voorwerp 706L en een derde zichtbaar voorwerp 706R. Het derde zichtbaar voorwerp 706R is beweegbaar door een eerste aanwijsinrichting 703R. Het tweede zichtbaar voorwerp 706L is separaat beweegbaar door een tweede aanwijsinrichtingFIG. 7 (c) shows a computer-implemented method for providing a first visible object 705 and a second visible object 706L and a third visible object 706R. The third visible object 706R is movable through a first pointing device 703R. The second visible object 706L is movable separately by a second pointing device

703L.703L.

BE2017/5896BE2017 / 5896

Het eerste zichtbaar voorwerp 705 is selectief beweegbaar door een van de eerste aanwijsinrichting 703R en de tweede aanwijsinrichting 703L, afhankelijk van welke het meest recent werd bewogen en/of bediend. In FIG. 7(a) wordt de eerste aanwijsinrichting 703R bewogen, en bewegen de native muiscursor 705 en het derde zichtbaar voorwerp 703R beide in overeenstemming met bewegingen van de rechter aanwijsinrichting, of meerbepaald, in overeenstemming met een eerste positie Posl. In FIG. 7(b) wordt de tweede aanwijsinrichting 703L bewogen, en bewegen de native muiscursor 705 en het tweede zichtbaar voorwerp 706L beide in overeenstemming met bewegingen van de linker aanwijsinrichting 703L. Het kan begrepen worden dat de native muiscursor 705 geleidelijk beweegt zolang slechts één aanwijsinrichting wordt bewogen, maar typisch plots springt van Posl naar Pos2 of omgekeerd wanneer de andere aanwijsinrichting wordt bewogen.The first visible object 705 is selectively movable by one of the first pointing device 703R and the second pointing device 703L, depending on which was most recently moved and / or operated. In FIG. 7 (a), the first pointing device 703R is moved, and the native mouse cursor 705 and the third visible object 703R both move in accordance with movements of the right pointing device, or more specifically, in accordance with a first position Pos1. In FIG. 7 (b), the second pointing device 703L is moved, and the native mouse cursor 705 and the second visible object 706L both move in accordance with movements of the left pointing device 703L. It can be understood that native mouse cursor 705 moves smoothly as long as only one pointing device is moved, but typically suddenly jumps from Pos1 to Pos2 or vice versa when the other pointing device is moved.

FIG. 7(c) toont een flowdiagram dat een computer-geïmplementeerde werkwijze illustreert die de volgende stappen omvat:FIG. 7 (c) shows a flow diagram illustrating a computer-implemented method comprising the following steps:

a) het configureren, bijv, het toelaten dat een besturingssysteem O/S met een grafische gebruikersinterface GUI een native muiscursor 705 als een eerste zichtbaar voorwerp verschaft;a) configuring, for example, allowing an operating system O / S with a graphical user interface GUI to provide a native mouse cursor 705 as a first visible object;

b) het verschaffen van een grafisch overlayvenster dat een tweede zichtbaar voorwerp 706L en een derde zichtbaar voorwerp 706R omvat;b) providing a graphical overlay window comprising a second visible object 706L and a third visible object 706R;

c) het configureren van het grafisch overlayvenster in doorklikmodus;c) configuring the graphic overlay window in click-through mode;

e) het aanpassen (774) van een positie van de native muiscursor 705 in overeenstemming met bewegingen van een van de eerste aanwijsinrichting 703R en de tweede aanwijsinrichting 703L, afhankelijk van welke beweging het meest recent was, en het aanpassen (775) van een positie van het tweede zichtbaar voorwerp 706L in overeenstemming met bewegingen van de tweede aanwijsinrichting 703L, en het aanpassen van een positie van het derde zichtbaar voorwerp 706R in overeenstemming met bewegingen van de eerste aanwijsinrichting 703R.e) adjusting (774) a position of the native mouse cursor 705 in accordance with movements of one of the first pointing device 703R and the second pointing device 703L, depending on which movement was most recent, and adjusting (775) a position of the second visible object 706L in accordance with movements of the second pointing device 703L, and adjusting a position of the third visible object 706R in accordance with movements of the first pointing device 703R.

FIG. 7(d) is een meer gedetailleerd flowdiagram dat een computer-geïmplementeerde werkwijze toont volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het computersysteem van FIG. 7(a). De werkwijze omvat de volgende stappen:FIG. 7 (d) is a more detailed flow diagram showing a computer-implemented method according to an embodiment of the present invention, as can be used in the computer system of FIG. 7 (a). The method comprises the following steps:

a) het configureren, bijv, het toelaten dat een besturingssysteem O/S met een grafische gebruikersinterface GUI een native muiscursor 705 als een eerste zichtbaar voorwerp verschaft;a) configuring, for example, allowing an operating system O / S with a graphical user interface GUI to provide a native mouse cursor 705 as a first visible object;

b) het verschaffen van een grafisch overlayvenster dat een tweede zichtbaar voorwerp 706L en een derde zichtbaar voorwerp 706R omvat;b) providing a graphical overlay window comprising a second visible object 706L and a third visible object 706R;

c) het configureren van het grafisch overlayvenster in doorklikmodus;c) configuring the graphic overlay window in click-through mode;

d) het configureren van het O/S om ruwe inputberichten te zenden, en het verschaffen van een berichtenverwerker om deze ruwe inputberichten te verwerken;d) configuring the O / S to send raw input messages, and providing a message processor to process these raw input messages;

e) het herhaaldelijk uitvoeren van de volgende stappen:e) repeatedly performing the following steps:

BE2017/5896BE2017 / 5896

f) het ontvangen van een ruw inputbericht;f) receiving a raw input message;

g) indien het ontvangen ruwe inputbericht gerelateerd is aan een beweging van de eerste/tweede aanwijsinrichting 703R, 703L, het verkrijgen van verplaatsingsinformatie dx, dy en het bijwerken van respectievelijk een eerste en tweede positie Posl, Pos2;g) if the received raw input message is related to a movement of the first / second pointing device 703R, 703L, obtaining displacement information dx, dy and updating a first and second position Pos1, Pos2 respectively;

h) het aanpassen van een positie van de native muiscursor 705 in overeenstemming met de eerste of tweede positie Posl, Pos2 afhankelijk van het meest recente inputbericht;h) adjusting a position of the native mouse cursor 705 in accordance with the first or second position Pos1, Pos2 depending on the most recent input message;

en het herhaaldelijk uitvoeren van de volgende stap:and repeatedly performing the following step:

i) het aanpassen van een positie van het tweede en derde zichtbaar voorwerp 706L,706R in overeenstemming met respectievelijk de eerste positie Posl en de tweede positie Pos2.i) adjusting a position of the second and third visible object 706L, 706R in accordance with the first position Pos1 and the second position Pos2, respectively.

FIG. 7(e) toont een voorbeeldmatige positie-bijwerkingsroutine (als gedeelte van de berichtenverwerkingsroutine), in pseudo-code, die gebruikt kan worden om dit gedrag te verkrijgen. Zoals te zien is, worden de coördinaten (xR,yR) en (xL,yL) van de eerste en tweede positie Posl, Pos2 bijgewerkt in overeenstemming met bewegingen van respectievelijk de eerste en tweede aanwijsinrichting 703R, 703L (zij het onrechtstreeks, door gebruik te maken van een device-handle welke het O/S aan elke aanwijsinrichting toekent), en wordt de positie van de native muiscursor 705 aangepast afhankelijk van het meest recente bewegingsbericht.FIG. 7 (e) shows an exemplary position updating routine (as part of the message processing routine), in pseudo-code, that can be used to obtain this behavior. As can be seen, the coordinates (xR, yR) and (xL, yL) of the first and second positions Pos1, Pos2 are updated in accordance with movements of the first and second pointing devices 703R, 703L (albeit indirectly, by use) device handle which assigns the O / S to each pointing device), and the position of the native mouse cursor 705 is adjusted depending on the most recent motion message.

Een voordeel van deze uitvoeringsvorm is dat een gebruiker twee muisinrichtingen kan gebruiken voor het tegelijk tonen van twee zichtbare voorwerpen, bijv, twee lijnen of twee rechthoeken voor het onderlijnen of markeren van tekstfragmenten op twee verschillende locaties van het scherm, en daarenboven kan de gebruiker ook de muisinrichting klikken of scrollen die het meest recent wordt bewogen. Dit kan bijvoorbeeld gebruikt worden voor het omhoog/omlaag scrollen van de respectievelijke documenten bij het proeflezen.An advantage of this embodiment is that a user can use two mouse devices to simultaneously display two visible objects, e.g., two lines or two rectangles for underlining or highlighting text fragments at two different locations of the screen, and in addition the user can also click or scroll the mouse device that is most recently moved. This can be used, for example, for scrolling up and down the respective documents during proofreading.

FIG. 8 toont een ander computersysteem 800 volgens een uitvoeringsvorm van de onderhavige uitvinding, die gezien kan worden als een variant van het computersysteem 500 van FIG. 5, waarbij het tweede zichtbaar voorwerp 806 de vorm heeft van een zwarte pijl, maar uiteraard is de uitvinding daartoe niet beperkt, en kan een pijl van een andere kleur eveneens gebruikt worden, maar de tekening is niet beperkt tot een pijl, en ook andere vormen kunnen gebruikt worden, zie bijvoorbeeld FIG. 34 waar twee handen zijn gebruikt.FIG. 8 shows another computer system 800 according to an embodiment of the present invention, which can be seen as a variant of the computer system 500 of FIG. 5, wherein the second visible object 806 is in the form of a black arrow, but of course the invention is not limited thereto, and an arrow of a different color can also be used, but the drawing is not limited to an arrow, and also other shapes can be used, see for example FIG. 34 where two hands are used.

Zoals weergegeven in FIG. 8(c) omvat de overlay-applicatie gebruikt in het computersysteem 800 van FIG. 8 een doorklikvenster 884 gelijkend op het venster 584 van FIG. 5(c), maar waarbij het rechthoekig voorwerp 506L vervangen is door een zichtbaar voorwerp (bijv, een beeldcomponent)As shown in FIG. 8 (c) includes the overlay application used in the computer system 800 of FIG. 8 a click-through window 884 similar to the window 584 of FIG. 5 (c), but wherein the rectangular object 506L has been replaced by a visible object (e.g., an image component)

BE2017/5896 bevattende een geschikte bitmap. De beeldcomponent 806L kan een bitmap bevatten die pixels bevat die een zwarte pijl voorstellen omgeven door volledig transparante pixels 895 (waarvan slechts enkele getoond zijn), wat geschikt is in het geval dat de andere pixels 894 van het venster 884 eveneens volledig transparante pixels zijn. In het geval dat het venster 884 geconfigureerd is als een semitransparant venster en de pixels 894 een bepaalde kleur hebben (bijv, lichtgrijs), dan is de zwarte pijl bij voorkeur omgeven door semi-transparante pixels 895 die diezelfde kleur hebben (bijv, lichtgrijs). In het geval dat het venster 884 geconfigureerd is als een semi-transparante geperforeerde bitmap of een semi-transparante geperforeerde textuurbitmap zoals in meer detail beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage, dan is de zwarte pijl bij voorkeur ook omgeven door dezelfde of gelijkaardige geperforeerde bitmap. In het laatst genoemde geval zal de voorwerpherpositioneringsroutine het beweegbaar voorwerp 806L bij voorkeur zodanig lokaliseren dat de geperforeerde achtergrond van het beweegbare beeld uitgelijnd is met de geperforeerde bitmap van het venster 884, wat in het geval van een 2x2 bitmap met een schaakbordpatroon worden kan geïmplementeerd door het beweegbaar voorwerp 806L, bijvoorbeeld alleen op locaties met even X- en even Y-coördinaten te positioneren, of alleen op locaties met oneven X- en oneven Y-coördinaten, afhankelijk van waar of hoe het patroon van de pixels 894 gelegen is.BE2017 / 5896 containing a suitable bitmap. The image component 806L may include a bitmap containing pixels representing a black arrow surrounded by fully transparent pixels 895 (of which only a few are shown), which is appropriate in the case that the other pixels 894 of the window 884 are also fully transparent pixels. In the case that the window 884 is configured as a semi-transparent window and the pixels 894 have a certain color (e.g., light gray), then the black arrow is preferably surrounded by semi-transparent pixels 895 having the same color (e.g., light gray) . In the case that the window 884 is configured as a semi-transparent perforated bitmap or a semi-transparent perforated texture bitmap as described in more detail in the pending perforated bitmap application, the black arrow is preferably also surrounded by the same or similar perforated bitmap. In the latter case, the object repositioning routine will preferably locate the movable object 806L so that the perforated background of the movable image is aligned with the perforated bitmap of the window 884, which in the case of a 2x2 bitmap with a checkerboard pattern can be implemented by position the movable object 806L, for example, only at locations with even X and even Y coordinates, or only at locations with odd X and odd Y coordinates, depending on where or how the pattern of the pixels 894 is located.

FIG. 8(a) toont bewegingen van het eerste zichtbaar voorwerp 805 in overeenstemming met bewegingen van de eerste aanwijsinrichting 803R.FIG. 8 (a) shows movements of the first visible object 805 in accordance with movements of the first pointing device 803R.

FIG. 8(b) toont bewegingen van het tweede zichtbaar voorwerp 806 in overeenstemming met bewegingen van de tweede aanwijsinrichting 803L. Om redenen die verder duidelijk zullen worden, zou de linker muisinrichting 803L enkel bewogen moeten worden, maar niet geklikt of gescrold in het systeem 800. Om die reden kan de voorstelling van het tweede zichtbaar voorwerp 806 in de vorm van een pijl verwarrend zijn voor een gebruiker, en kan een lijn of een rechthoek of een vierkant de voorkeur genieten als een zichtbare indicatie van de tweede positie, omdat het intuïtief duidelijk is dat een lijn of vierkant niet geklikt hoort te worden. In het systeem 800 volgt de native muiscursor 805 bewegingen van de rechter muisinrichting 803R, en is daarom waarschijnlijk beter geschikt voor het rechtshändige mensen.FIG. 8 (b) shows movements of the second visible object 806 in accordance with movements of the second pointing device 803L. For reasons that will further become apparent, the left mouse device 803L should only be moved, but not clicked or scrolled in the system 800. For that reason, the representation of the second visible object 806 in the form of an arrow can be confusing for an arrow. user, and a line or a rectangle or a square may be preferred as a visible indication of the second position, since it is intuitively clear that a line or square should not be clicked. In the system 800, the native mouse cursor 805 follows movements of the right mouse device 803R, and is therefore probably better suited for right-wing people.

FIG. 9 toont een computersysteem 900 volgens een uitvoeringsvorm van de onderhavige uitvinding die gezien kan worden als een variant van het computersysteem 800 getoond in FIG. 8, waarbij de native muiscursor 905 bewegingen van de linker muisinrichting 903L volgt. De uitvoeringsvorm van FIG. 9 is daarom waarschijnlijk beter geschikt voor linkshandige mensen. In deze uitvoeringsvorm kan de zwarte pijl 906 bewogen worden door de rechter aanwijsinrichting 903R, maar deze aanwijsinrichting 903R hoort niet geklikt of gescrold te worden.FIG. 9 shows a computer system 900 according to an embodiment of the present invention that can be seen as a variant of the computer system 800 shown in FIG. 8, wherein the native mouse cursor 905 follows movements of the left mouse device 903L. The embodiment of FIG. 9 is therefore probably better suited for left-handed people. In this embodiment, the black arrow 906 can be moved by the right pointing device 903R, but this pointing device 903R should not be clicked or scrolled.

FIG. 9(a) toont dat de positie van de zwarte pijl 906 aangepast wordt in overeenstemming met bewegingen van de rechter aanwijsinrichting 903R.FIG. 9 (a) shows that the position of the black arrow 906 is adjusted in accordance with movements of the right pointing device 903R.

BE2017/5896BE2017 / 5896

FIG. 9(b) toont dat de positie van de native muiscursor 905 aangepast wordt in overeenstemming met bewegingen van de linker aanwijsinrichting 903L. Beide pijlen zijn te allen tijde zichtbaar op het scherm.FIG. 9 (b) shows that the position of the native mouse cursor 905 is adjusted in accordance with movements of the left pointing device 903L. Both arrows are visible on the screen at all times.

FIG. 9(c) toont een voorbeeldmatige positiebijwerkingsroutine als gedeelte van een berichtenverwerkingsroutine, in pseudo-code, die gebruikt kan worden om dit gedrag te verkrijgen. Zoals te zien is, worden de eerste en tweede positie Posl, Pos2 bijgewerkt in overeenstemming met bewegingen van respectievelijk de eerste en tweede aanwijsinrichting 903R, 903L. In het geval dat de linker aanwijsinrichting 903L werd bewogen, wordt de positie van de native muiscursor 905 dienovereenkomstig aangepast. In het geval dat de rechter aanwijsinrichting 903R werd bewogen, wordt de positie van de native muiscursor 905 terug gedwongen naar de tweede positie Pos2 onderhouden door de overlay-applicatie. Dus zijn de twee pijlen 905, 906 individueel beweegbaar door de twee aanwijsinrichtingen.FIG. 9 (c) shows an exemplary position updating routine as part of a message processing routine, in pseudo-code, that can be used to obtain this behavior. As can be seen, the first and second positions Pos1, Pos2 are updated in accordance with movements of the first and second pointing devices 903R, 903L, respectively. In the case that the left pointing device 903L was moved, the position of the native mouse cursor 905 is adjusted accordingly. In the case that the right pointing device 903R was moved, the position of the native mouse cursor 905 is forced back to the second position Pos2 maintained by the overlay application. Thus, the two arrows 905, 906 are individually movable through the two pointing devices.

FIG. 10 toont een computersysteem 1000 volgens een andere uitvoeringsvorm van de onderhavige uitvinding, die gezien kan worden als een variant van het computersysteem 700 van FIG. 7 voor aspecten gerelateerd aan het positioneren van de native muiscursor 1005, en die gezien kan worden als een variant van het computersysteem 800 van FIG. 8 en 900 van FIG. 9 voor aspecten gerelateerd aan de vorm van het tweede zichtbaar voorwerp 1006.FIG. 10 shows a computer system 1000 according to another embodiment of the present invention, which can be seen as a variant of the computer system 700 of FIG. 7 for aspects related to positioning of the native mouse cursor 1005, and which can be seen as a variant of the computer system 800 of FIG. 8 and 900 of FIG. 9 for aspects related to the shape of the second visible object 1006.

Het computersysteem 1000 omvat een computerinrichting 1001 verbonden met een eerste aanwijsinrichting 1003R en met een tweede aanwijsinrichting 1003L en verbonden met een weergavescherm 1004. De computerinrichting 1001 heeft ten minste één processor die een O/S en GUI uitvoert dat een native muisaanwijzer/-cursor 1005 verschaft (bijv, een witte pijl), en een overlayapplicatie uitvoert volgens een uitvoeringsvorm van de onderhavige uitvinding. De overlay-applicatie onderhoudt een eerste en een tweede aanwijspositie Posl, Pos2 in overeenstemming met bewegingen van respectievelijk de eerste en tweede aanwijsinrichting 1003R, 1003L, en past de positie van de native muisaanwijzer/-cursor 1005 aan, bijv, overschrijft deze, in overeenstemming met bewegingen van de aanwijsinrichting die het meest recent werd bewogen.The computer system 1000 includes a computer device 1001 connected to a first pointing device 1003R and to a second pointing device 1003L and connected to a display screen 1004. The computer device 1001 has at least one processor that performs an O / S and GUI performing a native mouse pointer / cursor 1005 provided (e.g., a white arrow), and executing an overlay application according to an embodiment of the present invention. The overlay application maintains a first and a second pointer position Pos1, Pos2 in accordance with movements of the first and second pointing devices 1003R, 1003L, and adjusts the position of the native mouse pointer / cursor 1005, e.g., overwrites it, in accordance with movements of the pointing device that was most recently moved.

FIG. 10(a) toont bewegingen van het eerste zichtbaar voorwerp, zijnde de native muisaanwijzer 1005, in overeenstemming met bewegingen van de eerste aanwijsinrichting 1003R omdat dit de aanwijsinrichting is die bewogen wordt, terwijl het tweede zichtbaar voorwerp 1006 (bijv, een zwarte pijl) de andere onderhouden positie Pos2 aanneemt. In deze situatie kan de gebruiker de knoppen indrukken/loslaten/klikken en/of het scrollwiel bewegen van de eerste muisaanwijzer 1003R, bijvoorbeeld om de teksteditor-applicatie te activeren, tekst te kiezen, commentaar toe te voegen, enz.FIG. 10 (a) shows movements of the first visible object, being the native mouse pointer 1005, in accordance with movements of the first pointing device 1003R because this is the pointing device that is being moved, while the second visible object 1006 (e.g., a black arrow) assume another maintained position Pos2. In this situation, the user can press / release / click the buttons and / or move the scroll wheel of the first mouse pointer 1003R, for example to activate the text editor application, select text, add comments, etc.

FIG. 10(b) toont bewegingen van het eerste zichtbaar voorwerp 1005 in overeenstemming met bewegingen van de tweede aanwijsinrichting 1003L, welke de aanwijsinrichting is die bewogenFIG. 10 (b) shows movements of the first visible object 1005 in accordance with movements of the second pointing device 1003L, which is the pointing device that moved

BE2017/5896 wordt, terwijl het tweede zichtbaar voorwerp 1006 (bijv, een zwarte pijl) de andere onderhouden positie Posl aanneemt. In deze situatie, kan de gebruiker de knoppen indrukken/loslaten/klikken en/of het scrollwiel bewegen van de tweede muisaanwijzer 1003L, bijvoorbeeld om de audiospelerapplicatie 1017 te activeren, op de afspeel- of pauzeknop te klikken, enz.BE2017 / 5896, while the second visible object 1006 (e.g., a black arrow) becomes the other maintained position Pos1. In this situation, the user may press / release / click the buttons and / or move the scroll wheel of the second mouse pointer 1003L, for example to activate the audio player application 1017, click on the play or pause button, etc.

Zoals begrepen kan worden uit FIG. 10(a) en FIG. 10(b), kan de gebruiker beide locaties op het scherm 1004 zien, en kan hij op twee verschillende locaties op het scherm werken, zij het niet tegelijk, louter door de respectievelijke aanwijsinrichting te bewegen. De gebruiker kan op elke muisinrichting klikken na zeker te zijn dat de native muiscursor 1005 zich op de gewenste onderhouden positie Posl of Pos2 bevindt, zoals visueel aangeduid door de witte pijl.As can be understood from FIG. 10 (a) and FIG. 10 (b), the user can see both locations on the screen 1004, and can operate at two different locations on the screen, albeit not simultaneously, merely by moving the respective pointing device. The user can click on any mouse device after making sure that the native mouse cursor 1005 is at the desired maintained position Pos1 or Pos2, as visually indicated by the white arrow.

FIG. 11 toont een specifiek voorbeeld van het vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten getoond in FIG. 5(f) in het geval dat de aanwijsinrichtingen Ml, M2 HID-compatibele inrichtingen zijn (afkorting voor het Human Interface Device), en in het geval dat de computerinrichting een HID-interface omvat met ten minste twee aansluitpoorten, zoals typisch het geval is onder andere voor computerinrichtingen die USB-interfaces bevatten. Zoals gekend in de stand der techniek, verzenden zulke muisinrichtingen signalen of berichten naar de computerinrichting, bijv, in de vorm van HID-pakketten, bevattende bewegings- of verplaatsingsinformatie dx, dy en/of informatie over een knop die wordt ingedrukt of losgelaten, en/of informatie over een scrollwiel dat wordt gedraaid. In feite is de communicatie tussen de computerinrichting en de muisinrichtingen bidirectioneel, maar de overlay-applicatie hoeft dat gedeelte van de communicatie niet te behandelen, wat daarom niet verder wordt besproken.FIG. 11 shows a specific example of the simplified high level block diagram of hardware and software components shown in FIG. 5 (f) in the case that the pointing devices M1, M2 are HID-compatible devices (abbreviation for the Human Interface Device), and in the case that the computer device comprises an HID interface with at least two connection ports, as is typically the case among other things for computer devices that contain USB interfaces. As is known in the art, such mouse devices send signals or messages to the computer device, e.g., in the form of HID packets, containing motion or displacement information dx, dy and / or information about a button being pressed or released, and / or information about a scroll wheel being turned. In fact, the communication between the computer device and the mouse devices is bidirectional, but the overlay application does not have to handle that portion of the communication, which is therefore not further discussed.

Zoals schematisch aangeduid door het sterretje *, is slechts de overlay-applicatie 1151 nieuw in FIG. 11, alle andere componenten (zonder sterretje) kunnen klassieke componenten zijn, met name de aanwijsinrichtingen Ml, M2, het besturingssysteem O/S en GUI 1160, de muis device drivers (muisinrichtingaansturingen) 1161, en de andere applicaties 1162. Dit illustreert opnieuw dat de overlay-applicatie gebruikt kan worden om de functionaliteit van een bestaand O/S en GUI dat oorspronkelijk slechts één enkele native muiscursor verschaft, uit te breiden ofte verbeteren.As schematically indicated by the asterisk *, only the overlay application 1151 is new in FIG. 11, all other components (without an asterisk) can be classical components, in particular the pointing devices M1, M2, the operating system O / S and GUI 1160, the mouse device drivers (1161) and the other applications 1162. This again illustrates that the overlay application can be used to extend or improve the functionality of an existing O / S and GUI that originally only provides a single native mouse cursor.

De muisinrichtingen Ml en M2 kunnen bedrade muisinrichtingen zijn, of draadloze muisinrichtingen, of een combinatie van beide.The mouse devices M1 and M2 can be wired mouse devices, or wireless mouse devices, or a combination of both.

FIG. 12 toont een variant van het hoogniveau-blokdiagram van FIG. 11, waarbij twee klassieke aanwijsinrichtingen Ml, M2 verbonden zijn met de computerinrichting via een klassieke hub of adapter of dongel 1220 in plaats van rechtstreeks verbonden te zijn met de computerinrichting. De hub 1220 kan een bedrade hub zijn, of een draadloze hub. De interface kan een HID-compatibele interface zijn, en de aanwijsinrichtingen kunnen HID-compatibele inrichtingen zijn, maar dat is niet absoluut vereist opdat de onderhavige uitvinding kan werken.FIG. 12 shows a variant of the high level block diagram of FIG. 11, wherein two conventional pointing devices M1, M2 are connected to the computer device via a traditional hub or adapter or dongle 1220 instead of being directly connected to the computer device. The hub 1220 can be a wired hub, or a wireless hub. The interface can be a HID-compatible interface, and the pointing devices can be HID-compatible devices, but that is not absolutely required for the present invention to work.

BE2017/5896BE2017 / 5896

FIG. 13 toont enkele regels pseudo-code die een gedeelte illustreren van een berichtenverwerker die in staat is om in één van drie ingangsmodi te functioneren, die hierin als volgt worden genoemd:FIG. 13 shows some lines of pseudo-code illustrating a portion of a message processor capable of operating in one of three input modes, which are mentioned herein as follows:

- TweeHandig (FIG. 13(a)) zoals uitgelegd in FIG. 7(c), waarbij de native muiscursor bewegingen volgt van de aanwijsinrichting die het meest recent bewogen is, ofTwo-Handed (FIG. 13 (a)) as explained in FIG. 7 (c), wherein the native mouse cursor follows movements of the pointing device that was most recently moved, or

- RechtsHandig (FIG. 13(b)) zoals uitgelegd in FIG. 5(g), waarbij de native muiscursor bewegingen volgt van de rechter aanwijsinrichting, enRight Hand (FIG. 13 (b)) as explained in FIG. 5 (g), wherein the native mouse cursor follows movements of the right pointing device, and

- LinksHandig (FIG. 13(c)) zoals uitgelegd in FIG. 9(c), waarbij de native muiscursor bewegingen volgt van de linker aanwijsinrichting.Left Handed (FIG. 13 (c)) as explained in FIG. 9 (c), wherein the native mouse cursor follows movements of the left pointing device.

Sommige uitvoeringsvormen van een overlay-applicatie volgens de onderhavige uitvinding kunnen mogelijks slechts één van deze ingangsmodi implementeren (bijv, hardcoderen).Some embodiments of an overlay application according to the present invention may possibly implement only one of these input modes (e.g., hard coding).

Andere uitvoeringsvormen van een overlay-applicatie volgens de onderhavige uitvinding kunnen mogelijks twee van deze ingangsmodi implementeren, of alle drie van deze ingangsmodi, en de gebruiker in staat stellen om te kiezen welke inputmodus te gebruiken, bijvoorbeeld expliciet, zoals getoond in FIG. 31(a), door een gebruiker in staat te stellen om een Dominante muis te kiezen, in welk geval bijvoorbeeld de displaymodi van groep 2850 en 2870 (zie bijv. FIG. 28) verborgen kunnen worden, of impliciet door de gebruiker in staat te stellen om een displaymodus van eender welke groep 2850 tot 2870 te kiezen, in welk geval de applicatie de overeenkomstige inputmodus zelf kan veranderen, indien nodig.Other embodiments of an overlay application according to the present invention may possibly implement two of these input modes, or all three of these input modes, and enable the user to choose which input mode to use, for example explicitly, as shown in FIG. 31 (a), by enabling a user to select a Dominant mouse, in which case, for example, the display modes of groups 2850 and 2870 (see, e.g., FIG. 28) can be hidden, or implicitly by the user to select a display mode of any group 2850 to 2870, in which case the application can change the corresponding input mode itself, if necessary.

FIG. 14(a) is een schematische voorstelling van een voorbeeldmatige sequentie van signalen of berichten komende van twee klassieke muisinrichtingen Ml, M2, en toont hoe deze signalen correct worden behandeld door het berichtenverwerkingsproces weergegeven in FIG. 13, dat verondersteld wordt geconfigureerd te zijn in de inputmodus Tweehandig. In realiteit kunnen veel meer signalen of berichten uitgewisseld worden tussen de computerinrichting en de muisinrichtingen, maar deze worden niet getoond teneinde de tekeningen niet te overladen. Ook toont FIG. 14 enkel hoe de positie NC van de native muiscursor wordt bijgewerkt, en vermeldt niet expliciet hoe de positie van het tweede en/of verder zichtbaar voorwerp wordt bijgewerkt, wederom om de tekeningen niet te overladen.FIG. 14 (a) is a schematic representation of an exemplary sequence of signals or messages from two classical mouse devices M1, M2, and shows how these signals are correctly handled by the message processing process shown in FIG. 13, which is assumed to be configured in the Two-handed input mode. In reality, many more signals or messages can be exchanged between the computer device and the mouse devices, but these are not shown in order not to overload the drawings. FIG. 14 only how the position of the native mouse cursor NC is updated, and does not explicitly mention how the position of the second and / or further visible object is updated, again not to overload the drawings.

Op tijdstip tl wordt muisinrichting M2 bewogen en verstuurt deze een bewegingsbericht mov2 naar de computerinrichting, en als reactie werkt de overlay-applicatie Pos2 bij en stelt de positie van de native muiscursor NC in op Pos2. Afhankelijk van waar de native muiscursor vóór tl gesitueerd was, kan dit zich voor de gebruiker voordoen als een kleine beweging of als een sprong.At time t1, mouse device M2 is moved and sends a motion message mov2 to the computer device, and in response, the overlay application updates Pos2 and sets the position of the native mouse cursor NC to Pos2. Depending on where the native mouse cursor was located before fluorescent, this can occur to the user as a small movement or as a jump.

Op tijdstip t2 wordt muisinrichting Ml bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en stelt de positieAt time t2, mouse device M1 is moved and sends a motion message movl to the computer device, and in response, the overlay application updates Pos1 and adjusts the position

BE2017/5896 van de native muiscursor NC in op Posl, hetgeen zich voor de gebruiker typisch zal voordoen als een sprong van Pos2 naar Posl.BE2017 / 5896 from the native mouse cursor NC to Pos1, which will typically occur to the user as a jump from Pos2 to Pos1.

Op tijdstip t3 wordt muisinrichting Ml opnieuw bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en stelt de positie van de native muiscursor NC in op Posl, hetgeen zich voor de gebruiker typisch zal voordoen als een kleine beweging.At time t3, mouse device M1 is moved again and sends a motion message movl to the computer device, and in response the overlay application updates Pos1 and sets the position of the native mouse cursor NC to Posl, which will typically occur to the user as a small movement.

Op tijdstip t4 wordt muisinrichting M2 bewogen en verstuurt deze een bewegingsbericht mov2 naar de computerinrichting, en als reactie werkt de overlay-applicatie Pos2 bij en stelt de positie van de native muiscursor NC in op Pos2, hetgeen zich voor de gebruiker typisch zal voordoen als een sprong van Posl naar Pos2.At time t4, mouse device M2 is moved and sends a motion message mov2 to the computer device, and in response, the overlay application updates Pos2 and sets the position of the native mouse cursor NC to Pos2, which will typically occur to the user as a jump from Posl to Pos2.

Op tijdstip t5 wordt muisinrichting Ml bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en stelt de positie van de native muiscursor NC in op Posl, hetgeen zich voor de gebruiker typisch zal voordoen als een sprong van Pos2 naar Posl.At time t5, mouse device M1 is moved and sends a motion message movl to the computer device, and in response, the overlay application updates Pos1 and sets the position of native mouse cursor NC to Posl, which will typically occur to the user as a jump from Pos2 to Posl.

FIG. 14(b) toont dezelfde sequentie van signalen of berichten als die van FIG. 14(a), en toont hoe een overlay-applicatie die de berichtenverwerker van FIG. 13 heeft, wanneer deze geconfigureerd is in de inputmodus Rechtshändig, de positie NC van de native muiscursor zou bijwerken. Zoals te zien is, wanneer de rechter aanwijsinrichting Ml wordt bewogen, wordt de eerste positie Posl bijgewerkt, en wanneer de tweede aanwijsinrichting M2 wordt bewogen, wordt de tweede positie Pos2 bijgewerkt, maar in al deze gevallen wordt de positie van de native muiscursor NC ingesteld op de eerste positie Posl, geassocieerd met bewegingen van de rechter aanwijsinrichting Ml.FIG. 14 (b) shows the same sequence of signals or messages as that of FIG. 14 (a), and shows how an overlay application that the message processor of FIG. 13, when configured in the Right-Handed input mode, would update the NC position of the native mouse cursor. As can be seen, when the right pointing device M1 is moved, the first position Pos1 is updated, and when the second pointing device M2 is moved, the second position Pos2 is updated, but in all these cases the position of the native mouse cursor NC is set at the first position Pos1, associated with movements of the right pointing device M1.

FIG. 14(c) toont dezelfde sequentie van signalen of berichten als die van FIG. 14(a), en toont hoe een overlay-applicatie die de berichtenverwerker van FIG. 13 heeft, wanneer deze geconfigureerd is in de inputmodus Linkshandig, de positie NC van de native muiscursor zou bijwerken. Zoals te zien is, wanneer de rechter aanwijsinrichting Ml wordt bewogen, wordt de eerste positie Posl bijgewerkt, en wanneer de tweede aanwijsinrichting M2 wordt bewogen, wordt de tweede positie Pos2 bijgewerkt, maar in al deze gevallen wordt de positie van de native muiscursor NC ingesteld op de tweede positie Pos2, geassocieerd met bewegingen van de linker aanwijsinrichting M2.FIG. 14 (c) shows the same sequence of signals or messages as that of FIG. 14 (a), and shows how an overlay application that the message processor of FIG. 13, when configured in left-handed input mode, would update the NC position of the native mouse cursor. As can be seen, when the right pointing device M1 is moved, the first position Pos1 is updated, and when the second pointing device M2 is moved, the second position Pos2 is updated, but in all these cases the position of the native mouse cursor NC is set at the second position Pos2, associated with movements of the left pointing device M2.

Zoals begrepen kan worden uit FIG. 14(a) tot FIG. 14(c), worden bewegingen van beide muisinrichtingen Ml, M2 correct behandeld, zelfs gelijktijdige bewegingen van de twee muisinrichtingen Ml, M2.As can be understood from FIG. 14 (a) to FIG. 14 (c), movements of both mouse devices M1, M2 are correctly handled, even simultaneous movements of the two mouse devices M1, M2.

FIG. 15 is een schematische voorstelling van een andere voorbeeldmatige sequentie van signalen of berichten komende van twee klassieke muisinrichtingen Ml, M2, en toont hoe dezeFIG. 15 is a schematic representation of another exemplary sequence of signals or messages from two classical mouse devices M1, M2, and shows how these

BE2017/5896 signalen correct worden behandeld door het berichtenverwerkingsproces weergegeven in FIG. 13, dat verondersteld wordt geconfigureerd te zijn in de inputmodus TweeHandig.BE2017 / 5896 signals are correctly handled by the message processing process shown in FIG. 13, which is assumed to be configured in the Two-Hand input mode.

Op tijdstip tl wordt muisinrichting Ml bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en stelt de positie van de native muiscursor NC in op Posl. Afhankelijk van waar de native muiscursor NC vóór tl gesitueerd was, kan dit zich voor de gebruiker voordoen als een kleine beweging of als een sprong.At time t1, mouse device M1 is moved and sends a motion message movl to the computer device, and in response, the overlay application updates Pos1 and sets the position of the native mouse cursor NC to Posl. Depending on where the native mouse cursor NC was located before fluorescent, this can occur to the user as a small movement or as a jump.

Op tijdstip t2 wordt muisinrichting M2 bewogen en verstuurt deze een bewegingsbericht mov2 naar de computerinrichting, en als reactie werkt de overlay-applicatie Pos2 bij en stelt de positie van de native muiscursor NC in op Pos2, hetgeen zich voor de gebruiker typisch zal voordoen als een sprong van Posl naar Pos2.At time t2, mouse device M2 is moved and sends a motion message mov2 to the computer device, and in response, the overlay application updates Pos2 and sets the position of native mouse cursor NC to Pos2, which will typically occur to the user as a jump from Posl to Pos2.

Op tijdstip t3 wordt een knop (bijv, een linker knop M2B1) van de tweede muisinrichting M2 ingedrukt, en verstuurt de muisinrichting M2 een knop-ingedrukt-bericht press2 naar de computerinrichting. De berichtenverwerker van de overlay-applicatie ontvangt het bericht, maar aangezien het geen bewegingsbericht is, wordt stap h) van FIG. 5(e) overgeslagen, en werkt de overlayapplicatie Posl of Pos2 niet bij, maar laat ze het O/S en de GUI het indrukken van de knop M2B1 afhandelen.At time t3, a button (e.g., a left button M2B1) of the second mouse device M2 is pressed, and the mouse device M2 sends a button-pressed message press2 to the computer device. The message processor of the overlay application receives the message, but since it is not a motion message, step h) of FIG. 5 (e) skipped, and does not update the overlay application Pos1 or Pos2, but allows them to handle the O / S and GUI pressing the M2B1 button.

Op tijdstip t4 wordt de knop M2B1 van de tweede muisinrichting M2 losgelaten en verstuurt de tweede muisinrichting M2 een drukknop-losgelaten-bericht release2 naar de computerinrichting, en opnieuw wijzigt de overlay-applicatie geen positie, maar laat ze het O/S en de GUI het loslaten van de knop afhandelen. Zoals gekend is in de stand der techniek, zal het O/S onder sommige voorwaarden het indrukken van een knop en het loslaten van een knop als een zogenoemde muisklik beschouwen.At time t4, the button M2B1 is released from the second mouse device M2 and the second mouse device M2 sends a push-button release message release2 to the computer device, and again the overlay application does not change a position, but leaves it the O / S and the GUI handle releasing the button. As is known in the art, under certain conditions the O / S will consider pressing a button and releasing a button as a so-called mouse click.

Op tijdstip t5 wordt muisinrichting Ml bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en stelt de positie van de native muiscursor NC in op Posl, hetgeen zich voor de gebruiker typisch zal voordoen als een sprong van Pos2 naar Posl.At time t5, mouse device M1 is moved and sends a motion message movl to the computer device, and in response, the overlay application updates Pos1 and sets the position of native mouse cursor NC to Posl, which will typically occur to the user as a jump from Pos2 to Posl.

Zoals begrepen kan worden uit FIG. 15, wordt de klik op een knop M2B1 van de tweede muis M2 correct behandeld door de berichtenverwerker van FIG. 13, geconfigureerd in de inputmodus TweeHandig, ondanks bewegingen van de eerste muis Ml vóór en na de klik.As can be understood from FIG. 15, the click on a button M2B1 of the second mouse M2 is correctly handled by the message processor of FIG. 13, configured in the Two-Hand input mode, despite movements of the first mouse M1 before and after the click.

Testen met verder sequenties hebben echter getoond dat de berichtenverwerker van FIG. 13 niet altijd het verwachte gedrag verschaft. Nader onderzoek heeft aangetoond dat de voorbeeldmatige sequentie van signalen of berichten getoond in FIG. 16 onbevredigend wordt behandeld.However, tests with further sequences have shown that the message processor of FIG. 13 does not always provide the expected behavior. Further investigation has shown that the exemplary sequence of signals or messages shown in FIG. 16 is treated unsatisfactorily.

Op tijdstip tl wordt muis Ml bewogen en verstuurt deze een bewegingsbericht movl naar de computerinrichting, en als reactie werkt de berichtenverwerker de eerste positie Posl bij en positioneert de native muiscursor dienovereenkomstig. Evenzo op tijdstip t2.At time t1, mouse M1 is moved and sends a motion message movl to the computer device, and in response, the message processor updates the first position Pos1 and positions the native mouse cursor accordingly. Likewise at time t2.

BE2017/5896BE2017 / 5896

Op tijdstip t3 wordt een knop (bijv, een linker knop M1B1) van de eerste muisinrichting Ml ingedrukt en verstuurt de muis een knop-ingedrukt-bericht pressi naar de computerinrichting, waarvoor de berichtenverwerker van FIG. 13 geen actie onderneemt.At time t3, a button (e.g., a left button M1B1) of the first mouse device M1 is pressed and the mouse sends a button-pressed message pressi to the computer device, for which the message processor of FIG. 13 takes no action.

Op tijdstip t4 wordt de tweede muisinrichting M2 bewogen en verstuurt deze een bewegingsbericht mov2 naar de computerinrichting, en als reactie herpositioneert de berichtenverwerker van FIG. 13 de native muiscursor NC naar de tweede onderhouden positie Pos2.At time t4, the second mouse device M2 is moved and sends a motion message mov2 to the computer device, and the message processor of FIG. 13 the native mouse cursor NC to the second maintained position Pos2.

Op tijdstip t5 wordt de knop M1B1 van de eerste muisinrichting Ml losgelaten en verstuurt de muisinrichting Ml een drukknop-losgelaten-bericht releasel naar de computerinrichting, maar het O/S beschouwt dat deze loslating plaats vindt op Pos2, die meestal verschillend is van Posl, hetgeen niet in het verwachte klik gedrag van de eerste muis Ml resulteert, maar in een sleep-gedrag. Dit is niet het bedoelde gedrag.At time t5 the button M1B1 is released from the first mouse device M1 and the mouse device M1 sends a push-button release message to the computer device, but the O / S considers that this release takes place at Pos2, which is usually different from Pos1, which does not result in the expected click behavior of the first mouse M1, but in a drag behavior. This is not the intended behavior.

In een eerste poging om dit probleem op te lossen, werd de berichtenverwerker van FIG. 13 gewijzigd door twee variabelen toe te voegen en te onderhouden, een booleaanse variabele Mlpressed als indicatie of een knop van de eerste muisinrichting Ml ingedrukt of losgelaten is, en een variabele M2pressed als indicatie of een knop van de tweede muisinrichting M2 ingedrukt of losgelaten is, en door niet te reageren op het bewegingssignaal mov2 verzonden door de tweede muis M2 op t4 gedurende de tijd dat een knop van de eerste muis Ml is ingedrukt, zoals getoond in FIG. 17, maar om de een of andere reden verschafte deze gewijzigde berichtenverwerker evenmin het correcte resultaat.In a first attempt to solve this problem, the message processor of FIG. 13 modified by adding and maintaining two variables, a boolean variable Mlpressed as an indication of whether a button of the first mouse device M1 has been pressed or released, and a variable M2pressed as an indication whether a button of the second mouse device M2 has been pressed or released, and by not responding to the motion signal mov2 transmitted by the second mouse M2 at t4 during the time that a button of the first mouse M1 is pressed, as shown in FIG. 17, but for some reason this modified message processor did not provide the correct result either.

In een tweede poging om dit probleem te oplossen, werd de berichtenverwerker van FIG. 13 verder gewijzigd, maar In plaats van het negeren van het mov2 signaal (zoals in FIG. 17), werd de berichtenverwerker gewijzigd om de native muiscursor NC actief te herpositioneren op dezelfde positie Posl als waar de native muiscursor zich bevond op tijdstip t3 toen de knop werd ingedrukt. Testen hebben aangetoond dat zulk een berichtenverwerker werkt voor een klik op een knop van de eerste muis Ml, maar niet werkt wanneer de eerste muis Ml wordt gesleept. In plaats van (op t4) de positie Posl te bevriezen op dezelfde positie als waar de native muiscursor NC gesitueerd was toen de knop werd ingedrukt (op t3), werd de positie van de native muiscursor NC toegelaten om samen te bewegen met bewegingen van de eerste muis Ml, zelfs wanneer een knop van dezelfde inrichting Ml werd ingedrukt.In a second attempt to solve this problem, the message processor of FIG. 13, but instead of ignoring the mov2 signal (as in FIG. 17), the message processor was modified to actively reposition the native mouse cursor NC at the same position as Pos1 where the native mouse cursor was at time t3 when the button was pressed. Tests have shown that such a message processor works for a click on a button of the first mouse M1, but does not work when the first mouse M1 is dragged. Instead of (at t4) freezing the Pos1 position at the same position where the native mouse cursor NC was located when the button was pressed (at t3), the position of the native mouse cursor NC was allowed to move together with movements of the first mouse M1, even when a button of the same device M1 was pressed.

FIG. 18(a) toont enkele regels pseudo-code, die een gedeelte illustreren van een verbeterde berichtenverwerkingsroutine om dit gedrag te implementeren, (slechts een gedeelte van de TweeHandige-inputmodus wordt getoond).FIG. 18 (a) shows a few lines of pseudo-code, illustrating a portion of an improved message processing routine to implement this behavior, (only a portion of the Two-Handed input mode is shown).

BE2017/5896BE2017 / 5896

FIG. 18(b) toont een variant van de routine van FIG. 18(a), zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding, (wederom wordt slechts een gedeelte van de TweeHandige-inputmodus getoond). De voornaamste verschillen met de routine van FIG. 18(a) zijn dat de tweede positie Pos2 wordt bijgewerkt zelfs indien een knop van de eerste aanwijsinrichting is ingedrukt, en omgekeerd, dat de eerste positie Posl wordt bijgewerkt zelfs indien een knop van de tweede aanwijsinrichting is ingedrukt. Deze routine zal verder besproken worden bij het bespreken van FIG. 26(a) en FIG. 26(b).FIG. 18 (b) shows a variant of the routine of FIG. 18 (a), as can be used in overlay applications according to embodiments of the present invention, (again only a portion of the Two-Handed input mode is shown). The main differences with the routine of FIG. 18 (a) are that the second position Pos2 is updated even if a button of the first pointing device is pressed, and conversely, that the first position Pos1 is updated even if a button of the second pointing device is pressed. This routine will be further discussed when discussing FIG. 26 (a) and FIG. 26 (b).

FIG. 18(c) toont een vollediger versie van een positie-bijwerkingsroutine, zoals gebruikt kan worden in overlay-applicaties volgens uitvoeringsvormen van de onderhavige uitvinding. Dit kan gezien worden als een combinatie van de codegedeeltes getoond in FIG. 5(g) en in FIG. 9(c) en in FIG. 18(a).FIG. 18 (c) shows a more complete version of a position updating routine, such as can be used in overlay applications according to embodiments of the present invention. This can be seen as a combination of the code portions shown in FIG. 5 (g) and in FIG. 9 (c) and in FIG. 18 (a).

FIG. 19 toont dezelfde voorbeeldmatige sequentie van signalen of berichten van FIG. 16, maar verwerkt door de berichtenverwerker van FIG. 18(a). Zoals te zien is, in reactie op de beweging signaal mov2 van de tweede muis M2 op tijdstip t4, werkt de verbeterde berichtenverwerker van FIG. 18(a) de tweede positie Pos2 bij in overeenstemming met het bewegingssignaal mov2, maar herpositioneert de native muiscursor actief naar Posl, zodat op tijdstip t5, de knop M1B1 van de eerste muisinrichting Ml geacht wordt losgelaten te zijn op dezelfde positie Posl als waar hij werd ingedrukt. Het O/S interpreteert dit als een klik van de knop M1B1 van de muisinrichting Ml, welke bevredigend is behandeld, ondanks het bewegingssignaal mov2 van de tweede muis M2 op tijdstip t4.FIG. 19 shows the same exemplary sequence of signals or messages of FIG. 16, but processed by the message processor of FIG. 18 (a). As can be seen, in response to the motion signal mov2 of the second mouse M2 at time t4, the improved message processor of FIG. 18 (a) the second position Pos2 at in accordance with the motion signal mov2, but actively repositions the native mouse cursor to Pos1, so that at time t5, the button M1B1 of the first mouse device M1 is deemed to be released at the same position Pos1 as where it was was pressed. The O / S interprets this as a click of the button M1B1 of the mouse device M1, which has been treated satisfactorily, despite the motion signal mov2 of the second mouse M2 at time t4.

Er wordt opgemerkt dat het bijwerken van Pos2 op t4 niet vereist is voor de correcte interpretatie van het klik-commando verzonden door de eerste aanwijsinrichting Ml, en eventueel weggelaten kan worden. Indien echter weggelaten, zal/zullen de zichtbare voorwerp(en) geassocieerd met de tweede positie Pos2 niet bewegen zolang een knop van de eerste aanwijsinrichting Ml wordt ingedrukt, zelfs indien de tweede aanwijsinrichting wordt bewogen. Om zulke bewegingen mogelijk te maken, wordt de positie Pos2 bij voorkeur bijgewerkt zelfs indien een knop van de eerste aanwijsinrichting wordt ingedrukt.It is noted that updating Pos2 to t4 is not required for the correct interpretation of the click command sent by the first pointing device M1, and may possibly be omitted. However, if omitted, the visible object (s) associated with the second position Pos2 will not move as long as a button of the first pointing device M1 is pressed, even if the second pointing device is moved. To make such movements possible, the position Pos2 is preferably updated even if a button of the first pointing device is pressed.

FIG. 20 toont een variant van de sequentie van signalen of berichten van FIG. 19, en laat zien dat het slepen van één muis Ml correct werkt, zelfs wanneer de tweede muis M2 wordt bewogen.FIG. 20 shows a variant of the sequence of signals or messages of FIG. 19, and shows that dragging one mouse M1 works correctly even when the second mouse M2 is moved.

Op tijdstip tl wordt de eerste muis Ml bewogen, de eerste muis Ml verstuurt een eerste bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en positioneert de native muiscursor NC op Posl.At time t1, the first mouse M1 is moved, the first mouse M1 sends a first motion message movl to the computer device, and in response, the overlay application Pos1 updates and positions the native mouse cursor NC on Posl.

Op tijdstip t2 wordt een knop (bijv, een linker knop M1B1) van de eerste muis Ml ingedrukt, de eerste muis Ml verstuurt een knop-ingedrukt-bericht pressi naar de computerinrichting, en als reactie stelt de berichtenverwerker een interne variabele Mlpressed in op WAAR.At time t2, a button (e.g., a left button M1B1) of the first mouse M1 is pressed, the first mouse M1 sends a button-pressed message pressi to the computer device, and in response, the message processor sets an internal variable Mlpressed to TRUE .

BE2017/5896BE2017 / 5896

Op tijdstip t3 wordt de tweede muis M2 bewogen, de tweede muis M2 verstuurt een tweede bewegingsbericht mov2 naar de computerinrichting, en als reactie werkt de berichtenverwerker Pos2 bij en positioneert de native muiscursor NC op Posl.At time t3, the second mouse M2 is moved, the second mouse M2 sends a second motion message mov2 to the computer device, and in response, the message processor Pos2 updates and positions the native mouse cursor NC on Pos1.

Op tijdstip t4 wordt de eerste muis Ml bewogen, de eerste muis Ml verstuurt een eerste bewegingsbericht movl naar de computerinrichting, en als reactie werkt de overlay-applicatie Posl bij en positioneert de native muiscursor NC op Posl.At time t4, the first mouse M1 is moved, the first mouse M1 sends a first motion message movl to the computer device, and in response, the overlay application Pos1 updates and positions the native mouse cursor NC on Posl.

Op tijdstip t5 wordt de knop M1B1 van de eerste muisinrichting Ml losgelaten, wat ervoor zorgt dat het O/S en de GUI een sleepoperatie uitvoert, en als reactie stelt de berichtenverwerker de variabele Mlpressed in op ONWAAR.At time t5 the button M1B1 of the first mouse device M1 is released, causing the O / S and the GUI to perform a drag operation, and in response the message processor sets the variable Mlpressed to FALSE.

Zoals begrepen kan worden uit FIG. 20, wordt het slepen van de eerste muis Ml bevredigend behandeld door de berichtenverwerker weergegeven in FIG. 18(a) geconfigureerd in de TweeHandige inputmodus, zelfs in combinatie met bewegingen van de tweede muis M2.As can be understood from FIG. 20, the dragging of the first mouse M1 is satisfactorily handled by the message processor shown in FIG. 18 (a) configured in the Two-Hand input mode, even in combination with movements of the second mouse M2.

Verwijzend naar FIG. 21, werden verdere testen uitgevoerd, gebruikmakend van de berichtenverwerker van FIG. 18(a) in de TweeHandige inputmodus, welke nog een andere foutconditie onthulde, weergegeven door de voorbeeldmatige sequentie van signalen of berichten getoond in FIG. 21, waarbij:Referring to FIG. 21, further testing was performed using the message processor of FIG. 18 (a) in the Two-Handed input mode, which revealed yet another error condition, represented by the exemplary sequence of signals or messages shown in FIG. 21, wherein:

Op tijdstip tl wordt de tweede muis M2 bewogen, wordt een bewegings-boodschap mov2 verzonden, de tweede positie Pos2 wordt bijgewerkt rekening houdende met de verplaatsingswaardes dx, dy, en de native muiscursor wordt ingesteld op Pos2.At time t1, the second mouse M2 is moved, a motion message mov2 is sent, the second position Pos2 is updated taking into account the displacement values dx, dy, and the native mouse cursor is set to Pos2.

Op tijdstip t2 wordt de eerste muis Ml bewogen, wordt een bewegingsboodschap movl verzonden, wordt de eerste positie Posl bijgewerkt rekening houdende met de verplaatsingswaardes dx, dy, en wordt de native muiscursor ingesteld op Posl.At time t2, the first mouse M1 is moved, a moving message mov1 is sent, the first position Pos1 is updated taking into account the displacement values dx, dy, and the native mouse cursor is set to Pos1.

Op tijdstip t3 wordt de eerste muis Ml opnieuw bewogen, wordt een andere bewegingsboodschap movl verzonden, wordt de eerste positie Posl bijgewerkt, en wordt de native muiscursor NC ingesteld op de bijgewerkte positie Posl.At time t3, the first mouse M1 is moved again, another motion message movl is sent, the first position Pos1 is updated, and the native mouse cursor NC is set to the updated position Pos1.

Op tijdstip t4 wordt een knop (bijv, een linker knop M2B1) van de tweede muisinrichting M2 ingedrukt, wordt een knop-ingedrukt-bericht press2 verzonden, en als reactie stelt de berichtenverwerker van FIG. 18(a) de waarde M2pressed in op WAAR, en wijzigt de positie van de native muiscursor NC naar Pos2.At time t4, a button (e.g., a left button M2B1) of the second mouse device M2 is pressed, a button-pressed message press2 is sent, and the message processor of FIG. 18 (a) set the value M2pressed to TRUE, and change the position of the native mouse cursor NC to Pos2.

Op tijdstip t5 wordt de knop M2B1 van de tweede muisinrichting M2 losgelaten, wordt een loslaat-boodschap release2 verzonden naar de computerinrichting, en als reactie stelt de berichtenverwerker de variabele M2pressed in op ONWAAR.At time t5, the button M2B1 of the second mouse device M2 is released, a release message release2 is sent to the computer device, and in response, the message processor sets the variable M2pressed to FALSE.

Ondanks het feit dat een knop van de tweede muisinrichting M2 werd ingedrukt en losgelaten op dezelfde fysieke positie, worden de indruk- en loslaatberichten van FIG. 21 niet geïnterpreteerd als een klik. Hoewel de uitvinders niet gebonden wensen te zijn aan een theorie, lijkt analyse aan te gevenDespite the fact that a button of the second mouse device M2 was pressed and released at the same physical position, the press and release messages of FIG. 21 not interpreted as a click. Although the inventors do not wish to be bound by theory, analysis seems to indicate this

BE2017/5896 dat deze sequentie verkeerd gaat, omdat op het tijdstip t4 waarop de knop M2B1 van de tweede muis M2 wordt ingedrukt, de native muispositie NC zich nog steeds bevindt op de eerste positie Posl(xl,yl), en daarom zullen het O/S en de GUI aannemen dat het knop indrukken plaatsvindt op de plaats Posl(xl,yl) in plaats van Pos2, en pas enige tijd later (dan t4) zal de overlay-applicatie de native muiscursor NC herpositioneren op de tweede positie Pos2(x2,y2), maar dat is te laat. Dit probleem is niet gekend in de stand der techniek, omdat er slechts één cursorpositie bestaat.BE2017 / 5896 that this sequence goes wrong because at the time t4 at which the button M2B1 of the second mouse M2 is pressed, the native mouse position NC is still at the first position Pos1 (x1, yl), and therefore it will be O / S and the GUI assume that the button press takes place at the position of Pos1 (x1, yl) instead of Pos2, and only some time later (then t4) will the overlay application reposition the native mouse cursor NC at the second position Pos2 ( x2, y2), but that's too late. This problem is not known in the prior art because there is only one cursor position.

Er lijkt geen technische oplossing voor dit probleem mogelijk, omdat het onmogelijk is voor de overlay-applicatie om te voorspellen wanneer een knop van de muis M2 zal worden ingedrukt, en omdat het O/S en de GUI altijd sneller zullen zijn dan de overlay-applicatie. Verlangende om de mouse driver layer (muisaansturingslaag) 561, 1161, 1261 van het O/S en de GUI intact te laten, kwamen de uitvinders verrassend op een andere oplossing voor dit probleem.No technical solution to this problem seems possible, because it is impossible for the overlay application to predict when a M2 mouse button will be pressed, and because the O / S and GUI will always be faster than the overlay application. application. Desiring to keep the mouse driver layer 561, 1161, 1261 of the O / S and the GUI intact, the inventors surprisingly came up with a different solution to this problem.

Verwijzende naar FIG. 22(a), besloten de uitvinders een speciale muisinrichting M2* te verschaffen die, wanneer een knop daarvan wordt ingedrukt, een dummy beweging signaal verstuurt enige tijd ΔΤ vóór het zenden van een eigenlijke knop-ingedrukt signaal. Dit omzeilt effectief het probleem van FIG. 21, omdat, zoals kan begrepen worden uit FIG. 22(a):Referring to FIG. 22 (a), the inventors decided to provide a special mouse device M2 * which, when a button thereof is pressed, sends a dummy movement signal some time ΔΤ before sending an actual button-pressed signal. This effectively circumvents the problem of FIG. 21, because, as can be understood from FIG. 22 (a):

Op tijdstip tl wordt de tweede muis M2* bewogen, wordt een (echt) bewegingsbericht mov2 verzonden naar de computerinrichting, als reactie werkt de overlay-applicatie de tweede positie Pos2 bij en stelt de native muiscursor NC in op positie Pos2.At time t1 the second mouse M2 * is moved, a (real) motion message mov2 is sent to the computer device, in response the overlay application updates the second position Pos2 and sets the native mouse cursor NC to position Pos2.

Op tijdstip t2 wordt de eerste muis Ml* bewogen, wordt een (echt) bewegingsbericht movl verzonden naar de computerinrichting, als reactie werkt de overlay-applicatie de eerste positie Posl bij en stelt de native muiscursor NC in op positie Posl.At time t2, the first mouse M1 * is moved, a (real) motion message mov1 is sent to the computer device, in response, the overlay application updates the first position Pos1 and sets the native mouse cursor NC to position Pos1.

Op tijdstip t3 wordt een knop (bijv, een linker knop M2B1) van de speciale tweede muisinrichting M2* ingedrukt, wat ervoor zorgt dat de muisinrichting M2* eerst een dummybewegingsbericht dmov2 verzendt (bij voorkeur met kleine verplaatsingswaardes dx,dy), en enige tijd ΔΤ later een knop-ingedrukt-bericht press2 verzendt. Zoals getoond, in reactie op het dummybewegingssignaal dmov2, zal de overlay-applicatie de native muiscursor NC instellen op de tweede positie Pos2, ruim vóórdat het knop-ingedrukt-bericht press2 wordt verzonden door de muisinrichting M2* op tijdstip Ϊ3+ΔΤ, zodanig dat het O/S en de GUI zullen aannemen dat het knop indrukking plaatsvindt op positie Pos2 (of nauwkeuriger: zeer dichtbij de originele positie Pos2, indien dx en dy klein zijn, maar niet precies nul).At time t3 a button (e.g. a left button M2B1) of the special second mouse device M2 * is pressed, which causes the mouse device M2 * to first send a dummy movement message dmov2 (preferably with small displacement values dx, dy), and for some time ΔΤ sends a button-pressed message press2 later. As shown, in response to the dummy movement signal dmov2, the overlay application will set the native mouse cursor NC to the second position Pos2, well before the button-pressed message press2 is sent by the mouse device M2 * at time Ϊ3 + ΔΤ, such that the O / S and the GUI will assume that the button depression takes place at position Pos2 (or more precisely: very close to the original position Pos2, if dx and dy are small, but not exactly zero).

Op tijdstip t4 wordt de knop M2B1 losgelaten, en als reactie stelt de berichtenverwerker van de overlay-applicatie een variabele M2pressed in op ONWAAR.At time t4 the button M2B1 is released, and in response the message processor of the overlay application sets a variable M2pressed to FALSE.

Er wordt opgemerkt dat een dummy-bewegingsbericht niet vereist is wanneer de knop wordt losgelaten, alleen wanneer een knop wordt ingedrukt.It is noted that a dummy motion message is not required when the button is released, only when a button is pressed.

BE2017/5896BE2017 / 5896

FIG. 22(b) toont een variant van de sequentie van FIG. 22(a) waarbij een scrollwiel van de tweede aanwijsinrichting M2* wordt gedraaid in plaats dat een knop wordt ingedrukt en losgelaten. Op een gelijkaardige wijze als beschreven in FIG. 22(a), verzendt de speciale aanwijsinrichting M2* niet louter een scrollwiel-rotatie-bericht, maar verzendt eerst een dummy-bewegingsbericht dmov2, en pas enige tijd ΔΤ later verzendt de aanwijsinrichting M2* het eigenlijke scrollwiel-rotatiebericht rotate2, om mogelijk te maken dat de overlay-applicatie de native muiscursor NC herpositioneert voordat het eigenlijke scrollwiel-rotatiebericht bij de computerinrichting aankomt,FIG. 22 (b) shows a variant of the sequence of FIG. 22 (a) wherein a scroll wheel of the second pointing device M2 * is rotated instead of a button being pressed and released. In a similar manner as described in FIG. 22 (a), the special pointing device M2 * does not merely send a scroll wheel rotation message, but first sends a dummy movement message dmov2, and only some time ΔΤ later does the pointing device M2 * send the actual scroll wheel rotation message rotate2, to possibly causing the overlay application to reposition the native mouse cursor NC before the actual scroll wheel rotation message arrives at the computer device,

In FIG. 22(b) wordt een scrollwiel van de aanwijsinrichting M2* fysiek gedraaid op tijdstip t3, waarop de aanwijsinrichting M2* een dummy-bewegingsbericht dmov2 verstuurt naar de computerinrichting. Als reactie zal de overlay-applicatie (geconfigureerd in TweeHandige inputmodus) de tweede positie Pos2 bijwerken en de native muiscursor instellen op Pos2.In FIG. 22 (b), a scroll wheel of the pointing device M2 * is physically rotated at time t3, at which the pointing device M2 * sends a dummy movement message dm2 to the computer device. In response, the overlay application (configured in Two-Handed input mode) will update the second position Pos2 and set the native mouse cursor to Pos2.

Op tijdstip Ϊ3+ΔΤ verstuurt de aanwijsinrichting M2* een scrollwiel-rotatie-bericht rotate2, welke de overlay-applicatie eenvoudig kan negeren, omdat dit bericht door het O/S en de GUI zal behandeld worden.At time Ϊ3 + ΔΤ, the pointing device M2 * sends a scroll wheel rotation message rotate2, which the overlay application can simply ignore, because this message will be handled by the O / S and the GUI.

Hoewel de oplossing voorgesteld in FIG. 22(a) en FIG. 22(b) een speciale muisinrichting vereist, is het een voordeel dat dit speciale muisgedrag geen hardware modificatie vereist, maar enkel een firmwaremodificatie van de muisinrichting.Although the solution presented in FIG. 22 (a) and FIG. (B) requires a special mouse device, it is an advantage that this special mouse behavior does not require any hardware modification, but only a firmware modification of the mouse device.

Het is ook een voordeel dat de voorgestelde oplossing retro compatibel is, in de zin dat deze speciale muis met de beweeg-vóór-klik functie en/of met de beweeg-vóór-scrol functie eveneens gebruikt kan worden in klassieke computersystemen, die geen speciale overlay-applicatie hebben. Het voornaamste verschil met bestaande muisinrichtingen is dat het knop-ingedrukt-signaal en/of het scrollwiel-rotatie-signaal lichtjes vertraagd wordt, hetgeen waarschijnlijk totaal onacceptabel is in de gaming wereld, en om die reden alleen al niet evident is, maar dit veroorzaakt geen significant probleem voor professionele gebruikers zoals vertalers, proeflezers, transcribers, technische schrijvers, advocaten, enz. die gewend zijn om te werken met tools (bijv. CAT-tools, lokale of onlinewoordenboeken, lokale of online-gegevensbestanden, lokale of online-vertaalgeheugens, enz.) die sowieso tamelijk trage responstijden hebben (typisch in de orde van ten minste 500 ms).It is also an advantage that the proposed solution is retro compatible, in the sense that this special mouse with the move-before-click function and / or with the move-before-scroll function can also be used in traditional computer systems that do not have special have overlay application. The main difference with existing mouse devices is that the button-pressed signal and / or the scroll wheel rotation signal is slightly slowed down, which is probably totally unacceptable in the gaming world, and for that reason alone is not evident, but this causes no significant problem for professional users such as translators, proofreaders, transcribers, technical writers, lawyers, etc. who are used to working with tools (eg CAT tools, local or online dictionaries, local or online data files, local or online translation memories) , etc.) which in any case have rather slow response times (typically in the order of at least 500 ms).

Er bestaat enige ontwerpvrijheid in de keuze van de drie parameters ΔΤ, dx, dy.There is some design freedom in the choice of the three parameters ΔΤ, dx, dy.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 ms tot 250 ms of van 2 ms tot 100 ms, en is dx een waarde in het bereik van -5 tot +5, en is dy een waarde in het bereik van -5 tot +5.In one embodiment, the delay ΔΤ is a value in the range of 1 ms to 250 ms or from 2 ms to 100 ms, and dx is a value in the range of -5 to +5, and dy is a value in the range of -5 to +5.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 ms tot 250 ms of van 2 ms tot 100 ms, en is dx een waarde in het bereik van -2 tot +2, en is dy een waarde in het bereik van -2 tot +2.In one embodiment, the delay ΔΤ is a value in the range of 1 ms to 250 ms or from 2 ms to 100 ms, and dx is a value in the range of -2 to +2, and dy is a value in the range of -2 to +2.

BE2017/5896BE2017 / 5896

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 ms tot 250 ms of van 2 ms tot 100 ms, en is dx een waarde in het bereik van -1 tot +1, en is dy een waarde in het bereik van -1 tot +1.In one embodiment, the delay ΔΤ is a value in the range of 1 ms to 250 ms or from 2 ms to 100 ms, and dx is a value in the range of -1 to +1, and dy is a value in the range of -1 to +1.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=-l en dy=-l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = -l and dy = -l.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=-l en dy=0.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = -1 and dy = 0.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=-l en dy=+l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = -l and dy = +1.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=0 en dy=-l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = 0 and dy = -1.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=0 en dy=0.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = 0 and dy = 0.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=0 en dy=+l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = 0 and dy = + 1.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=+l en dy=-l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = + 1 and dy = -1.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=+l en dy=0.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = + 1 and dy = 0.

In een uitvoeringsvorm is de vertraging ΔΤ een waarde in het bereik van 1 tot 250 ms of van 2 ms tot 100 ms, en dx=+l en dy=+l.In one embodiment, the delay ΔΤ is a value in the range of 1 to 250 ms or from 2 ms to 100 ms, and dx = + 1 and dy = + 1.

In alle van de bovenvermelde uitvoeringsvormen, kan de waarde van ΔΤ bijvoorbeeld ten minste 1 ms zijn, of ten minste 2 ms of ten minste 8 ms, of ten minste 16 ms, of ten minste 24 ms, of ten minste 32 ms, often minste 40 ms, often minste 48 ms, often minste 56 ms, often minste 64 ms, of ten minste 72 ms, of ten minste 80 ms, of ten minste 88 ms, of ten minste 96 ms, of ten minste 104 ms, of ten minste 120 ms, of ten minste 144 ms, of ten minste 160 ms, of ten minste 176 ms, of ten minste 192 ms.In all of the above embodiments, the value of ΔΤ can be, for example, at least 1 ms, or at least 2 ms or at least 8 ms, or at least 16 ms, or at least 24 ms, or at least 32 ms, often at least 40 ms, often at least 48 ms, often at least 56 ms, often at least 64 ms, or at least 72 ms, or at least 80 ms, or at least 88 ms, or at least 96 ms, or at least 104 ms, or at least at least 120 ms, or at least 144 ms, or at least 160 ms, or at least 176 ms, or at least 192 ms.

In alle van de bovenvermelde uitvoeringsvormen, kan de waarde van ΔΤ bijvoorbeeld gelijk zijn aan ongeveer 8 ms of ongeveer 16 ms, of ongeveer 24 ms, of ongeveer 32 ms, of ongeveer 40 ms, of ongeveer 48 ms, of ongeveer 56 ms, of ongeveer 64 ms, of ongeveer 72 ms, of ongeveer 80 ms, of ongeveer 88 ms, of ongeveer 96 ms, of ongeveer 104 ms, of ongeveer 112 ms, of ongeveer 120 ms, of ongeveer 128 ms, of ongeveer 136 ms, of ongeveer 144 ms, of ongeveer 152 ms, of ongeveer 160 ms, of ongeveer 168 ms, of ongeveer 176 ms, of ongeveer 184 ms, of ongeveer 192 ms, of ongeveer 200 ms, of ongeveer 208 ms, of ongeveer 216 ms, of ongeveer 224 ms, of ongeveer 232 ms, of ongeveer 240 ms, of ongeveer 248 ms.For example, in all of the above embodiments, the value of ΔΤ may be about 8 ms or about 16 ms, or about 24 ms, or about 32 ms, or about 40 ms, or about 48 ms, or about 56 ms, or about 64 ms, or about 72 ms, or about 80 ms, or about 88 ms, or about 96 ms, or about 104 ms, or about 112 ms, or about 120 ms, or about 128 ms, or about 136 ms, or about 144 ms, or about 152 ms, or about 160 ms, or about 168 ms, or about 176 ms, or about 184 ms, or about 192 ms, or about 200 ms, or about 208 ms, or about 216 ms, or about 224 ms, or about 232 ms, or about 240 ms, or about 248 ms.

BE2017/5896BE2017 / 5896

Enerzijds zou de waarde van ΔΤ voldoende groot moeten zijn om de waarschijnlijkheid te vergroten dat de computerinrichting voldoende tijd heeft voor het verwerken van het dummybewegingssignaal door de overlay-applicatie, voordat het knop-ingedrukt signaal aankomt. Anderzijds zou de waarde van ΔΤ zo klein mogelijk moeten zijn om de vertraging te verkleinen, en om het risico te verkleinen dat een echt bewegingssignaal of een dummy bewegingssignaal van de andere muisinrichting ertussen zou kunnen komen. De vakman kan een geschikt compromis vinden.On the one hand, the value of ΔΤ should be large enough to increase the likelihood that the computer device has sufficient time for the dummy movement signal to be processed by the overlay application before the button-pressed signal arrives. On the other hand, the value of ΔΤ should be as small as possible in order to reduce the delay, and to reduce the risk that a real motion signal or a dummy motion signal from the other mouse device might come in between. The skilled person can find a suitable compromise.

In een uitvoeringsvorm bevat het dummy bewegingssignaal of -bericht de verplaatsingswaardes dx=0 en dy=O. Indien dit bericht niet uitgefilterd wordt door het O/S en de GUI, zou zulk een bericht ideaal zijn, omdat het de coördinaten van de eerste en tweede positie Posl of Pos2 niet aanpast, maar het toch mogelijk maakt dat aan de overlay-applicatie te signaleren om de native muiscursor te herpositioneren (of in andere woorden gesteld: het maakt mogelijk dat de overlay-applicatie een sprong forceert indien nodig). Indien het dummy-bewegingsbericht een nulverplaatsing heeft (dx=0 en dy=0), zal de native muiscursor NC niet verschuiven of driften vanwege meerdere dummy-bewegingsberichten die verzonden worden, ongeacht hoeveel keren de knop wordt geklikt, en/of het scrollwiel wordt gescrold.In one embodiment, the dummy motion signal or message contains the displacement values dx = 0 and dy = O. If this message is not filtered out by the O / S and the GUI, such a message would be ideal, because it does not adjust the coordinates of the first and second position Pos1 or Pos2, but still allows for the overlay application to signaling to reposition the native mouse cursor (or in other words: it allows the overlay application to force a jump if necessary). If the dummy motion message has a zero displacement (dx = 0 and dy = 0), the native mouse cursor NC will not shift or drift due to multiple dummy motion messages being sent, regardless of how many times the button is clicked, and / or the scroll wheel becomes scrolled.

In een andere uitvoeringsvorm is het dummy-bewegingsbericht niet één enkel vooraf bepaald bericht met dx=0 en dy=0, maar zijn opvolgende dummy-bewegingsberichten verschillend van het eerste dummy-bewegingsbericht, met dx- en dy-waardes zodanig gekozen dat een cumulatieve horizontale verplaatsing gedefinieerd als Δχ =^dx en een cumulatieve verticale verplaatsing gedefinieerd als Ay =^dy kleiner zijn dan een vooraf bepaalde maximumafstand. Bij voorkeur is de vooraf bepaalde maximumafstand minder dan 10 pixels, met meer voorkeur minder dan 4 pixels, of minder dan 3 pixels, of minder dan 2 pixels.In another embodiment, the dummy motion message is not a single predetermined message with dx = 0 and dy = 0, but subsequent dummy motion messages are different from the first dummy motion message, with dx and dy values selected such that a cumulative horizontal displacement defined as Δχ = ^ dx and a cumulative vertical displacement defined as Ay = ^ dy are smaller than a predetermined maximum distance. Preferably, the predetermined maximum distance is less than 10 pixels, more preferably, less than 4 pixels, or less than 3 pixels, or less than 2 pixels.

Bijvoorbeeld kunnen de dummy-bewegingsberichten alternerend of periodisch geselecteerd worden uit een groep bestaande uit twee vooraf bepaalde dummy-bewegingsberichten, bevattende een eerste bericht met (dx=+l, dy=0) en een tweede bericht met (dx=-l, dy=0), wat leidt tot een kleine links/rechts beweging, maar andere groepen van twee berichten zijn eveneens mogelijk, bijvoorbeeld:For example, the dummy motion messages can be alternately or periodically selected from a group consisting of two predetermined dummy motion messages, including a first message with (dx = + 1, dy = 0) and a second message with (dx = -1, dy = 0), which leads to a small left / right movement, but other groups of two messages are also possible, for example:

- de groep bestaande uit twee dummy-bewegingsberichten bevattende een eerste bericht met (dx=0, dy=+l) en een tweede bericht met (dx=0, dy=-l), wat leidt tot een kleine omhoog/omlaag beweging, of- the group consisting of two dummy movement messages containing a first message with (dx = 0, dy = + 1) and a second message with (dx = 0, dy = -1), which leads to a small up / down movement, or

- de groep bestaande uit twee dummy-bewegingsberichten bevattende een eerste bericht met (dx=+l, dy=+l) en een tweede bericht met (dx=-l, dy=-l), wat leidt tot een kleine diagonale beweging, of- the group consisting of two dummy movement messages containing a first message with (dx = + 1, dy = + 1) and a second message with (dx = -1, dy = -1), which leads to a small diagonal movement, or

- de groep bestaande uit twee dummy-bewegingsberichten bevattende een eerste bericht met (dx=+l, dy=-l) en een tweede bericht met (dx=-l, dy=+l), wat leidt tot een kleine diagonale beweging, of- the group consisting of two dummy movement messages containing a first message with (dx = +1, dy = -1) and a second message with (dx = -1, dy = +1), which leads to a small diagonal movement, or

BE2017/5896BE2017 / 5896

- de groep bestaande uit drie dummy-bewegingsberichten bevattende een eerste bericht met (dx=+l, dy=0), en een tweede bericht met (dx=0, dy=+l), en een derde bericht (dx=-l,dy=-l), of- the group consisting of three dummy motion messages containing a first message with (dx = + 1, dy = 0), and a second message with (dx = 0, dy = + 1), and a third message (dx = -1) , dy = -1), or

- de groep bestaande uit vier dummy-bewegingsberichten, bevattende een eerste bericht met (dx=+l,dy=0), een tweede bericht met (dx=0,dy=-l), een derde bericht met (dx=-l,dy=0), en een vierde bericht met (dx=0,dy=+l), enz.- the group consisting of four dummy movement messages, containing a first message with (dx = + 1, dy = 0), a second message with (dx = 0, dy = -1), a third message with (dx = -1) , dy = 0), and a fourth message with (dx = 0, dy = + 1), etc.

Op deze wijze blijft de muispositie in hoofdzaak stationair, zelfs na meerdere kliks en/of scrollwielrotaties, en drift deze niet weg van de originele positie tenzij de aanwijsinrichting fysiek wordt bewogen.In this way, the mouse position remains substantially stationary, even after multiple clicks and / or scroll wheel rotations, and does not drift away from the original position unless the pointing device is physically moved.

FIG. 23(a) toont een vereenvoudigd hoogniveau-blokdiagram van hardware- en softwarecomponenten gesitueerd in een voorbeeldmatig computersysteem volgens een uitvoeringsvorm van de onderhavige uitvinding, omvattende een computerinrichting 2301 met een speciale overlay-applicatie 2351 volgens een uitvoeringsvorm van de onderhavige uitvinding, en twee speciale muisinrichtingen Ml*, M2* volgens een uitvoeringsvorm van de onderhavige uitvinding. De speciale muisinrichtingen Ml*, M2* hebben de hogervermelde beweeg-vóór-klik functie weergegeven in FIG. 22(a) en/of de hogervermelde beweeg-vóór-scrol functie weergegeven in FIG. 22(b), wat wil zeggen dat deze muisinrichtingen Ml*, M2*, bij detectie van een knop die wordt ingedrukt en/of een scrollwiel dat wordt gedraaid, eerst een dummy-bewegingsbericht verzenden en pas enige tijd ΔΤ later een knop-ingedrukt-bericht of een scrollwiel-rotatie-bericht verzenden.FIG. 23 (a) shows a simplified high-level block diagram of hardware and software components located in an exemplary computer system according to an embodiment of the present invention, comprising a computer device 2301 with a special overlay application 2351 according to an embodiment of the present invention, and two special mouse devices M1 *, M2 * according to an embodiment of the present invention. The special mouse devices M1 *, M2 * have the aforementioned move-before-click function shown in FIG. 22 (a) and / or the aforementioned move-before-scroll function shown in FIG. 22 (b), which means that these mouse devices M1 *, M2 *, upon detection of a button that is pressed and / or a scroll wheel that is turned, first send a dummy movement message and only a time ΔΤ later a button-pressed message or a scroll wheel rotation message.

Zoals gesuggereerd door de sterretjes, zijn slechts de overlay-applicatie 2351 en de muisinrichtingen Ml*, M2* speciaal. Alle andere componenten, meerbepaald het O/S en de GUI 2360, de device drivers (apparaatstuurprogramma's) 2361, de andere applicaties 2362, enz. kunnen klassieke componenten zijn.As suggested by the asterisks, only the overlay application 2351 and the mouse devices M1 *, M2 * are special. All other components, specifically the O / S and the GUI 2360, the device drivers 2361, the other applications 2362, etc. can be classic components.

De muisinrichtingen Ml* en M2* kunnen bedrade muisinrichtingen zijn, of draadloze muisinrichtingen, of een combinatie van beide.The mouse devices M1 * and M2 * can be wired mouse devices, or wireless mouse devices, or a combination of both.

Maar de onderhavige uitvinding is niet beperkt tot speciale muisinrichtingen, en de voorgestelde oplossing kan ook toegepast worden op andere aanwijsinrichtingen die ten minste één knop en/of ten minste één scrollwiel hebben.But the present invention is not limited to special mouse devices, and the proposed solution can also be applied to other pointing devices that have at least one button and / or at least one scroll wheel.

FIG. 23(b) toont een voorbeeldmatig blokdiagram van een speciale aanwijsinrichting volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 23(a) of FIG. 24 (dat hierna zal besproken worden). De aanwijsinrichting 2303 omvat ten minste:FIG. 23 (b) shows an exemplary block diagram of a special pointing device according to an embodiment of the present invention, as may be used in the system of FIG. 23 (a) or FIG. 24 (which will be discussed below). The pointing device 2303 comprises at least:

- een bewegingsdetectiemechanisme 2321 voor het detecteren van een tweedimensionale beweging;- a motion detection mechanism 2321 for detecting a two-dimensional movement;

- een besturingseenheid 2324 verbonden met genoemd bewegingsdetectiemechanisme 2321;- a control unit 2324 connected to said motion detection mechanism 2321;

- ten minste één knop BI indrukbaar en loslaatbaar door een gebruiker;- at least one button BI can be pressed and released by a user;

BE2017/5896BE2017 / 5896

- een knopdetectiemechanisme 2322 voor het detecteren of genoemde ten minste één knop BI wordt ingedrukt of wordt losgelaten;- a button detection mechanism 2322 for detecting whether said at least one button B1 is pressed or released;

- waarbij de besturingseenheid 2324 verbonden is met het knopdetectiemechanisme 2322;- wherein the control unit 2324 is connected to the button detection mechanism 2322;

- waarbij de besturingseenheid 2324 aangepast is voor (bijv, geprogrammeerd is voor):- wherein the control unit 2324 is adapted for (e.g., programmed for):

* wanneer een beweging wordt gedetecteerd, voor het zenden van een bewegingsbericht mov2;* when a motion is detected, to send a motion message mov2;

* wanneer gedetecteerd wordt dat de ten minste één knop BI wordt ingedrukt, voor het zenden van een dummy-bewegingsbericht dmov2, en voor het zenden van een knop-ingedrukt-bericht press2 een vooraf bepaalde periode ΔΤ na het zenden van het dummy-bewegingsbericht dmov.* when it is detected that the at least one button B1 is pressed, for sending a dummy movement message dmov2, and for sending a button-pressed message press2 a predetermined period ΔΤ after sending the dummy movement message dmov .

Het bewegingsbericht kan verplaatsingsparameters dx, dy omvatten gerelateerd aan de tweedimensionale beweging.The motion message may include displacement parameters dx, dy related to the two-dimensional motion.

De aanwijsinrichting 2303 kan verder ten minste één scrollwiel W1 omvatten, draaibaar door een gebruiker, en een scrollwiel-detectiemechanisme 2323 voor het detecteren of het ten minste één scrollwiel W1 heeft gedraaid, en de besturingseenheid 2324 kan verbonden zijn met het scrollwieldetectiemechanisme 2323, en kan verder aangepast zijn, wanneer gedetecteerd wordt dat het ten minste één scrollwiel heeft gedraaid, voor het zenden van een dummy-bewegingsbericht dmov, en voor het zenden van een scrollwiel-rotatie-bericht een vooraf bepaalde periode ΔΤ na het zenden van het dummy-bewegingsbericht dmov.The pointing device 2303 may further comprise at least one scroll wheel W1 rotatable by a user, and a scroll wheel detection mechanism 2323 for detecting whether the at least one scroll wheel W1 has been turned, and the control unit 2324 may be connected to the scroll wheel detection mechanism 2323, and may further adapted, if it is detected that the at least one scroll wheel has been rotated, to send a dummy movement message by means of, and to send a scroll wheel rotation message a predetermined period ΔΤ after sending the dummy movement message dmov.

De aanwijsinrichting 2303 kan verder een RF-zendontvanger 2325 omvatten, verbonden met de besturingseenheid 2324, en de besturingseenheid 2324 kan verder geconfigureerd zijn voor het zenden van berichten naar een computerinrichting 2301, en voor het ontvangen van berichten van de computerinrichting 2301 via de genoemde RF-zendontvanger 2325, bijvoorbeeld via een dongel 2311 verbonden met de computerinrichting 2301.The pointing device 2303 may further comprise an RF transceiver 2325 connected to the control unit 2324, and the control unit 2324 may further be configured to send messages to a computer device 2301, and to receive messages from the computer device 2301 via said RF transceiver 2325, for example via a dongle 2311 connected to the computer device 2301.

De besturingseenheid 2324 kan een programmeerbare besturingseenheid zijn, bijv, een microprocessor.The control unit 2324 can be a programmable control unit, e.g. a microprocessor.

FIG. 24 toont een variant van het hoogniveau-blokdiagram van FIG. 23(a), waarbij de twee speciale aanwijsinrichtingen Ml*, M2* verbonden zijn met de computerinrichting 2401 via een klassieke hub of adapter of dongel 2420 in plaats van rechtstreeks verbonden te zijn met de computerinrichting. De hub 2420 kan een bedrade hub zijn, of een draadloze hub.FIG. 24 shows a variant of the high level block diagram of FIG. 23 (a), wherein the two special pointing devices M1 *, M2 * are connected to the computer device 2401 via a conventional hub or adapter or dongle 2420 instead of being directly connected to the computer device. The hub 2420 can be a wired hub, or a wireless hub.

FIG. 25 toont een variant van het hoogniveau-blokdiagram van FIG. 24, waarbij het in FIG. 21 getoonde probleem wordt opgelost in een speciale hub 2520 in plaats van in speciale aanwijsinrichtingen. Dus, de computerinrichting 2501 van FIG. 25 omvat bij voorkeur een klassiek O/S en GUI 2560, klassieke applicaties 2562, klassieke device drivers (apparaatstuurprogramma's) 2561,FIG. 25 shows a variant of the high level block diagram of FIG. 24, wherein in FIG. The problem shown in Fig. 21 is solved in a special hub 2520 instead of in special pointing devices. Thus, the computer device 2501 of FIG. 25 preferably includes a classic O / S and GUI 2560, classic applications 2562, classic device drivers (device drivers) 2561,

BE2017/5896 bijv, muisdrivers, klassieke aanwijsinrichtingen Ml, M2, maar een speciale overlay-applicatie 2551 en een speciale hub of adapter of dongel 2520.BE2017 / 5896 for example, mouse drivers, classical pointing devices M1, M2, but a special overlay application 2551 and a special hub or adapter or dongle 2520.

De functionaliteit van een speciale hub 2520 zal in meer detail uitgelegd worden in FIG. 26(a) tot FIG. 26(d). Voorbeeldmatige hardware blokdiagrammen om deze functionaliteit te implementeren zullen beschreven worden in FIG. 27(a) en FIG. 27(b).The functionality of a special hub 2520 will be explained in more detail in FIG. 26 (a) to FIG. 26 (d). Exemplary hardware block diagrams to implement this functionality will be described in FIG. 27 (a) and FIG. 27 (b).

Zoals begrepen kan worden uit FIG. 21 tot FIG. 22(b), zou de hub H* moeten vermijden dat de computerinrichting een knop-ingedrukt-boodschap ontvangt van aanwijsinrichting M2 welke voorafgegaan wordt in de tijd door een bericht van de andere aanwijsinrichting Ml (bijv, een bewegingsbericht, een knop-klik-bericht, een drukknop-losgelaten-bericht, een scrollwielbericht), en omgekeerd. Aangezien de berichten van beide aanwijsinrichtingen doorheen de hub H* moeten passeren, is de hub in staat om deze situatie te voorkomen.As can be understood from FIG. 21 to FIG. 22 (b), the hub H * should prevent the computer device from receiving a button-pressed message from pointing device M2 preceded in time by a message from the other pointing device M1 (e.g., a motion message, a button-click) message, a push-button release message, a scroll wheel message), and vice versa. Since the messages from both pointing devices must pass through the hub H *, the hub is able to prevent this situation.

In de voorbeeldmatige sequentie van FIG. 26(a), wordt deze situatie als volgt vermeden.In the exemplary sequence of FIG. 26 (a), this situation is avoided as follows.

Op tijdstip tl verstuurt de eerste aanwijsinrichting Ml een bewegingsboodschap movl, en verzendt de hub H* de bewegingsboodschap naar de computerinrichting (ook host genoemd).At time t1, the first pointing device M1 sends a moving message movl, and the hub H * sends the moving message to the computer device (also called host).

Op tijdstip t2 wordt een knop M2B1 van de tweede aanwijsinrichting M2 ingedrukt, en verstuurt de aanwijsinrichting M2 een knop-ingedrukt-boodschap naar de hub H*. De hub H* onderschept dit bericht, en verzendt een dummy-bewegingsbericht dmov2 naar de host (bij voorkeur met kleine bewegingsparameters zoals hierboven uitgelegd), bij voorkeur geformatteerd alsof dit dummy-bewegingsbericht door de tweede aanwijsinrichting M2 werd verzonden.At time t2, a button M2B1 of the second pointing device M2 is pressed, and the pointing device M2 sends a button-pressed message to the hub H *. The hub H * intercepts this message, and sends a dummy motion message dmov2 to the host (preferably with small motion parameters as explained above), preferably formatted as if this dummy motion message was sent by the second pointing device M2.

Enige tijd later, op tijdstip t2+AT, verstuurt de hub 2520 de knop-ingedrukt-boodschap naar de host, geformatteerd alsof dit bericht van de tweede aanwijsinrichting M2 kwam.Some time later, at time t2 + AT, the hub 2520 sends the button-pressed message to the host, formatted as if this message came from the second pointing device M2.

In de uitvoeringsvorm getoond in FIG. 26, negeert de hub H* alle berichten verzonden door de andere aanwijsinrichting Ml totdat de knop M2B1 van de aanwijsinrichting M2 wordt losgelaten op tijdstip t5. Daarom wordt in het getoonde voorbeeld het bewegingsbericht movl verzonden door de aanwijsinrichting Ml op t3, genegeerd.In the embodiment shown in FIG. 26, the hub H * ignores all messages sent by the other pointing device M1 until the button M2B1 of the pointing device M2 is released at time t5. Therefore, in the example shown, the motion message mov1 sent by the pointing device M1 at t3 is ignored.

Op tijdstip t4 verstuurt de tweede aanwijsinrichting M2 een drukknop-losgelaten-bericht naar de hub H*, en de hub H* verzendt dit bericht naar de host.At time t4, the second pointing device M2 sends a push button release message to the hub H *, and the hub H * sends this message to the host.

Op tijdstip t5 verstuurt de eerste aanwijsinrichting Ml een bewegingsbericht naar de hub H*, en de hub H* verzendt dit bericht naar de host.At time t5, the first pointing device M1 sends a motion message to the hub H *, and the hub H * sends this message to the host.

Met andere woorden, de speciale hub H* die het gedrag van FIG. 26(a) implementeert, geeft alle berichten komende van de aanwijsinrichtingen door aan de host, behalve wanneer een knopingedrukt-bericht wordt ontvangen van één van de aanwijsinrichtingen (in het voorbeeld M2), in welk geval de hub H* zich tijdelijk op een speciale gedraagt wijze, namelijk door eerst een dummybewegingsbericht te zenden, en enige tijd ΔΤ later een knop-ingedrukt-bericht press2 te zenden, en door alle berichten te negeren van de andere aanwijsinrichting (in het voorbeeld: Ml) tot eenIn other words, the special hub H * that controls the behavior of FIG. 26 (a), transmits all messages coming from the pointing devices to the host, except when a button-pressed message is received from one of the pointing devices (in the example M2), in which case the hub H * temporarily moves to a special behaves, namely by first sending a dummy movement message, and for some time ΔΤ later sending a button-pressed message press2, and by ignoring all messages from the other pointing device (in the example: M1) to a

BE2017/5896 drukknop-losgelaten-bericht wordt ontvangen van de aanwijsinrichting M2 waarvan knop M2B1 werd ingedrukt.BE2017 / 5896 push button-release message is received from the pointing device M2 whose button M2B1 was pressed.

FIG. 26(b) toont dezelfde sequentie als FIG. 26(a), maar verschillend behandeld door een variant van de speciale hub H*. In deze uitvoeringsvorm negeert de hub het op t3 verzonden bewegingsbericht movl niet, maar vertraagt dit bericht tot na het knop-ingedrukt press2 bericht naar de host is verzonden op t2+AT, zeg op ΐχ=ΐ2+ΔΤ+ε, waarbij ε bij voorkeur kleiner is dan 33 ms, bijvoorbeeld ongeveer 8 ms of ongeveer 16 ms of ongeveer 24 ms. Zoals hierboven uitgelegd, kan de speciale overlay-applicatie Posl optioneel bijwerken, maar heeft deze enige tijd nodig om de native muiscursor te herpositioneren op Pos2, anders kan het O/S de knop als zijnde losgelaten interpreteren op Posl in plaats van Pos2. Daarom, in dit voorbeeld, moet het drukknop-losgelaten-bericht verzonden door de tweede aanwijsinrichting M2 op t4 eveneens vertraagd worden tot tx+ΔΤ. Uiteraard, indien t4 reeds groter was dan tx, dan kan het drukknop-losgelaten-bericht release2 eenvoudig doorgestuurd worden naar de host.FIG. 26 (b) shows the same sequence as FIG. 26 (a), but treated differently by a variant of the special hub H *. In this embodiment, the hub does not ignore the movl message sent on t3, but delays this message until after the button-pressed press2 message is sent to the host on t2 + AT, say ΐχ = ΐ2 + ΔΤ + ε, with ε preferably is less than 33 ms, for example about 8 ms or about 16 ms or about 24 ms. As explained above, the special overlay application can optionally update Posl, but needs some time to reposition the native mouse cursor on Pos2, otherwise the O / S can interpret the button as being released on Posl instead of Pos2. Therefore, in this example, the push button release message sent by the second pointing device M2 on t4 must also be delayed to tx + ΔΤ. Of course, if t4 was already larger than tx, then the push-release message release2 can easily be forwarded to the host.

Indien het gedrag van de signalen en hoe de overlay-applicatie erop zal reageren, weergegeven in FIG. 26(b), goed begrepen is, kan nu begrepen worden worden dat de positiebijwerkingsroutine van FIG. 18(b), die het mogelijk maakt dat het tweede voorwerp wordt bewogen terwijl een knop van de eerste aanwijsinrichting is ingedrukt, verkeerd kan gaan voor de sequentie getoond in FIG. 26(b), in het geval dat de gebruiker de knop M2B1 eerder loslaat dan tx+ΔΤ. De in FIG. 18(a) getoonde routine heeft geen last van dit probleem, omdat deze het bewegingssignaal negeert, op grotendeels dezelfde wijze als de hub van FIG. 26(a) dit doet.If the behavior of the signals and how the overlay application will respond to it, shown in FIG. 26 (b), it is well understood that the position updating routine of FIG. 18 (b), which allows the second object to be moved while a button of the first pointing device is pressed, may go wrong for the sequence shown in FIG. 26 (b), in case the user releases the M2B1 button before tx + ΔΤ. The in FIG. 18 (a) does not suffer from this problem because it ignores the motion signal in much the same way as the hub of FIG. 26 (a) does this.

Dus, wanneer de speciale hub H* gebruikt wordt, kan zowel de positie-bijwerkingsroutine van FIG. 18(a) alsook die van FIG. 18(b) beide gebruikt worden in de TweeHandige inputmodus, omdat de hub voor de timing zorgt tussen de berichten afkomstig van verschillende inrichtingen. Maar indien de speciale hub niet gebruikt wordt in het computersysteem, dan is de positie-bijwerkingsroutine getoond in FIG. 18(a) veiliger.Thus, when the special hub H * is used, both the position updating routine of FIG. 18 (a) as well as those of FIG. 18 (b) both are used in the Two-Hand input mode, because the hub provides the timing between the messages from different devices. But if the dedicated hub is not used in the computer system, the position updating routine is shown in FIG. 18 (a) more secure.

FIG. 26(c) toont een voorbeeldmatige sequentie om uit te leggen hoe de speciale hub H* die het in FIG. 26(a) gespecifieerde gedrag heeft, kan reageren in reactie op een muiswiel-boodschap.FIG. 26 (c) shows an exemplary sequence to explain how the special hub H * shown in FIG. 26 (a) has specified behavior, may respond in response to a mouse wheel message.

Op tijdstip tl verstuurt de eerste aanwijsinrichting Ml een bewegingsboodschap movl, en verzendt de hub H* de bewegingsboodschap naar de computerinrichting (ook host genoemd).At time t1, the first pointing device M1 sends a moving message movl, and the hub H * sends the moving message to the computer device (also called host).

Op tijdstip t2 wordt een scrollwiel M2W1 van de tweede aanwijsinrichting M2 gedraaid, en de aanwijsinrichting M2 verstuurt een scrollwiel-rotatie-bericht naar de hub H*. De hub H* onderschept dit bericht, en verzendt een dummy-bewegingsbericht dmov2 naar de host (bij voorkeur met kleine bewegingsparameters zoals hierboven uitgelegd), bij voorkeur geformatteerd alsof dit dummybewegingsbericht verzonden werd door de tweede aanwijsinrichting M2.At time t2, a scroll wheel M2W1 is rotated from the second pointing device M2, and the pointing device M2 sends a scrolling wheel rotation message to the hub H *. The hub H * intercepts this message, and sends a dummy motion message dmov2 to the host (preferably with small motion parameters as explained above), preferably formatted as if this dummy motion message was sent by the second pointing device M2.

BE2017/5896BE2017 / 5896

Enige tijd later, op tijdstip t2+AT, verstuurt de hub H* het scrollwiel-rotatie-bericht naar de host, geformatteerd alsof dit bericht van de tweede aanwijsinrichting M2 kwam.Some time later, at time t2 + AT, the hub H * sends the scroll wheel rotation message to the host, formatted as if it came from the second pointing device M2.

In de uitvoeringsvorm getoond in FIG. 27, negeert de hub H* alle berichten verzonden door de andere aanwijsinrichting Ml naar de hub H* die aankomen tussen t2 en Ϊ2+ΔΤ. Daarom wordt, in het getoonde voorbeeld, het bewegingsbericht movl verzonden door de aanwijsinrichting Ml op t3, genegeerd.In the embodiment shown in FIG. 27, the hub H * ignores all messages sent by the other pointing device M1 to the hub H * arriving between t2 and Ϊ2 + ΔΤ. Therefore, in the example shown, the motion message mov1 sent by the pointing device M1 at t3 is ignored.

Op tijdstip t4 verstuurt de eerste aanwijsinrichting Ml een bewegingsbericht movl naar de hub H*, en de hub H* verzendt dit bericht naar de host.At time t4, the first pointing device M1 sends a motion message movl to the hub H *, and the hub H * sends this message to the host.

Op tijdstip t5 verstuurt de tweede aanwijsinrichting M2 een bewegingsbericht naar de hub H*, en de hub H* verzendt dit bericht naar de host.At time t5, the second pointing device M2 sends a motion message to the hub H *, and the hub H * sends this message to the host.

FIG. 26(d) toont dezelfde sequentie als FIG. 26(c), maar verschillend behandeld door een variant van de speciale hub H*. In deze uitvoeringsvorm, negeert de hub H* het op t3 verzonden bewegingsbericht movl niet, maar vertraagt dit bericht tot nadat het scrollwiel-rotatie-bericht scroll2 verzonden is naar de host op Ϊ2+ΔΤ, zeg op ΐχ=ΐ2+ΔΤ+ε. Het bewegingsbericht movl op t4 verzonden door de eerste aanwijsinrichting Ml, en het bewegingsbericht mov2 verzonden door de tweede aanwijsinrichting M2 worden eenvoudig verzonden naar de host.FIG. 26 (d) shows the same sequence as FIG. 26 (c), but treated differently by a variant of the special hub H *. In this embodiment, the hub H * does not ignore the movl sent message at t3, but delays this message until after the scroll wheel rotation message scroll2 has been sent to the host at Ϊ2 + ΔΤ, say ΐχ = ΐ2 + ΔΤ + ε. The motion message mov1 on t4 sent by the first pointing device M1, and the motion message mov2 sent by the second pointing device M2 are simply sent to the host.

Bij het vergelijken van het gedrag van de speciale hub H* zoals gespecifieerd in FIG. 26(a) tot FIG. 26(d) met het gedrag van de speciale aanwijsinrichtingen, zoals gespecifieerd in FIG. 22(a) en FIG. 22(b), kan men zien dat de speciale hub H* het probleem van FIG. 21 benadert op basis van hetzelfde principe, namelijk door een dummy-bewegingsbericht in te voegen enige tijd ΔΤ vóór het doorsturen van het eigenlijke knop-ingedrukt-bericht of scrollwiel-rotatie-bericht. Het implementeren van dit gedrag in een speciale hub in plaats van in speciale aanwijsinrichtingen verschaft het additionele voordeel dat de hub H* werkelijk kan voorkomen dat de andere aanwijsinrichting een tussenliggend bericht naar de host verstuurt tussen dit dummy-bewegingsbericht en het eigenlijke knop-ingedrukt of scrollwiel-rotatie-bericht, en daarom kan garanderen dat de situatie van FIG. 21 niet kan optreden. Dat is niet mogelijk met de speciale aanwijsinrichtingen.When comparing the behavior of the special hub H * as specified in FIG. 26 (a) to FIG. 26 (d) with the behavior of the special pointing devices, as specified in FIG. 22 (a) and FIG. 22 (b), it can be seen that the special hub H * addresses the problem of FIG. 21 approaches ΔΤ on the basis of the same principle, namely by inserting a dummy movement message before transmitting the actual button-pressed message or scroll-wheel rotation message. Implementing this behavior in a special hub instead of in special pointing devices provides the additional advantage that the hub H * can actually prevent the other pointing device from sending an intermediate message to the host between this dummy motion message and the actual button-pressed or scroll wheel rotation message, and therefore can guarantee that the situation of FIG. 21 cannot occur. This is not possible with the special pointing devices.

Of in andere woorden uitgedrukt, hoewel de beweeg-vóór-klik en de beweeg-vóór-scrol functie voorgesteld in FIG. 22 het risico vermindert dat de computerinrichting de berichten verkeerd zal interpreteren, is het risico niet volledig geëlimineerd, omdat één aanwijsinrichting geen invloed heeft over de berichten die verzonden worden door de andere aanwijsinrichting. Daarentegen, heeft een speciale hub H* met de kenmerken beschreven in FIG. 26(a) tot FIG. 26(d) volledige controle over de berichten die naar de computerinrichting worden verzonden, en kan de stroom van berichten naar en van beide aanwijsinrichtingen filteren en/of aanpassen. Op deze manier kunnen ongewenste combinaties van voorwaarden of ongewenste timing tussen de signalen/boodschappen vermeden ofOr expressed in other words, although the move-before-click and move-before-scroll function presented in FIG. 22 reduces the risk that the computer device will misinterpret the messages, the risk is not completely eliminated, because one pointing device has no influence over the messages sent by the other pointing device. In contrast, a special hub has H * with the features described in FIG. 26 (a) to FIG. 26 (d) complete control over the messages sent to the computer device, and can filter and / or adjust the flow of messages to and from both pointing devices. In this way, unwanted combinations of conditions or unwanted timing between the signals / messages can be avoided or

BE2017/5896 aangepast worden, zodanig dat het O/S en de GUI en de speciale overlay-applicatie 2551 correct zullen functioneren.BE2017 / 5896, so that the O / S and the GUI and the special overlay application 2551 will function correctly.

Slimme hubs die berichten van meerdere aanwijsinrichtingen interpreteren en/of wijzigen en/of tussenvoegen en/of vertragen om dubbele muis ondersteuning op een computerinrichting mogen te maken in het algemeen, laat staan voor het faciliteren van dubbele muis ondersteuning verschaft door een overlay-applicatie die op een computerinrichting met een O/S en GUI wordt uitgevoerd dat slechts één enkele native muiscursor verschaft, om de native muiscursor te herpositioneren, teneinde een O/S en GUI te verschaffen dat virtueel dubbele muis ondersteuning verschaft, bestaan niet in de stand der techniek.Smart hubs that interpret and / or modify messages from multiple pointing devices and / or insert and / or delay to make double mouse support on a computer device in general, let alone facilitate double mouse support provided by an overlay application that is performed on a computer device with an O / S and GUI that provides only a single native mouse cursor, to reposition the native mouse cursor, to provide an O / S and GUI that provides virtual double mouse support, do not exist in the prior art .

FIG. 27(a) toont een voorbeeldmatig blokdiagram van een hub of dongel of adapter volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 25, die ten minste twee fysieke connectoren CONI, CON2 heeft voor verbinding met twee klassieke bedrade aanwijsinrichtingen Ml, M2, en ten minste één connector CON3 (optioneel aan het einde van een kabel) voor verbinding met een computerinrichting 2701.FIG. 27 (a) shows an exemplary block diagram of a hub or dongle or adapter according to an embodiment of the present invention, as may be used in the system of FIG. 25, which has at least two physical connectors CON1, CON2 for connection to two conventional wired indicating devices M1, M2, and at least one connector CON3 (optionally at the end of a cable) for connection to a computer device 2701.

FIG. 27(b) toont een voorbeeldmatig blokdiagram van een draadloze hub (of dongel of adapter) volgens een uitvoeringsvorm van de onderhavige uitvinding, zoals gebruikt kan worden in het systeem van FIG. 25, die één of twee RF-zendontvangers heeft voor werkzame verbinding met twee klassieke draadloze aanwijsinrichtingen.FIG. 27 (b) shows an exemplary block diagram of a wireless hub (or dongle or adapter) according to an embodiment of the present invention, as may be used in the system of FIG. 25, which has one or two RF transceivers for operative connection to two conventional wireless pointing devices.

De hub 2720 van FIG. 27(a) omvat:The hub 2720 of FIG. 27 (a) includes:

- een eerste interface CON1 om te communiceren met een eerste aanwijsinrichting Ml;- a first interface CON1 for communicating with a first pointing device M1;

- een tweede interface CON2 om te communiceren met een tweede aanwijsinrichting M2;- a second interface CON2 for communicating with a second pointing device M2;

- een derde interface CON3 om te communiceren met een computerinrichting 2701;- a third interface CON3 for communicating with a computer device 2701;

- een besturingseenheid 2744 die verbonden is met de eerste interface voor het ontvangen van eerste berichten van de eerste aanwijsinrichting Ml, en die verbonden is met de tweede interface voor het ontvangen van tweede berichten van de tweede aanwijsinrichting M2, en die verbonden is met de derde interface voor het verzenden van de eerste en tweede berichten naar de computerinrichting (2701);- a control unit 2744 which is connected to the first interface for receiving first messages from the first pointing device M1, and which is connected to the second interface for receiving second messages from the second pointing device M2, and which is connected to the third interface for sending the first and second messages to the computer device (2701);

- en waarbij de besturingseenheid 2744 is aangepast voor het zenden van een dummybewegingsbericht een vooraf bepaalde periode (ΔΤ) vóór het zenden van een knop-ingedrukt-bericht en/of een scrollwiel-rotatie-bericht.- and wherein the control unit 2744 is adapted to send a dummy movement message a predetermined period (ΔΤ) before sending a button-pressed message and / or a scroll wheel rotation message.

Meer specifiek, kan de besturingseenheid 2744 aangepast worden om zich als volgt te gedragen:More specifically, the control unit 2744 can be adapted to behave as follows:

* bij ontvangst van een eerste knop-ingedrukt-bericht pressi van de eerste aanwijsinrichting via de eerste interface, om een eerste dummy-bewegingsbericht dmovl te zenden naar de* upon receipt of a first button-pressed message pressi from the first pointing device via the first interface, to send a first dummy movement message by means of dll to the

BE2017/5896 computerinrichting via de derde interface, en om een vooraf bepaalde periode ΔΤ later het eerste knop-ingedrukt-bericht pressi te zenden naar de computerinrichting via de derde interface;BE2017 / 5896 computer device via the third interface, and to press the first button-pressed message lateri a predetermined period Δ press to the computer device via the third interface;

* bij ontvangst van een tweede knop-ingedrukt-bericht press2 van de tweede aanwijsinrichting via de tweede interface, om een tweede dummy-bewegingsbericht dmov2 te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode ΔΤ later, het tweede knop-ingedrukt-bericht press2 te zenden naar de computerinrichting via de derde interface;* upon receipt of a second button-pressed message press2 from the second pointing device via the second interface, to send a second dummy movement message dmov2 to the computer device via the third interface, and to a predetermined period ΔΤ later, the second button send printed message press2 to the computer device via the third interface;

* bij ontvangst van een eerste scrollwiel-rotatie-bericht van de eerste aanwijsinrichting via de eerste interface, om een eerste dummy-bewegingsbericht dmovl te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode ΔΤ later, het eerste scrollwiel-rotatie-bericht te zenden naar de computerinrichting via de derde interface;* upon receipt of a first scroll wheel rotation message from the first pointing device via the first interface, to send a first dummy movement message through the third interface to the computer device, and to a predetermined period ΔΤ later, the first scroll wheel send rotation message to the computer device via the third interface;

* bij ontvangst van een tweede scrollwiel-rotatie-bericht van de tweede aanwijsinrichting via de tweede interface, om een tweede dummy-bewegingsbericht dmov2 te zenden naar de computerinrichting via de derde interface, en om een vooraf bepaalde periode ΔΤ later, het tweede scrollwiel-rotatie-bericht te zenden naar de computerinrichting via de derde interface.* upon receipt of a second scroll wheel rotation message from the second pointing device via the second interface, to send a second dummy movement message dmov2 to the computer device via the third interface, and to a predetermined period ΔΤ later, the second scroll wheel send rotation message to the computer device via the third interface.

De hub 2721 van FIG. 27(b) omvat:The hub 2721 of FIG. 27 (b) includes:

- een eerste RF-zendontvanger RFX1 voor het ontvangen van berichten van en het verzenden van berichten naar de eerste aanwijsinrichting Ml; en- a first RF transceiver RFX1 for receiving messages from and sending messages to the first pointing device M1; and

- een tweede RF-zendontvanger RFX2 voor het ontvangen van berichten van en het verzenden van berichten naar de tweede aanwijsinrichting M2, waarbij de tweede RF-zendontvanger dezelfde is als de eerste RF-zendontvanger, of een separate RF-zendontvanger is; en- a second RF transceiver RFX2 for receiving messages from and sending messages to the second pointing device M2, wherein the second RF transceiver is the same as the first RF transceiver, or is a separate RF transceiver; and

- een connector CON3 die aansluitbaar is op een computerinrichting 2701;- a connector CON3 that can be connected to a computer device 2701;

- een besturingseenheid 2745 die verbonden is met de eerste RF-zendontvanger RFX1 voor het ontvangen van eerste berichten van de eerste aanwijsinrichting Ml, en die verbonden is met de tweede RF-zendontvanger RFX2 voor het ontvangen van tweede berichten van de tweede aanwijsinrichting M2, en die verbonden is met de connector CON3 voor het zenden van berichten naar (en typisch ook het ontvangen van berichten van) de computerinrichting 2701, waarbij de besturingseenheid is aangepast voor het zenden van een dummybewegingsbericht een vooraf bepaalde periode ΔΤ vóór het zenden van een knop-ingedrukt-bericht naar de computerinrichting en/of voor het zenden van een dummy-bewegingsbericht een vooraf bepaalde periode (ΔΤ) vóór het zenden van een scrollwiel-rotatie-bericht naar de computerinrichting.a control unit 2745 which is connected to the first RF transceiver RFX1 for receiving first messages from the first pointing device M1, and which is connected to the second RF transceiver RFX2 for receiving second messages from the second pointing device M2, and connected to the connector CON3 for sending messages to (and typically also receiving messages from) the computer device 2701, wherein the control unit is adapted to send a dummy movement message a predetermined period ΔΤ before sending a button pressed message to the computer device and / or for sending a dummy movement message a predetermined period (ΔΤ) before sending a scroll wheel rotation message to the computer device.

Wat hierboven is beschreven met betrekking tot de parameters dx, dy, ΔΤ bij het bespreken van speciale aanwijsinrichtingen, wordt hier niet herhaald, maar toepasbaar op de speciale hub.What has been described above with regard to the parameters dx, dy, ΔΤ when discussing special pointing devices is not repeated here, but applicable to the special hub.

De besturingseenheid 2744, 2745 kan een programmeerbare besturingseenheid zijn, bijv, een microprocessor.The control unit 2744, 2745 can be a programmable control unit, e.g. a microprocessor.

BE2017/5896BE2017 / 5896

FIG. 28(a) toont een voorbeeldmatig gebruikersinterface-venster, hierin de minigebruikersinterface genoemd, zoals gebruikt kan worden in uitvoeringsvormen van de onderhavige uitvinding voor het configureren van de overlay-applicatie, bijv, om een inputmodus en/of een displaymodus te kiezen, en/of een grootte en/of een kleur van het tweede of verder zichtbaar voorwerp te kiezen, en/of een semi-transparantieniveau van het doorklikvenster te kiezen gebruikmakend van één of meerdere pop-up-menu's, waarvan een voorbeeld getoond wordt in FIG. 28(b).FIG. 28 (a) shows an exemplary user interface window, referred to herein as the mini user interface, as may be used in embodiments of the present invention to configure the overlay application, e.g., to select an input mode and / or a display mode, and / or choose a size and / or a color from the second or further visible object, and / or choose a semi-transparency level of the click-through window using one or more pop-up menus, an example of which is shown in FIG. 28 (b).

Het gebruikersinterface-venster, bijv, venster 585 in FIG. 5c of venster 885 in FIG. 8c, is bij voorkeur ondoorzichtig en is niet geconfigureerd in doorklikmodus, en heeft bij voorkeur een Z-orde hoger dan die van het doorklikvenster 584, 884 in FIG. 5c en FIG. 8c. Het pop-up-menu van FIG. 28(b) kan bijvoorbeeld verschijnen bij het klikken op een rechter knop van de dominante aanwijsinrichting wanneer de native muiscursor gepositioneerd is boven één van de pictogrammen die een specifieke displaymodus weergeven.The user interface window, e.g., window 585 in FIG. 5c or window 885 in FIG. 8c, is preferably opaque and is not configured in click-through mode, and preferably has a Z order higher than that of the click-through window 584, 884 in FIG. 5c and FIG. 8c. The pop-up menu of FIG. 28 (b) may, for example, appear when clicking a right button of the dominant pointing device when the native mouse cursor is positioned above one of the icons representing a specific display mode.

De overlay-applicatie kan één of meerdere ingangsmodi implementeren, gekozen uit de groep bestaande uit: een EénHandige Aanwijs-modus (aangeduid als EénH in FIG. 28a), een Dubbele Aanwijs-modus waarbij de linker aanwijsinrichting de dominante aanwijsinrichting is (aangeduid als LinksH in FIG. 28a), een Dubbele Aanwijs-modus waarbij de rechter aanwijsinrichting de dominante aanwijsinrichting is (aangeduid als RechtsH in FIG. 28a), en een Dubbele Aanwijs-modus waarbij beide aanwijsinrichtingen dominant zijn (aangeduid als TweeH in FIG. 28a).The overlay application can implement one or more input modes selected from the group consisting of: a One Handed Pointing Mode (referred to as OneH in FIG. 28a), a Double Pointing Mode where the left pointing device is the dominant pointing device (referred to as LeftH in Fig. 28a), a Dual Pointing mode where the right pointing device is the dominant pointing device (referred to as RightH in FIG. 28a), and a Double Pointing Mode where both pointing devices are dominant (referred to as TwoH in FIG. 28a).

In een uitvoeringsvorm van de onderhavige uitvinding die configureerbaar is in één van meerdere ingangsmodi, kan een berichtenverwerker van de overlay-applicatie de pseudo-code van FIG. 18(c) omvatten. Er wordt opgemerkt dat het testen of een knop van de dominante aanwijsinrichting is ingedrukt of niet, niet vereist is in het geval van de RechtsHandige en LinksHandige inputmodus, omdat de native muiscursor in deze gevallen niet springt van de ene naar de andere onderhouden positie Posl, Pos2. Dus bijvoorbeeld, in het geval van de Rechtshändige inputmodus, kan een knop van de rechter aanwijsinrichting gerust ingedrukt en bewogen worden (bijv, bij het slepen of bij het selecteren van tekst in een tekstverwerker) terwijl de linker aanwijsinrichting eveneens bewogen wordt, zonder een conflict te veroorzaken (ervan uitgaand dat geen knop van de linker aanwijsinrichting wordt ingedrukt, en dat het scrollwiel van de linker aanwijsinrichting niet wordt gedraaid).In an embodiment of the present invention that is configurable in one of several input modes, a message processor of the overlay application may use the pseudo code of FIG. 18 (c). It is noted that testing whether a button of the dominant pointing device is depressed or not is not required in the case of the Right Hand and Left Hand input mode, since in these cases the native mouse cursor does not jump from one maintained position Posl to another, Pos2. Thus, for example, in the case of the Legal input mode, a button of the right pointing device can be safely pressed and moved (e.g., when dragging or selecting text in a word processor) while the left pointing device is also moved, without conflict (assuming that no button of the left pointing device is pressed, and that the scroll wheel of the left pointing device is not turned).

Er wordt in dit opzicht opgemerkt dat sommige uitvoeringsvormen van de speciale hub het gedrag weergegeven in FIG. 26(a) en FIG. 26(c), of zoals weergegeven in FIG. 26(b) en FIG. 26(d), kunnen implementeren, ervan uitgaande dat beide aanwijsinrichtingen mogen worden bewogen en/of geklikt en/of gescrold.It is noted in this regard that some embodiments of the special hub have the behavior shown in FIG. 26 (a) and FIG. 26 (c), or as shown in FIG. 26 (b) and FIG. 26 (d) can implement, assuming that both pointing devices may be moved and / or clicked and / or scrolled.

BE2017/5896BE2017 / 5896

Andere uitvoeringsvormen van de speciale hub kunnen alle knop-ingedrukt-berichten en alle drukknop-losgelaten-berichten en alle scrollwiel-rotatieberichten ontvangen via één van zijn ingangspoorten onvoorwaardelijk negeren, en alleen bewegingsberichten doorlaten. Zulke uitvoeringsvorm kan in het bijzonder nuttig zijn in combinatie met een LinksHandige of RechtsHandige inputmodus. Op deze wijze wordt gegarandeerd dat zulk bericht verzonden door de niet-dominante aanwijsinrichting de computerinrichting niet kan bereiken, zelfs indien de gebruiker per ongeluk de niet-dominante aanwijsinrichting zou klikken of scrollen.Other embodiments of the special hub can unconditionally ignore all button-pressed messages and all push-button released messages and all scroll wheel rotation messages received through one of its input ports, and only allow motion messages to pass. Such an embodiment may be particularly useful in combination with a Left Handed or Right Handed input mode. In this way it is guaranteed that such message sent by the non-dominant pointing device cannot reach the computer device even if the user accidentally clicks or scrolls the non-dominant pointing device.

Sommige uitvoeringsvormen van de speciale hub zijn configureerbaar, bijv, via dip-switches of in software, bijvoorbeeld via een opdracht van de overlay-applicatie, of op een andere wijze, om ofwel (i) het doorlaten toe te staan van alle bewegings- en indrukkings- en loslatings- en scrollwiel-rotatieberichten van alle aanwijsinrichtingen, of (ii) het doorlaten toe te staan van bewegingsberichten van alle aanwijsinrichtingen, maar slechts indrukkings- en loslatings- en scrollwielberichten van één enkele aanwijsinrichting toe te staan.Some embodiments of the special hub are configurable, e.g., via dip switches or in software, e.g. via a command from the overlay application, or otherwise, to allow either (i) to allow all motion and impression and release and scroll wheel rotation messages from all pointing devices, or (ii) allowing passage of motion messages from all pointing devices, but only allow impression and release and scroll wheel messages from a single pointing device.

De overlay-applicatie kan één of meerdere displaymodi implementeren, bijvoorbeeld zoals voorgesteld door de pictogrammen getoond in FIG. 28(a).The overlay application can implement one or more display modes, for example as represented by the icons shown in FIG. 28 (a).

EERSTE GROEP:FIRST GROUP:

Een eerste groep 2840 displaymodi werkt met de EénHandige Aanwijs-inputmodus, en biedt de volgende displaymodi, die als volgt samengevat kunnen worden:A first group of 2840 display modes works with the One-Hand Point input mode, and offers the following display modes, which can be summarized as follows:

- pictogram 2840(a) stelt een modus voor met de enkele (native) muisaanwijzer verschaft door een klassiek O/S en GUI,- icon 2840 (a) represents a mode with the single (native) mouse pointer provided by a classic O / S and GUI,

- pictogrammen 2840(b) tot 2840(f) stellen een modus voor met de enkele (native) muisaanwijzer, maar bijkomend een tweede en/of derde zichtbaar voorwerp in de vorm van (b) een hand; (c) een vierkant of lijnsegment of rechthoek; (d) een lijn of rechthoek die zich uitstrekt over de ganse breedte van het overlayvenster; (e) een klein kruis; (f) een groot kruis gevormd door een horizontale lijn of rechthoek die zich bij voorkeur uitstrekt uit over de ganse breedte van het overlayvenster 584, 884 en door een verticale lijn of rechthoek die zich bij voorkeur uitstrekt over de ganse hoogte van het overlayvenster 584, 884;- icons 2840 (b) to 2840 (f) represent a mode with the single (native) mouse pointer, but also a second and / or third visible object in the form of (b) a hand; (c) a square or line segment or rectangle; (d) a line or rectangle that extends the entire width of the overlay window; (e) a small cross; (f) a large cross formed by a horizontal line or rectangle that preferably extends over the entire width of the overlay window 584, 884 and by a vertical line or rectangle that preferably extends over the entire height of the overlay window 584, 884;

- pictogram 2840(j) dat een modus weergeeft van een horizontale lijn of balk gelijkend op modus 2840(d), maar met een additioneel zichtbaar voorwerp in de vorm van een klein blok bijv, een vierkant of rechthoek beweegbaar binnen de lijn of balk;- icon 2840 (j) representing a mode of a horizontal line or bar similar to mode 2840 (d), but with an additional visible object in the form of a small block e.g. a square or rectangle movable within the line or bar;

- pictogram 2840(k) stelt een modus voor met een verticale lijn die het scherm splitst in een linker gedeelte en een rechter gedeelte, deze verticale lijn is bij voorkeur beweegbaar door slepen (na het tijdelijk instellen van het overlayvenster 584, 884 in niet-doorklikmodus zoals in meer detail uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage, en met een horizontale lijn aan het linker gedeelte van de verticale lijn, welke horizontale lijn mee beweegt met de- icon 2840 (k) represents a mode with a vertical line that splits the screen into a left-hand section and a right-hand section, this vertical line is preferably movable by dragging (after temporarily setting the overlay window 584, 884 in non- click-through mode as explained in more detail in the pending perforated bitmap application, and with a horizontal line on the left-hand side of the vertical line, which horizontal line moves with the

BE2017/5896 muisaanwijzer wanneer de muisaanwijzer zich aan de linkerzijde van de verticale lijn bevindt, en welke horizontale lijn bevriest wanneer de muisaanwijzer zich aan de rechterzijde van de verticale lijn bevindt. Deze modus kan in het bijzonder nuttig zijn voor rechtshändige vertalers of reviewers die met slechts één enkele muisaanwijzer werken;BE2017 / 5896 mouse pointer when the mouse pointer is on the left side of the vertical line, and which horizontal line freezes when the mouse pointer is on the right side of the vertical line. This mode can be particularly useful for legal translators or reviewers who work with just a single mouse pointer;

- pictogram 2840(1) stelt een modus voor gelijkend op modus 2840(k) maar de horizontale lijn bevindt zich aan de rechterzijde van de verticale lijn, en beweegt omhoog/omlaag wanneer de native muisaanwijzer zich aan de rechterzijde van de verticale lijn bevindt, en bevriest wanneer de muisaanwijzer zich aan de linkerzijde van de verticale lijn bevindt. Deze modus kan in het bijzonder nuttig zijn voor linkshandige vertalers of reviewers die met slechts één enkele muisaanwijzer werken.- icon 2840 (1) represents a mode similar to mode 2840 (k) but the horizontal line is on the right side of the vertical line, and moves up / down when the native mouse pointer is on the right side of the vertical line, and freezes when the mouse pointer is on the left side of the vertical line. This mode can be particularly useful for left-handed translators or reviewers who work with just a single mouse pointer.

In alle modi 2840(a)-(l) is de native muiscursor zichtbaar op het scherm, en beweegt deze mee met het ten minste tweede zichtbaar voorwerp in de vorm van een hand of een lijn of een kruis of een blok zoals hierboven beschreven, behalve in de modi met de bevroren lijn voorgesteld door pictogram 2840(k) en 2840(1), waarbij het zichtbaar voorwerp slechts onder bepaalde voorwaarden met de aanwijsinrichting mee beweegt.In all modes 2840 (a) - (1), the native mouse cursor is visible on the screen, and moves with the at least second visible object in the form of a hand or a line or a cross or a block as described above, except in the frozen line modes represented by pictograms 2840 (k) and 2840 (1), the visible object moving with the pointing device only under certain conditions.

TWEEDE GROEP:SECOND GROUP:

Een tweede groep 2850 displaymodi werkt met de LinksHandige Dubbele Aanwijsinputmodus, en biedt de volgende displaymodi, die als volgt samengevat kunnen worden:A second group of 2850 display modes works with the Left Handed Dual Pointing Input Mode, and offers the following display modes, which can be summarized as follows:

- pictogram 2850(a) stelt een modus voor met de enkele (native) muisaanwijzer verschaft door een klassiek O/S en GUI, en bijkomend een tweede zichtbaar voorwerp in de vorm van een pijl, bijv, een zwarte pijl. De native muiscursor wordt gestuurd door de linker aanwijsinrichting. Aspecten van modus 2850(a) werden ook beschreven in FIG. 9;icon 2850 (a) represents a mode with the single (native) mouse pointer provided by a classic O / S and GUI, and also a second visible object in the form of an arrow, e.g., a black arrow. The native mouse cursor is controlled by the left pointing device. Aspects of mode 2850 (a) were also described in FIG. 9;

- pictogrammen 2850(b) tot 2850(f) stellen een modus voor met de enkele (native) muisaanwijzer stuurbaar door de linker aanwijsinrichting, en met een additioneel tweede of verder zichtbaar voorwerp in de vorm van (b) een hand; (c) een vierkant; (d) een lijn of rechthoek; (e) een klein kruis; (f) een groot kruis, regelbaar door de andere aanwijsinrichting, namelijk de rechter aanwijsinrichting;icons 2850 (b) to 2850 (f) represent a mode with the single (native) mouse pointer controllable through the left pointing device, and with an additional second or further visible object in the form of (b) a hand; (c) a square; (d) a line or rectangle; (e) a small cross; (f) a large cross adjustable by the other pointing device, namely the right pointing device;

- pictogram 2850(g) tot pictogram 2850(i) stelt een modus voor gelijkend op modus 2850(c) tot 2850(e), maar de overlay-applicatie toont verder een additioneel (g) vierkant of (h) lijn of (h) klein kruis dat mee beweegt met de native muisaanwijzer, en derhalve beweegbaar is door de linker aanwijsinrichting;- icon 2850 (g) to icon 2850 (i) represents a mode similar to mode 2850 (c) to 2850 (e), but the overlay application further shows an additional (g) square or (h) line or (h) small cross that moves with the native mouse pointer, and is therefore movable through the left pointing device;

- pictogram 2850(j) stelt een modus voor waarbij de overlay-applicatie een verticale lijn verschaft die het scherm splitst in een linker gedeelte en een rechter gedeelte, en met een eerste horizontale lijn gelegen aan de linkerzijde van de verticale lijn die beweegt in overeenstemming met bewegingen van de linker aanwijsinrichting, en met een tweede horizontale lijn gelegen aan de rechterzijde van de verticale lijn die beweegt in overeenstemming met bewegingen van de rechter- icon 2850 (j) represents a mode in which the overlay application provides a vertical line that splits the screen into a left portion and a right portion, and with a first horizontal line located on the left side of the vertical line moving in accordance with movements of the left pointing device, and with a second horizontal line located on the right side of the vertical line moving in accordance with movements of the right

BE2017/5896 aanwijsinrichting. De native muiscursor is beweegbaar over het ganse scherm, en beweegt mee met de linker aanwijsinrichting. Deze modus kan in het bijzonder nuttig zijn voor linkshandige vertalers of reviewers die twee teksten vergelijken;BE2017 / 5896 pointing device. The native mouse cursor is movable over the entire screen, and moves with the left pointing device. This mode can be particularly useful for left-handed translators or reviewers who compare two texts;

- pictogram 2850(1) stelt een variant voor van de modus 2850(j) zonder de linker horizontale lijn te tonen;- icon 2850 (1) represents a variant of the mode 2850 (j) without showing the left horizontal line;

In alle modi 2850(a)-(l) is de native muiscursor zichtbaar op het scherm, en beweegt deze in overeenstemming met bewegingen van de linker aanwijsinrichting, wat de reden is waarom deze modi waarschijnlijk het meest geschikt zijn voor linkshandige mensen die de native muiscursor met hun dominante (linker) hand aansturen, en een tweede zichtbaar voorwerp met hun niet-dominante (rechter) hand bewegen. De gebruiker hoort niet te klikken of te scrollen met de niet-dominant aanwijsinrichting, maar deze alleen te bewegen (bijv, om tekstuele informatie op het scherm te onderlijnen).In all 2850 (a) - (l) modes, the native mouse cursor is visible on the screen and moves in accordance with left-pointing devices, which is why these modes are probably best suited for left-handed people who are native Control the mouse cursor with their dominant (left) hand, and move a second visible object with their non-dominant (right) hand. The user should not click or scroll with the non-dominant pointing device, but only move it (for example, to underline textual information on the screen).

DERDE GROEP:THIRD GROUP:

Een derde groep 2860 displaymodi werkt met de RechtsHandige Dubbele Aanwijsinputmodus, en biedt displaymodi gelijkende op de tweede groep 2850 van displaymodi, behalve dat de functie van de linker en rechter aanwijsinrichting zijn verwisseld, en dat in modus 2860(k) de linker horizontale lijn wordt getoond in de plaats van de rechter horizontale lijn.A third group of 2860 display modes works with the Right Handed Dual Pointing Input mode, and provides display modes similar to the second group 2850 of display modes, except that the function of the left and right pointing devices are swapped, and that in mode 2860 (k) the left horizontal line becomes shown instead of the right horizontal line.

Aspecten van modus 2860(a) werden ook beschreven in FIG.8.Aspects of mode 2860 (a) were also described in FIG.

Aspecten van modus 2860(d) werden ook beschreven in FIG.5.Aspects of mode 2860 (d) were also described in FIG.

Aspecten van modus 2860(h) werden ook beschreven in FIG.6.Aspects of mode 2860 (h) were also described in FIG.

In alle modi 2860(a)-(k) is de native muiscursor zichtbaar op het scherm, en beweegt deze in overeenstemming met bewegingen van de rechter aanwijsinrichting, wat de reden is waarom deze modi waarschijnlijk het meest geschikt zijn voor rechtshändige mensen die de native muiscursor met hun dominante (rechter) hand aansturen, en een tweede zichtbaar voorwerp met hun niet-dominante (linker) hand bewegen. De gebruiker hoort niet te klikken of te scrollen met de niet-dominant aanwijsinrichting, maar deze alleen te bewegen (bijv, om tekstuele informatie op het scherm te onderlijnen).In all 2860 (a) - (k) modes, the native mouse cursor is visible on the screen and moves in accordance with movements of the right pointing device, which is why these modes are probably best suited to legal-minded people who are native Control the mouse cursor with their dominant (right) hand and move a second visible object with their non-dominant (left) hand. The user should not click or scroll with the non-dominant pointing device, but only move it (for example, to underline textual information on the screen).

VIERDE GROEP:FOURTH GROUP:

Een vierde groep 2870 displaymodi werkt met de TweeHandige Dubbele Aanwijsinputmodus, en biedt displaymodus 2870(a) met twee zichtbare voorwerpen: de native muiscursor, bijv, als een witte pijl, en een tweede pijl (bijv, zwarte pijl), reeds beschreven in FIG. 10,A fourth group of 2870 display modes works with the Two-Handed Double Pointing Input mode, and offers display mode 2870 (a) with two visible objects: the native mouse cursor, e.g., as a white arrow, and a second arrow (e.g., black arrow), already described in FIG . 10

- pictogram 2870(b) stelt een modus voor gelijkende op modus 2850(b), behalve dat twee bitmaps met een hand worden getoond, één beweegbaar met de linker aanwijsinrichting, de andere beweegbaar met de rechter aanwijsinrichting;icon 2870 (b) represents a mode similar to mode 2850 (b), except that two bitmaps are shown with one hand, one movable with the left pointing device, the other movable with the right pointing device;

BE2017/5896BE2017 / 5896

- pictogram 2870(g) tot pictogram 2870(j) stelt een modus voor gelijkende op modus 2850(g) tot 2850(j), behalve dat de native muiscursor de positie zal volgen die geassocieerd is met de aanwijsinrichting welke het meest recent werd bewogen, en/of waarvan een knop het meest recent werd ingedrukt, en/of waarvan een scrollwiel het meest recent werd gedraaid, zoals hierboven uitgelegd. Deze modi zijn in het bijzonder geschikt voor gebruikers die beide aanwijsinrichtingen willen bewegen en klikken en/of scrollen, bijvoorbeeld de transcribers van FIG. 4, maar bijvoorbeeld ook de vertalers of proeflezers van FIG. 1 die door beide documenten wensen te scrollen en/of te bewerken, gebruikmakende van beide aanwijsinrichtingen.- icon 2870 (g) to icon 2870 (j) represents a mode similar to modes 2850 (g) to 2850 (j), except that the native mouse cursor will follow the position associated with the pointing device that was most recently moved , and / or whose button was pressed most recently, and / or whose scroll wheel was turned most recently, as explained above. These modes are particularly suitable for users who want to move both pointing devices and click and / or scroll, for example, the transcribers of FIG. 4, but also, for example, the translators or proofreaders of FIG. 1 who wish to scroll and / or edit through both documents, using both pointing devices.

Zoals boven beschreven (zie bijv. FIG. 14 en FIG. 15 en FIG. 19 en FIG. 20), werken de modi van deze vierde groep 2870 goed, zelfs met klassieke aanwijsinrichtingen Ml, M2 op voorwaarde dat de aanwijsinrichting die wordt geklikt en/of gescrold degene is die het meest recent werd bewogen, hetgeen speciale aandacht van de gebruiker vereist. Een tamelijk eenvoudige oplossing zou zijn om een muis altijd eerst manueel te bewegen alvorens deze te klikken. Maar zoals hierboven uitgelegd, werken deze modi zelfs beter wanneer gebruik wordt gemaakt van speciale aanwijsinrichtingen (zie bijv. FIG. 22) die automatisch zorg dragen van het bewegen vóór het klikken en/of het bewegen vóór het scrollen, of met een speciale hub of adapter of dongel zoals hierboven beschreven, zie bijv. FIG. 26(a) tot FIG. 26(d).As described above (see, e.g., FIG. 14 and FIG. 15 and FIG. 19 and FIG. 20), the modes of this fourth group 2870 work well even with conventional pointing devices M1, M2 provided that the pointing device being clicked and / or scrolled is the one that was moved most recently, which requires special attention from the user. A fairly simple solution would be to always move a mouse manually before clicking it. But as explained above, these modes work even better when using special pointing devices (see, e.g., FIG. 22) that automatically take care of moving before clicking and / or moving before scrolling, or with a special hub or adapter or dongle as described above, see e.g. FIG. 26 (a) to FIG. 26 (d).

FIG. 28(b) toont een voorbeeldmatig pop-up-menu dat opgeroepen kan worden door het klikken met een rechter knop van de dominante aanwijsinrichting op sommige van de displaymodi in het mini-interface venster van FIG. 28(a). In het getoonde voorbeeld, laten de menu's toe de kleur, en de grootte van het tweede en/of verder zichtbaar voorwerp(en) te veranderen, alsook een transparantieniveau te kiezen van het doorklik-overlayvenster 584 (FIG. 5c) of 884 (FIG. 8c).FIG. 28 (b) shows an exemplary pop-up menu that can be accessed by clicking with a right button of the dominant pointing device on some of the display modes in the mini-interface window of FIG. 28 (a). In the example shown, the menus allow you to change the color and size of the second and / or further visible object (s), as well as to choose a transparency level of the click-through overlay window 584 (FIG. 5c) or 884 (FIG. 8c).

FIG. 29 toont een ander voorbeeldmatig gebruikersinterface-venster, hierin de hoofdgebruikersinterface genoemd, zoals gebruikt kan worden in uitvoeringsvormen van de onderhavige uitvinding voor het configureren van de overlay-applicatie.FIG. 29 shows another exemplary user interface window, referred to herein as the main user interface, as may be used in embodiments of the present invention to configure the overlay application.

Het gebruikersinterface (UI) -venster getoond in FIG. 29 heeft een gebied met titel Mouse/Touchpad (Nederlands: Muis/Touchpad) voor het selecteren van de inputmodus (bijv. LinksHandig of RechtsHandig of TweeHandig), en voor het selecteren van welke aanwijsinrichting (of eigenlijk, welke handle toegewezen wordt door het besturingssysteem aan elke aanwijsinrichting) beschouwd dient te worden als de dominante aanwijsinrichting (of handle daarvan). De UI ook omvat componenten zoals bijv, radioknoppen voor het selecteren van relatieve snelheid van beweging, enz. In FIG. 31(a) wordt dit gebied in een vergroot aanzicht getoond.The user interface (UI) window shown in FIG. 29 has an area with the title Mouse / Touchpad (English: Mouse / Touchpad) for selecting the input mode (e.g. Left-Handed or Right-Handed or Two-Handed), and for selecting which pointing device (or actually, which handle is assigned by the operating system) on each pointing device) should be considered as the dominant pointing device (or handle thereof). The UI also includes components such as, e.g., radio buttons for selecting relative speed of movement, etc. In FIG. 31 (a), this area is shown in an enlarged view.

Het interfacevenster getoond in FIG. 29 heeft ook een gebied met titel Background) (Nederlands: Achtergrond), dat het mogelijk maakt dat het doorklik-overlayvenster 584, 884 dat hetThe interface window shown in FIG. 29 also has an area with the title Background) (Dutch: Background), which allows the click-overlay window 584, 884 to

BE2017/5896 ten minste één tweede zichtbaar voorwerp 506L, 806L omvat, verder een bitmap bevat die pixels 594, 894 omvat, waarvan een merendeel volledig transparante pixels zijn, of semi-transparante monochrome pixels, of een semi-transparant textuurbitmap zoals in meer detail beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage.BE2017 / 5896 comprises at least one second visible object 506L, 806L, further comprises a bitmap comprising pixels 594, 894, the majority of which are fully transparent pixels, or semi-transparent monochrome pixels, or a semi-transparent textured bitmap as in more detail described in the pending perforated bitmap application.

Het voorbeeldmatige gebruikersinterface-venster getoond in FIG. 29 heeft ook een gebied met titel Transparency (Nederlands: Transparantie), dat het mogelijk maakt een alfatransparantieniveau van het overlayvenster 584 te selecteren of te kiezen. Bijvoorbeeld, indien de achtergrondpixels 584 en 884 volledig transparante pixels zijn, kan de mate van transparantie van het beweegbare zichtbaar voorwerp op deze manier gewijzigd worden. De gebruiker kan een compromis kiezen tussen enerzijds het tonen van een voorwerp dat heel verschillend is van de achtergrondpixels, en anderzijds, dat voldoende transparant is om onderliggende tekstuele informatie te kunnen lezen.The exemplary user interface window shown in FIG. 29 also has an area with the title Transparency, which makes it possible to select or choose an alpha transparency level from the overlay window 584. For example, if the background pixels 584 and 884 are fully transparent pixels, the degree of transparency of the movable visible object can be changed in this way. The user can choose a compromise between on the one hand showing an object that is very different from the background pixels, and on the other hand, that is sufficiently transparent to be able to read underlying textual information.

De gebruikersinterface-venster getoond in FIG. 29 heeft ook een gebied met titel Mode (Nederlands: Modus), dat reeds beschreven is in FIG. 28. Afhankelijk van welke displaymodus geselecteerd is, kan het voornaamste venster een additioneel gebied zoals het gebied block (Nederlands: blok) tonen waar de gebruiker bijvoorbeeld een kleur, hoogte, breedte en verticale verschuiving kan selecteren.The user interface window shown in FIG. 29 also has an area with title Mode (Dutch: Mode), already described in FIG. 28. Depending on which display mode is selected, the main window can show an additional area such as the block area where the user can, for example, select a color, height, width and vertical shift.

Het interfacevenster getoond in FIG. 29 heeft ook een gebied met titel Examples (Nederlands: Voorbeelden), voor het gebruikmaken van de displaymodi met standaardinstellingen, maar standaardinstellingen kunnen uiteraard ook anders geïmplementeerd worden. In FIG. 30 wordt dit gebied in een vergroot aanzicht getoond.The interface window shown in FIG. 29 also has an area with the title Examples, for using the display modes with default settings, but default settings can of course also be implemented differently. In FIG. 30, this area is shown in an enlarged view.

Er wordt op gewezen dat uitvoeringsvormen van de onderhavige uitvinding geenszins beperkt zijn tot deze specifieke gebruikersinterface.It is to be noted that embodiments of the present invention are by no means limited to this specific user interface.

FIG. 30 is een vergroot aanzicht van een gedeelte van FIG. 29. Het geeft een zichtbaar overzicht van verscheidene mogelijk uitvoeringsvormen van de onderhavige uitvinding, echter, de uitvinding is daartoe niet beperkt. Deze standaardmodi stemmen grotendeels overeen met de modi getoond in de mini-interface van FIG. 28(a). Enkele van de modi worden in meer detail beschreven in dit document, zoals aangeduid door de Romeinse getallen die naar de respectievelijke figuren verwijzen.FIG. 30 is an enlarged view of a portion of FIG. 29. It provides a visible overview of various possible embodiments of the present invention, however, the invention is not limited thereto. These standard modes largely correspond to the modes shown in the mini interface of FIG. 28 (a). Some of the modes are described in more detail in this document, as indicated by the Roman numerals referring to the respective figures.

FIG. 31(a) is een vergroot aanzicht van een gedeelte van FIG. 29. Het toont bijvoorbeeld hoe een gebruiker een inputmodus kan kiezen, bijv. LinksHandig; RechtsHandig; TweeHandig.FIG. 31 (a) is an enlarged view of a portion of FIG. 29. It shows, for example, how a user can choose an input mode, eg Left Handed; Righthanded; Two-handed.

Er wordt opgemerkt dat bijvoorbeeld een touchpad van een laptopcomputer ook als een aanwijsinrichting wordt beschouwd, vandaar de indicatie #3 in de titel, wat wil zeggen dat het besturingssysteem van de computerinrichting waarvan dit screenshot werd genomen, drie inputinrichtingen heeft gevonden: twee fysieke muisinrichtingen en één touchpad.It is noted that, for example, a touchpad of a laptop computer is also considered a pointing device, hence the indication # 3 in the title, meaning that the operating system of the computer device from which this screenshot was taken has found three input devices: two physical mouse devices and one touch pad.

BE2017/5896BE2017 / 5896

Er wordt opgemerkt dat de onderhavige uitvinding bijvoorbeeld ook zal werken met een laptopcomputer waaraan slechts één enkele fysieke muis is verbonden, bijv, door gebruik te maken van het touchpad als de niet-dominante aanwijsinrichting en de fysieke muis als de dominante aanwijsinrichting.It is noted that the present invention, for example, will also work with a laptop computer to which only a single physical mouse is connected, e.g., by using the touch pad as the non-dominant pointing device and the physical mouse as the dominant pointing device.

FIG. 31(b) is een variant van het gedeelte van FIG. 31(a), waarbij een optie is toegevoegd om de oriëntatie van de verplaatsingsvector gedefinieerd door de verplaatsingswaardes (dx, dy) aan te passen naar een geprefereerde oriëntatie gekozen uit een eerste groep van vooraf bepaalde richtingen bestaande uit de richtingen: Noord, West, Zuid, Oost, of uit een tweede groep van vooraf bepaalde richtingen bestaande uit de richtingen: Noord, Noord-West, West, Zuid-West, Zuid, Zuid-Oost, Oost, Noord-Oost. Deze transformatie kan toegepast worden op bewegingen van alleen de dominante aanwijsinrichting, of op bewegingen van alleen de niet-dominante aanwijsinrichting, of op beide aanwijsinrichtingen.FIG. 31 (b) is a variant of the portion of FIG. 31 (a), wherein an option has been added to adjust the orientation of the displacement vector defined by the displacement values (dx, dy) to a preferred orientation selected from a first group of predetermined directions consisting of the directions: North, West, South, East, or a second group of predetermined directions consisting of the directions: North, North West, West, South West, South, South East, East, North East. This transformation can be applied to movements of only the dominant pointing device, or to movements of only the non-dominant pointing device, or to both pointing devices.

Testen hebben aangetoond dat deze functie de gebruiker sterk kan helpen om bewegingen van één of beide aanwijsinrichtingen beter aan te sturen bij het uitvoeren van bepaalde taken. Deze functie kan bijvoorbeeld in het bijzonder nuttig zijn om de door de niet-dominante hand aangestuurde aanwijsinrichting horizontaal over een tekstlijn te bewegen, bijv, bij het uitvoeren van tekstgebaseerde taken zoals het lezen van een tekstdocument, het proeflezen van een vertaling, het wijzen naar individuele woorden op eenzelfde lijn tijdens een Webinar of presentatie, enz.Tests have shown that this function can greatly help the user to better control movements of one or both pointing devices when performing certain tasks. This function may, for example, be particularly useful for moving the non-dominant hand-driven pointing device horizontally across a text line, e.g., when performing text-based tasks such as reading a text document, proofreading a translation, pointing to individual words on the same line during a Webinar or presentation, etc.

FIG. 31(c) toont enkele regels pseudo-code die gebruikt kunnen worden in de positiebijwerkingsroutine voor het transformeren van de verplaatsingswaardes dx, dy om te worden gesitueerd in een oriëntatie van de tweede groep van acht toegelaten oriëntaties hierboven vermeld (Noord, Noord-West, enz.). In het voorbeeld van FIG. 31(c),FIG. 31 (c) shows some lines of pseudo-code that can be used in the position update routine to transform the displacement values dx, dy to be located in an orientation of the second group of eight allowed orientations mentioned above (North, North-West, etc.). In the example of FIG. 31 (c),

- indien dx=0, betekent dit dat de beweging reeds verticaal was, bijgevolg is geen aanpassing vereist;- if dx = 0, this means that the movement was already vertical, therefore no adjustment is required;

- indien dy=0, betekent dit dat de beweging reeds horizontaal was, bijgevolg is geen aanpassing vereist;- if dy = 0, this means that the movement was already horizontal, therefore no adjustment is required;

- indien dx=dy, betekent dit dat de beweging reeds diagonaal was, bijgevolg is geen aanpassing is vereist,- if dx = dy, this means that the movement was already diagonal, therefore no adjustment is required,

- anders, wordt bepaald of de hoek van de verplaatsingsvector in het bereik ligt van (-30° tot +30°) of in het bereik van (150° tot 210°), in welk geval de absolute waarde van de tangens van genoemde hoek kleiner is dan 0,5, in welk geval de beweging gedwongen wordt om horizontaal te zijn, en/of wordt bepaald of de hoek van de verplaatsingsvector in het bereik ligt van (60° tot 120°) of in het bereik van (240° tot 300°), in welk geval de absolute waarde van de tangens van de genoemde hoek groter is dan 2,0, in welk geval de beweging wordt gedwongen om verticaal te zijn,- otherwise, it is determined whether the angle of the displacement vector is in the range of (-30 ° to + 30 °) or in the range of (150 ° to 210 °), in which case the absolute value of the tangent of said angle is less than 0.5, in which case the movement is forced to be horizontal, and / or it is determined whether the angle of the displacement vector is in the range of (60 ° to 120 °) or in the range of (240 ° up to 300 °), in which case the absolute value of the tangent of said angle is greater than 2.0, in which case the movement is forced to be vertical,

BE2017/5896 anders wordt de beweging gedwongen om diagonaal te zijn (georiënteerd op +45° of 135° of 225° of 315°).BE2017 / 5896 otherwise the movement is forced to be diagonal (oriented at + 45 ° or 135 ° or 225 ° or 315 °).

Er wordt opgemerkt dat er geen goniometrische functies gebruikt worden in deze routine, waardoor de implementatie tamelijk eenvoudig en tamelijk snel wordt gehouden, en de CPU-belasting daardoor tamelijk laag blijft. De zorgvuldige lezer zal herkennen dat de amplitude van de verplaatsingsvector mogelijks lichtjes kan toenemen of afnemen door de aanpassing, teneinde de transformatie eenvoudig en snel te houden. Dit effect is nauwelijks merkbaar.It is noted that trigonometric functions are not used in this routine, keeping the implementation fairly simple and fairly fast, and thereby keeping the CPU load rather low. The careful reader will recognize that the amplitude of the displacement vector may increase or decrease slightly due to the adjustment, in order to keep the transformation simple and fast. This effect is hardly noticeable.

Testen hebben aangetoond dat de transformatie van FIG. 31(c) trage bewegingen van de aanwijsinrichting (waarvoor dx en dy zeer klein zijn) niet beïnvloedt. Voor een gebruiker voelt dit alsof tamelijk trage bewegingen in iedere richting kunnen uitgevoerd worden, hetgeen wenselijk is om finetunen van een positie op het scherm mogelijk te maken. Echter, indien de snelheid waarmee de aanwijsinrichting wordt bewogen wordt verhoogd, zal de amplitude van de verplaatsingsvector groter worden dan een vooraf bepaalde drempelwaarde (in het voorbeeld van FIG. 31c groter dan 0), in welk geval de verplaatsing wordt gedwongen om horizontaal of verticaal of diagonaal te zijn. Dit gedrag is zeer wenselijk om bijna horizontale bewegingen perfect horizontaal te houden, hetgeen moeilijk manueel te bereiken is, vooral bij tamelijk hoge snelheid.Tests have shown that the transformation of FIG. (C) does not affect slow movements of the pointing device (for which dx and dy are very small). For a user, this feels like fairly slow movements can be made in any direction, which is desirable to enable fine tuning of a position on the screen. However, if the speed at which the pointing device is moved is increased, the amplitude of the displacement vector will become greater than a predetermined threshold value (in the example of FIG. 31c greater than 0), in which case the displacement is forced to move horizontally or vertically. or be diagonal. This behavior is highly desirable for keeping almost horizontal movements perfectly horizontal, which is difficult to achieve manually, especially at a relatively high speed.

Maar uiteraard vereist de onderhavige uitvinding niet dat deze functie aanwezig is (ze kan worden ingeschakeld of uitgeschakeld door een gebruiker). Verder, indien aanwezig, is de onderhavige uitvinding niet beperkt tot de/het specifieke routine of algoritme getoond in FIG. 31(c), en andere algoritmes voor het heroriënteren van de aanwijzerbewegingen zijn eveneens overwogen, zoals bijvoorbeeld beschreven in de volgende varianten.But, of course, the present invention does not require this feature to be present (it can be enabled or disabled by a user). Furthermore, if present, the present invention is not limited to the specific routine or algorithm shown in FIG. 31 (c), and other algorithms for refocusing the pointer movements have also been considered, as described, for example, in the following variants.

FIG. 31(d) en FIG. 31(e) tonen een variant van de verplaatsings- transformatieroutine, waarbij bijna-horizontale bewegingen getransformeerd worden naar zuiver horizontale bewegingen.FIG. 31 (d) and FIG. 31 (e) show a variant of the displacement transformation routine in which near-horizontal movements are transformed into purely horizontal movements.

Meer specifiek, toont FIG. 31(d) een grafische voorstelling van de verplaatsingsvector V die overeenkomt met de fysieke beweging van de aanwijsinrichting, geassocieerd met de verplaatsingswaardes (dx, dy). De verplaatsingsvector V vormt een hoek a ten opzichte van de X-as. Indien deze hoek in de in grijze kleur aangeduide segmenten ligt, wat wil zeggen dat de hoek a in het bereik [-amax..+amax] of in het bereik [180°-amax.. 180°+amax] ligt, dan wordt de verplaatsingsvector getransformeerd naar een zuiver horizontale verplaatsing, door de waarde van dy gelijk aan nul in te stellen. In de plaats van met hoeken te werken, kan dit gecodificeerd worden door de absolute waarde van de tangens van de hoek, dat is abs(dy/dx), te berekenen, en te testen of deze waarde kleiner is dan, of kleiner dan of gelijk is aan een vooraf bepaalde constante. Bijvoorbeeld, amax =30° komt overeen met abs(dy/dx) < 0,577, of als een ander voorbeeld, het testen of abs(dy/dx) < 0,5 komt overeen met het testen of de hoek α in het bereik ligt van ongeveerMore specifically, FIG. 31 (d) a graphical representation of the displacement vector V corresponding to the physical movement of the pointing device associated with the displacement values (dx, dy). The displacement vector V forms an angle α with respect to the X axis. If this angle is in the segments indicated in gray, which means that the angle a is in the range [-amax .. + amax] or in the range [180 ° -amax .. 180 ° + amax], then the displacement vector transformed into a purely horizontal displacement, by setting the value of dy equal to zero. Instead of working with angles, this can be codified by calculating the absolute value of the angle tangent, that is abs (dy / dx), and testing whether this value is less than, or less than or is equal to a predetermined constant. For example, amax = 30 ° corresponds to abs (dy / dx) <0.577, or if another example, testing whether abs (dy / dx) <0.5 corresponds to testing whether the angle α is in the range of about

BE2017/5896 [-26° tot +26°] of ongeveer [154° tot 206°], maar uiteraard is de onderhavige uitvinding niet beperkt tot slechts dit bereik, en andere bereiken kunnen eveneens gebruikt worden.BE2017 / 5896 [-26 ° to + 26 °] or about [154 ° to 206 °], but of course the present invention is not limited to only this range, and other ranges can also be used.

FIG. 31(e) toont voorbeeldmatige regels pseudo-code die de hierboven beschreven verplaatsingstransformatie implementeren, welke gebruikt kunnen worden in de positiebijwerkingsroutine (zie bijvoorbeeld stap g) van FIG. 5(e), bij het bijwerken van Posl en Pos2). Maar uiteraard kan een ander hoekbereik gebruikt worden, of met andere woorden, de uitvinding zal ook werken met andere waardes voor MAXTAN, bijvoorbeeld waardes in het bereik van 0,2 tot 0,75, bijvoorbeeld kleiner dan 0,25=1/4, of kleiner dan 0,33=1/3, of kleiner dan 0,5=1/2, of kleiner dan 0,66=2/3, of kleiner dan 0,75=3/4. De vakman die het voordeel van de onderhavige uitvinding heeft, kan eenvoudig andere geschikte bereiken definiëren.FIG. 31 (e) shows exemplary lines of pseudo-code implementing the above-described displacement transformation, which can be used in the position updating routine (see, for example, step g) of FIG. 5 (e), when updating Pos1 and Pos2). But of course a different angle range can be used, or in other words, the invention will also work with other values for MAXTAN, for example values in the range of 0.2 to 0.75, for example smaller than 0.25 = 1/4, or less than 0.33 = 1/3, or less than 0.5 = 1/2, or less than 0.66 = 2/3, or less than 0.75 = 3/4. The person skilled in the art having the advantage of the present invention can easily define other suitable ranges.

FIG. 32 toont een computersysteem 3200 volgens een uitvoeringsvorm van de onderhavige uitvinding, omvattende een computerinrichting 3201 volgens een uitvoeringsvorm van de onderhavige uitvinding die een overlay-applicatie volgens een uitvoeringsvorm van de onderhavige uitvinding uitvoert, en twee aanwijsinrichtingen, bijv, muisinrichtingen 3203L, 3203R verbonden met de computerinrichting, en optioneel een toetsenbord 3202. De muisinrichtingen kunnen klassieke muisinrichtingen zijn, of kunnen speciale muisinrichtingen zijn met de beweeg-vóór-klik functie en/of de beweeg-vóór-scrol functie zoals uitgelegd in FIG. 22(a) en FIG. 22(b). De muisinrichtingen kunnen rechtstreeks met de computerinrichting verbonden zijn (bijv, zoals getoond in FIG. 11 en FIG. 23(a)), of via een klassieke hub of adapter of dongel (bijv, zoals getoond in FIG. 12 en FIG. 24) of via een speciale hub (bijv, zoals getoond in FIG. 25).FIG. 32 shows a computer system 3200 according to an embodiment of the present invention, comprising a computer device 3201 according to an embodiment of the present invention which performs an overlay application according to an embodiment of the present invention, and two pointing devices, e.g., mouse devices 3203L, 3203R connected to the computer device, and optionally a keyboard 3202. The mouse devices may be conventional mouse devices, or may be special mouse devices with the move-before-click function and / or the move-before-scroll function as explained in FIG. 22 (a) and FIG. 22 (b). The mouse devices can be directly connected to the computer device (e.g., as shown in FIG. 11 and FIG. 23 (a)), or via a conventional hub or adapter or dongle (e.g., as shown in FIG. 12 and FIG. 24). or via a special hub (e.g., as shown in FIG. 25).

De overlay-applicatie gebruikt in het systeem van FIG. 32 laat toe dat het O/S en de GUI (bijv. Windows 7 of Windows 10 van Microsoft Corporation, of mac OS Sierra of mac OS High Sierra van Apple Inc.) de native muiscursor 3205 toont, maar past de positie daarvan aan, bijv, overschrijft deze. De overlay-applicatie verschaft verder een tweede zichtbaar voorwerp 3206L en een derde zichtbaar voorwerp 3206R, in het voorbeeld van FIG. 32 zijnde twee lijnen of rechthoekige gebieden. Deze rechthoekige gebieden kunnen ondoorzichtig of semi-transparant zijn. Ze kunnen één enkele kleur hebben, of een kleurgradiënt, of kunnen een geperforeerde bitmap bevatten. De andere pixels van het overlayvenster kunnen volledig transparante pixels zijn, of kunnen alle semi-transparante pixels zijn, of het overlayvenster kan een geperforeerde bitmap omvatten of een textuurbitmap zoals uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage.The overlay application used in the system of FIG. 32 allows the O / S and GUI (e.g., Windows 7 or Windows 10 from Microsoft Corporation, or mac OS Sierra or mac OS High Sierra from Apple Inc.) to display the native mouse cursor 3205, but adjusts its position, for example, it overwrites. The overlay application further provides a second visible object 3206L and a third visible object 3206R, in the example of FIG. 32 being two lines or rectangular areas. These rectangular areas can be opaque or semi-transparent. They can have a single color, or a color gradient, or can contain a perforated bitmap. The other pixels of the overlay window can be fully transparent pixels, or can be all semi-transparent pixels, or the overlay window can include a perforated bitmap or a texture bitmap as explained in the pending perforated bitmap application.

In het geval dat de overlay-applicatie ontworpen (bijv, hardgecodeerd) is voor, of geconfigureerd is in displaymodus 2860(h), dus in de RechtsHandige inputmodus, dan volgt het voorwerp 3206L bewegingen van de linker aanwijsinrichting 3203L (of eigenlijk de aanwijsinrichting geconfigureerd of aangeduid als de linker aanwijsinrichting) en volgend de native muiscursor 3205 enIn the case that the overlay application is designed (e.g., hard-coded) for, or configured in, display mode 2860 (h), i.e., in Right Hand input mode, the object 3206L follows movements of the left pointing device 3203L (or actually the pointing device configured) or referred to as the left pointing device) and following the native mouse cursor 3205 and

BE2017/5896 het voorwerp 3206R bewegingen van de rechter aanwijsinrichting 3203R (of eigenlijk de aanwijsinrichting geconfigureerd of aangeduid als de rechter aanwijsinrichting).BE2017 / 5896 the object 3206R moves the right pointing device 3203R (or actually the pointing device configured or referred to as the right pointing device).

In het geval dat de overlay-applicatie ontworpen (bijv, hardgecodeerd) is voor, of geconfigureerd is in displaymodus 2870(h), dus in de TweeHandige inputmodus, dan volgt het voorwerp 3206L bewegingen van de linker aanwijsinrichting 3203L (of eigenlijk de aanwijsinrichting geconfigureerd of aangeduid als de linker aanwijsinrichting) en volgt het voorwerp 3206R bewegingen van de rechter aanwijsinrichting 3203R (of eigenlijk de aanwijsinrichting geconfigureerd of aangeduid als de rechter aanwijsinrichting), en zal de native muiscursor 3205 bewegen en/of springen afhankelijk van welke aanwijsinrichting het meest recent werd bewogen en/of geklikt en/of gescrold.In the case that the overlay application is designed (e.g., hard-coded) for, or configured in, display mode 2870 (h), i.e., in the Two-Hand input mode, then the item 3206L follows movements of the left pointing device 3203L (or actually the pointing device configured) or referred to as the left pointing device) and the object 3206R follows movements of the right pointing device 3203R (or actually the pointing device configured or referred to as the right pointing device), and the native mouse cursor 3205 will move and / or jump depending on which pointing device is most recent was moved and / or clicked and / or scrolled.

De uitvoeringsvorm weergegeven in FIG. 32, en varianten daarvan, optioneel gebruikmakend van een bedrade of draadloze hub of adapter of dongel, en optioneel gebruikmakend van een bewegingstransformatie zoals uitgelegd in FIG. 31(b) en FIG. 31(c), kunnen in het bijzonder nuttig zijn voor het adresseren van het probleem beschreven in FIG. 1 en FIG. 3, waarbij het gewenst is om twee tekstfragmenten te onderlijnen.The embodiment shown in FIG. 32, and variants thereof, optionally using a wired or wireless hub or adapter or dongle, and optionally using a motion transformation as explained in FIG. 31 (b) and FIG. 31 (c), may be particularly useful for addressing the problem described in FIG. 1 and FIG. 3, wherein it is desirable to underline two text fragments.

FIG. 33 toont uitvoeringsvormen van de onderhavige uitvinding die displaymodus 2850(g), 2860(g) en 2870(g) implementeren, waarbij het O/S en de GUI de native muiscursor 3305 tonen, waarvan de vorm typisch kan en zal veranderen afhankelijk van de context, en toont de overlayapplicatie bijkomend twee zichtbare en beweegbare vierkanten 3306L, 3306R. Displaymodus 2860(g) en 2870(g) lijken in het bijzonder geschikt te zijn voor elk van de gevallen getoond in FIG. 1 tot FIG. 4 voor rechtshändige mensen, terwijl displaymodus 2850(g) en 2870(g) in het bijzonder geschikt lijken te zijn voor gelijkaardige problemen als getoond in FIG. 1 tot FIG. 4, doch voor linkshandige mensen.FIG. 33 shows embodiments of the present invention that implement display modes 2850 (g), 2860 (g), and 2870 (g), wherein the O / S and GUI show the native mouse cursor 3305, the shape of which can and will typically change depending on the context, and the overlay application additionally shows two visible and movable squares 3306L, 3306R. Display modes 2860 (g) and 2870 (g) appear to be particularly suitable for each of the cases shown in FIG. 1 to FIG. 4 for legal people, while display modes 2850 (g) and 2870 (g) appear to be particularly suitable for similar problems as shown in FIG. 1 to FIG. 4, but for left-handed people.

FIG. 34 toont uitvoeringsvormen van de onderhavige uitvinding die displaymodus 2870(b) implementeren, waarbij het O/S en GUI de native muiscursor 3405 tonen (in het voorbeeld een witte pijl), en de overlay-applicatie bijkomend twee zichtbare voorwerpen toont, een tweede voorwerp 3406L zijnde of bevattende een bitmap of beeld van een linkerhand, en een derde voorwerp 3406R zijnde of bevattende een bitmap of beeld van een rechterhand. Ook deze modus lijkt in het bijzonder geschikt te zijn voor al de in FIG. 1 tot FIG. 4 getoonde gevallen, in het bijzonder in combinatie met een bewegingstransformatieroutine zoals uitgelegd in FIG. 31(b) en FIG. 31(c) om de gebruiker te helpen om eenvoudig horizontale bewegingen te maken, en vooral indien de handen semi-transparant zijn. Bij voorkeur is in dit geval de positie van de bitmap bevattende het beeld van de hand lichtjes verschoven ten opzichte van de positie van de native muiscursor 3405, zodanig dat de native muiscursor zich bevindt op of nabij het uiteinde van de respectievelijke wijsvingers. Testen hebben aangetoond dat de twee handen extreem nuttig kunnen zijn bij het proeflezen.FIG. 34 shows embodiments of the present invention implementing display mode 2870 (b), wherein the O / S and GUI show the native mouse cursor 3405 (in the example a white arrow), and the overlay application additionally shows two visible objects, a second object 3406L being or containing a bitmap or image of a left hand, and a third object 3406R being or containing a bitmap or image of a right hand. This mode, too, appears to be particularly suitable for all the functions shown in FIG. 1 to FIG. 4, in particular in combination with a motion transformation routine as explained in FIG. 31 (b) and FIG. 31 (c) to help the user to make horizontal movements easily, and especially if the hands are semi-transparent. Preferably in this case the position of the bitmap containing the image of the hand is slightly shifted relative to the position of the native mouse cursor 3405, such that the native mouse cursor is located at or near the end of the respective index fingers. Tests have shown that the two hands can be extremely useful in proofreading.

BE2017/5896BE2017 / 5896

Hoewel de onderhavige uitvinding eveneens kan gebruikt worden met andere bitmaps dan een hand, wordt er opgemerkt dat de vorm van een hand, in het bijzonder een hand met een gestrekte wijsvinger, zeer natuurlijk en intuïtief aanvoelt, en de aandacht van de gebruiker niet lijkt af te leiden, misschien omdat het veel op de echte, in FIG. 1 tot FIG. 3 getoonde hand en vinger lijkt. Dat gezegd zijnde, kan een driehoekige vorm, of een veelhoekige vorm, bij voorkeur met een puntig uiteinde bovenaan, eveneens gebruikt worden.Although the present invention can also be used with bitmaps other than a hand, it is noted that the shape of a hand, particularly a hand with an extended index finger, feels very natural and intuitive, and the user's attention does not seem to be lost perhaps because it looks a lot like the real one, in FIG. 1 to FIG. 3 hand and finger shown. That being said, a triangular shape, or a polygonal shape, preferably with a pointed end at the top, can also be used.

FIG. 35 toont uitvoeringsvormen van de onderhavige uitvinding die displaymodi 2850(d) en 2860(d) implementeren, die de native muiscursor 3505 als een eerste zichtbaar en beweegbaar voorwerp tonen, en één lijn 3506 of rechthoek als het tweede zichtbaar en beweegbaar voorwerp. Deze modi kunnen bijzonder nuttig zijn voor het benaderen van het probleem getoond in FIG. 2 en FIG. 3. Het kan een voordeel van deze uitvoeringsvorm zijn dat er geen derde voorwerp is dat de native muiscursor volgt, dat lichtjes afleidend of lichtjes vervelend zou kunnen zijn bij het selecteren van menu's of kleuren of dergelijke.FIG. 35 shows embodiments of the present invention implementing display modes 2850 (d) and 2860 (d), showing the native mouse cursor 3505 as a first visible and movable object, and one line 3506 or rectangle as the second visible and movable object. These modes can be particularly useful for approaching the problem shown in FIG. 2 and FIG. 3. It may be an advantage of this embodiment that there is no third item following the native mouse cursor that might be slightly distracting or slightly annoying when selecting menus or colors or the like.

FIG. 36 toont uitvoeringsvormen van de onderhavige uitvinding die displaymodi 2850(e) en 2860(e) implementeren, die de native muiscursor 3605 als een eerste zichtbaar en beweegbaar voorwerp tonen en één klein kruis 3606 als een tweede zichtbaar en beweegbaar voorwerp. Deze modi kunnen eveneens bijzonder nuttig zijn voor het benaderen van het probleem getoond in FIG. 2 en FIG. 3.FIG. 36 shows embodiments of the present invention implementing display modes 2850 (e) and 2860 (e), showing native mouse cursor 3605 as a first visible and movable object and one small cross 3606 as a second visible and movable object. These modes can also be particularly useful for approaching the problem shown in FIG. 2 and FIG. 3.

Displaymodi 2850(j) en 2860(j) die een groot kruis tonen dat zich uitstrekt over de ganse hoogte en breedte van het overlayvenster, kunnen gezien worden als een variant van de uitvoeringsvorm getoond in FIG. 36. Deze modi kunnen bijzonder nuttig zijn bij het lezen van of extraheren van informatie uit een werkblad met de niet-dominante hand, terwijl met de native muiscursor in een ander document wordt gewerkt, bijvoorbeeld een tekstdocument. Het grote kruis in overlay biedt het voordeel dat een specifieke cel eenvoudig kan gevonden worden, en dat de rijhoofdingen en kolomhoofdingen van een bepaalde cel eveneens extreem eenvoudig te vinden zijn, zoals in meer detail uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage.Display modes 2850 (j) and 2860 (j) showing a large cross extending over the entire height and width of the overlay window can be seen as a variant of the embodiment shown in FIG. 36. These modes can be particularly useful when reading or extracting information from a worksheet with the non-dominant hand, while working with the native mouse cursor in another document, for example, a text document. The large cross in overlay offers the advantage that a specific cell can be easily found, and that the row headings and column headings of a particular cell are also extremely easy to find, as explained in more detail in the pending perforated bitmap application.

Volledigheidshalve wordt opgemerkt dat de modus 2840(f) met één enkele muis mogelijks beter geschikt kan zijn bij het editeren van een werkblad, omdat in deze uitvoeringsvorm de native muiscursor zich bevindt op de kruising van het grote kruis. Dat gezegd zijnde, kan de vakman met het voordeel van de onderhavige openbaarmaking eenvoudig een displaymodus toevoegen waarbij het kruis van displaymodus 2840(f) gebruikt wordt als het derde zichtbaar voorwerp, en een ander voorwerp, bijvoorbeeld een lijn of een vierkant of een hand wordt toegevoegd als een tweede zichtbaar voorwerp.For the sake of completeness, it is noted that single mouse mode 2840 (f) may be better suited for editing a worksheet, because in this embodiment the native mouse cursor is located at the intersection of the large cross. That being said, the person skilled in the art can easily add a display mode in which the cross of display mode 2840 (f) is used as the third visible object, and another object, for example, a line or a square or a hand becomes added as a second visible object.

BE2017/5896BE2017 / 5896

FIG. 37 is een variant van FIG. 32 die dezelfde modi implementeert, maar gebruikt wordt om verschillende gedeeltes van één enkel document te onderlijnen.FIG. 37 is a variant of FIG. 32 which implements the same modes, but is used to underline different parts of a single document.

FIG. 38 illustreert uitvoeringsvormen van de onderhavige uitvinding die displaymodi 2850(i) tot 2870(i) implementeren die de native muiscursor en twee kleine kruisen 3806L, 3806R tonen.FIG. 38 illustrates embodiments of the present invention that implement display modes 2850 (i) to 2870 (i) showing the native mouse cursor and two small crosses 3806L, 3806R.

FIG. 39 toont uitvoeringsvormen van de onderhavige uitvinding waarbij de overlay-applicatie geconfigureerd is in een van de displaymodi 2850(j), 2860(j) en 2870(j). De horizontale lijn of balk 3906L gesitueerd aan de linkerzijde van de verticale lijn 3907 wordt automatisch omhoog/omlaag bewogen bij het bewegen van de linker aanwijsinrichting 3903L. De horizontale lijn of balk 3906R gesitueerd aan de rechterzijde van de verticale lijn 3907 wordt automatisch omhoog/omlaag bewogen bij het bewegen van de rechter aanwijsinrichting 3903R. Afhankelijk van welke inputmodus wordt geselecteerd of geïmplementeerd, volgt de native muiscursor 3905 bewegingen van de linker aanwijsinrichting 3903L (in de LinksHandige inputmodus), of van de rechter aanwijsinrichting 3903R (in de RechtsHandige inputmodus), of van de aanwijsinrichting die het meest recent werd bewogen en/of geklikt en/of gescrold (in de TweeHandige inputmodus). Een voordeel van deze uitvoeringsvorm voor proeflezers is dat de niet-dominante hand geen nauwkeurige positionering vereist, aangezien een ganse tekstregel onderlijnd kan worden door slechts de niet-dominante aanwijsinrichting omhoog/omlaag te bewegen. Linkse en rechtse bewegingen van de niet-dominante aanwijsinrichting zijn niet vereist. Dit is vooral waar voor eenvoudige teksten die tamelijk snel gelezen kunnen worden, waarbij het niet vereist of wenselijk is om elk woord afzonderlijk te onderlijnen, in tegenstelling tot bijvoorbeeld vertalingen van octrooi-conclusies, waar elk woord zorgvuldig gecontroleerd dient te worden.FIG. 39 shows embodiments of the present invention wherein the overlay application is configured in one of the display modes 2850 (j), 2860 (j) and 2870 (j). The horizontal line or beam 3906L located on the left side of the vertical line 3907 is automatically moved up / down when moving the left pointing device 3903L. The horizontal line or beam 3906R located on the right side of the vertical line 3907 is automatically moved up / down when moving the right pointing device 3903R. Depending on which input mode is selected or implemented, the native mouse cursor 3905 follows movements from the left pointing device 3903L (in the Left Handed input mode), or from the right pointing device 3903R (in the Right Handed input mode), or from the pointing device that was most recently moved and / or clicked and / or scrolled (in the Two-Handed input mode). An advantage of this embodiment for proofreaders is that the non-dominant hand does not require accurate positioning, since an entire line of text can be underlined by only moving the non-dominant pointing device up / down. Left and right movements of the non-dominant pointing device are not required. This is especially true for simple texts that can be read rather quickly, where it is not required or desirable to underline each word separately, as opposed to, for example, translations of patent claims, where each word must be carefully checked.

FIG. 40 toont een variant van de in FIG. 39 getoonde uitvoeringsvormen, waarbij de overlayapplicatie, behalve de horizontale lijn of balk aan de linker- en rechterzijde van de verticale lijn 4007, bijkomend ook twee blokken of vierkanten of rechthoeken 4009L, 4009R toont binnen de horizontale lijn of balk 4006L, 4006R, welke blokken samen met de lijnen in verticale richting (omhoog/omlaag) bewegen, maar ook beweegbaar zijn in horizontale richting (links/rechts) in overeenstemming met bewegingen van de respectievelijke aanwijsinrichtingen 4003L, 4003R. De lijn of balk zal typisch een andere kleur hebben dan de blokken of vierkanten of rechthoeken binnen de lijn of balk, zodat ze duidelijk zichtbaar zijn. In een specifieke uitvoeringsvorm of configuratie, hebben de lijnen een monochrome kleur en zijn de blokken volledig transparant, hetgeen een visuele indruk geeft van een balk met een gat.FIG. 40 shows a variant of the one shown in FIG. 39, wherein the overlay application, in addition to the horizontal line or beam on the left and right side of the vertical line 4007, also shows two blocks or squares or rectangles 4009L, 4009R within the horizontal line or beam 4006L, 4006R, which blocks moving along the lines in the vertical direction (up / down), but also being movable in the horizontal direction (left / right) in accordance with movements of the respective pointing devices 4003L, 4003R. The line or bar will typically have a different color than the blocks or squares or rectangles within the line or bar so that they are clearly visible. In a specific embodiment or configuration, the lines have a monochrome color and the blocks are completely transparent, giving a visual impression of a beam with a hole.

BE2017/5896BE2017 / 5896

De uitvinders kwamen ook op het idee om het probleem getoond in FIG. 1 tot FIG. 3 op een geheel andere wijze op te oplossen, namelijk, buiten de computerinrichting, bijvoorbeeld in een speciale weergave-inrichting 4104, zoals weergegeven in FIG. 41.The inventors also came up with the idea of solving the problem shown in FIG. 1 to FIG. 3 to be solved in a completely different way, namely outside the computer device, for example in a special display device 4104, as shown in FIG. 41.

FIG. 41 toont een computersysteem 4100 volgens een uitvoeringsvorm van de onderhavige uitvinding, omvattende een speciale monitor of weergavescherm 4104 volgens een uitvoeringsvorm van de onderhavige uitvinding, en een computerinrichting 4101, dat een klassieke computerinrichting kan zijn. Het computersysteem 4100 omvat ten minste twee aanwijsinrichtingen, met inbegrip van een eerste aanwijsinrichting 4103R verbonden met de klassieke computerinrichting 4101, en een tweede aanwijsinrichting 4103L verbonden met het speciale weergavescherm 4104, op een bedrade of draadloze wijze.FIG. 41 shows a computer system 4100 according to an embodiment of the present invention, comprising a special monitor or display screen 4104 according to an embodiment of the present invention, and a computer device 4101, which may be a conventional computer device. The computer system 4100 comprises at least two pointing devices, including a first pointing device 4103R connected to the classical computer device 4101, and a second pointing device 4103L connected to the special display screen 4104, in a wired or wireless manner.

In eenvoudige termen uitgedrukt, heeft de weergave-inrichting 4104 een processor die aangepast is voor het communiceren met de aanwijsinrichting 4103L en voor het onderhouden van een positie xL, yL overeenkomend met bewegingen van de aanwijsinrichting 4103L, en is aangepast voor het overlayen van het grafische beeld ontvangen van de computerinrichting 4101 met een lokaal gegenereerd zichtbaar voorwerp 4106L, dat bijvoorbeeld de vorm heeft van een vierkant of een rechthoek of een rechthoek met afgeronde randen, of een cirkel of een pijl of een hand of een klein kruis of een groot kruis dat zich uitstrekt over de ganse hoogte en breedte van het weergavescherm, of een andere geschikte vorm, en voor het bewegen van dat voorwerp in overeenstemming met bewegingen van de aanwijsinrichting 4103L door het positioneren van het voorwerp 4106L op de onderhouden positie xL, yL. Met andere woorden, in deze uitvoeringsvorm genereert de weergaveinrichting 4104 het voorwerp 4106L en toont dit op het scherm op een positie die beweegbaar is door de linker aanwijsinrichting 4103L, terwijl de computerinrichting bewegingen van de rechter aanwijsinrichting 4103R afhandelt zoals gewoonlijk.Expressed in simple terms, the display device 4104 has a processor adapted to communicate with the pointing device 4103L and to maintain a position xL, yL corresponding to movements of the pointing device 4103L, and adapted to overlay the graphic image received from the computer device 4101 with a locally generated visible object 4106L, which is, for example, in the form of a square or a rectangle or a rectangle with rounded edges, or a circle or an arrow or a hand or a small cross or a large cross extending over the entire height and width of the display screen, or other suitable shape, and for moving that object in accordance with movements of the pointing device 4103L by positioning the object 4106L at the maintained position xL, yL. In other words, in this embodiment, the display device 4104 generates the object 4106L and displays it on the screen at a position movable by the left pointing device 4103L, while the computer device handles movements of the right pointing device 4103R as usual.

FIG. 42 toont een voorbeeldmatig blokdiagram van een uitvoeringsvorm van de weergaveinrichting 4104 zoals gebruikt kan worden in het computersysteem 4100 van FIG. 41. De weergaveinrichting 4104 omvat:FIG. 42 shows an exemplary block diagram of an embodiment of the display device 4104 as may be used in the computer system 4100 of FIG. 41. The display device 4104 comprises:

- een ingangspoort 4231, bijv, een VGA-poort of een HDMI-poort of een DVI-poort of een andere geschikte poort voor het ontvangen van grafische beeldgegevens van een computerinrichting 4101;an input port 4231, e.g., a VGA port or an HDMI port or a DVI port or other suitable port for receiving graphic image data from a computer device 4101;

- een interface of poort om te communiceren met de aanwijsinrichting 4203L, bijv, een fysieke connector 4237 zoals een USB-connector, of een draadloze RF-interface 4238;- an interface or port for communicating with the pointing device 4203L, e.g., a physical connector 4237 such as a USB connector, or a wireless RF interface 4238;

- een displaypaneel 4236, bijv, een LCD-paneel voor het genereren van een zichtbaar beeld;- a display panel 4236, e.g., an LCD panel for generating a visible image;

- een invoerbuffer 4232 voor het opslaan van minstens een gedeelte van de grafische beeldgegevens ontvangen aan de ingangspoort 4231;an input buffer 4232 for storing at least a portion of the graphic image data received at the input port 4231;

BE2017/5896BE2017 / 5896

- een framebuffer 4234 voor het opslaan van minstens een gedeelte van de beeldgegevens die getoond moeten worden op het displaypaneel 4236;- a frame buffer 4234 for storing at least a portion of the image data to be displayed on the display panel 4236;

- en een processor aangepast voor:- and a processor adapted for:

* het communiceren met de aanwijsinrichting 4203L voor het ontvangen van verplaatsingswaardes dx, dy gerelateerd aan bewegingen van de aanwijsinrichting;* communicating with the pointing device 4203L for receiving displacement values dx, dy related to movements of the pointing device;

* het onderhouden van een positie xL, yL op basis van de ontvangen verplaatsingswaardes dx, dy;* maintaining a position xL, yL based on the received displacement values dx, dy;

* het genereren van beeldgegevens van het zichtbaar voorwerp 4106L;* generating image data from the visible object 4106L;

* het genereren van de beeldgegevens die in het framebuffer 4234 moeten opgeslagen worden door het overlayen van de grafische beeldgegevens ontvangen aan zijn ingangspoort met de gegenereerde beeldgegevens van het zichtbaar voorwerp 4106L op de onderhouden positie xL,yL.* generating the image data to be stored in the frame buffer 4234 by overlaying the graphic image data received at its input port with the generated image data of the visible object 4106L at the maintained position xL, yL.

In het geval van een VGA- of andere analoge ingang, moet het binnenkomende signaal gedigitaliseerd worden door middel van één of meerdere ADC (analoog-naar-digitaal) convertoren, op wijzen die op zich gekend zijn in de stand der techniek. Evenzo, indien het uitgaande signaal analoog is, dan moet het digitale signaal dat het uitgangsbuffer verlaat geconverteerd worden naar analoge signalen gebruikmakende van één of meerdere DAC (digitaal-naar-analoog) convertoren, op wijzen die op zich gekend zijn in de stand der techniek. De weergave-inrichting kan optioneel ingangssignaalconversiecircuits omvatten voor het converteren van analoge signalen naar digitale signalen, en/of kan optioneel uitgangs-signaalconversiecircuits omvatten voor het converteren van digitale signalen naar analoge uitgangssignalen.In the case of a VGA or other analog input, the incoming signal must be digitized by means of one or more ADC (analog-to-digital) converters, in ways that are known per se in the prior art. Similarly, if the output signal is analog, then the digital signal leaving the output buffer must be converted to analog signals using one or more DAC (digital-to-analog) converters, in ways known per se in the prior art . The display device may optionally include input signal conversion circuits for converting analog signals to digital signals, and / or may optionally include output signal conversion circuits for converting digital signals to analog output signals.

De aanwijsinrichting 4203L kan een bedrade muisinrichting of een draadloze muisinrichting zijn. De aanwijsinrichting 4203L kan een HID-compatibele aanwijsinrichting zijn, bijv, een HIDcompatibele muisinrichting. De aanwijsinrichting kan rechtstreeks verbonden zijn met de fysieke connector via draden, of via een klassieke hub (niet getoond).The pointing device 4203L can be a wired mouse device or a wireless mouse device. The pointing device 4203L can be an HID-compatible pointing device, e.g., an HID-compatible mouse device. The pointing device can be directly connected to the physical connector via wires, or via a conventional hub (not shown).

De aanwijsinrichting kan een draadloze aanwijsinrichting zijn, bijv, een draadloze muisinrichting, die communiceert via een dongel verbonden met, bijv, ingebracht in de fysieke connector van het weergavescherm.The pointing device may be a wireless pointing device, e.g., a wireless mouse device, which communicates via a dongle connected to, e.g., inserted into the physical connector of the display screen.

Het weergavescherm kan een interne of externe draadloze RF-zendontvanger 4238 omvatten om te communiceren met een draadloze aanwijsinrichting, bijv, via een Bluetooth-protocol.The display screen may include an internal or external wireless RF transceiver 4238 to communicate with a wireless pointing device, e.g., via a Bluetooth protocol.

Het gegenereerde zichtbaar voorwerp 4106L kan de vorm hebben van een vierkant, of een vierkant met afgeronde randen, of een rechthoek, of een rechthoek met afgeronde randen, of een langwerpig voorwerp, of een pijl of een hand, of een andere geschikte vorm.The generated visible object 4106L may be in the form of a square, or a square with rounded edges, or a rectangle, or a rectangle with rounded edges, or an elongated object, or an arrow or a hand, or other suitable shape.

Het voorwerp 4106L kan bestaan uit monochrome pixels, bijv, rode of blauwe of zwarte of gele pixels, of een andere geschikte kleur. Alternatief kan het voorwerp precies twee kleuren hebben, bijvoorbeeld een binnenste, inwendige kleur en een omtrekkleur (bijv, zwart), bijvoorbeeld om eenThe object 4106L may consist of monochrome pixels, e.g., red or blue or black or yellow pixels, or other suitable color. Alternatively, the object may have exactly two colors, for example an inner, inner color and a peripheral color (e.g., black), e.g.

BE2017/5896 groter contrast te vormen. Maar de zichtbare voorwerpen kunnen ook méér dan twee kleuren bevatten.BE2017 / 5896 to form greater contrast. But the visible objects can also contain more than two colors.

Het voorwerp 4106L kan ondoorzichtig zijn, wat wil zeggen dat de gebruiker niet doorheen het voorwerp 4106L kan zien. In dit geval kan de processor het geoverlayde beeld genereren door eenvoudig een deel van de grafische beeldgegevens afkomstig van de computer te vervangen door beeldgegevens van het lokaal gegenereerde zichtbaar voorwerp, zonder gegevens te moeten mengen.The object 4106L can be opaque, which means that the user cannot see through the object 4106L. In this case, the processor can generate the overlayed image by simply replacing part of the graphic image data from the computer with image data from the locally generated visible object, without having to mix data.

Het voorwerp 4106L kan een semi-transparant monochroom voorwerp zijn, dat bijv, een alfatransparantie a heeft in het bereik van 10% tot 90%, bijv, ongeveer 25% of ongeveer 50% of ongeveer 75%. In dit geval zal de processor de grafische beeldgegevens alfamengen of mengen met de voorwerpgegevens. In het geval van 50% alfamengen, kunnen de rode, blauwe en groene kleurcomponenten Rl, Gl, BI van de grafische beeldgegevens en de rode, blauwe en groene kleurcomponenten R2, G2, B2 van de pixels van het beweegbaar voorwerp eenvoudig uitgemiddeld worden, hetgeen een eenvoudige rekenkundige operatie is, bijvoorbeeld equivalent aan de volgende berekening: R:= (Rl shr 1)+(R2 shr 1), en evenzo voor de andere kleurcomponenten.The article 4106L can be a semi-transparent monochrome article that has, for example, an alpha transparency α in the range of 10% to 90%, e.g., about 25% or about 50% or about 75%. In this case, the processor will either mix the graphic image data or mix it with the object data. In the case of 50% alpha gene, the red, blue and green color components R1, G1, B1 of the graphic image data and the red, blue and green color components R2, G2, B2 of the pixels of the movable object can be simply averaged, which is a simple arithmetic operation, for example equivalent to the following calculation: R: = (R1 shr 1) + (R2 shr 1), and similarly for the other color components.

Het voorwerp 4106L kan een zogenoemde geperforeerde bitmap zijn of omvatten, zoals uitgelegd in de mede in behandeling zijnde geperforeerde bitmap aanvrage. Deze bitmap kan een eerste veelheid volledig transparante pixels en een tweede veelheid monochrome pixels omvatten, waarbij de eerste veelheid pixels en de tweede veelheid pixels geïnterleaved (afwisselend gepositioneerd) zijn, bijvoorbeeld volgens een schaakbordpatroon.The item 4106L can be or include a so-called perforated bitmap, as explained in the pending perforated bitmap application. This bitmap may comprise a first plurality of fully transparent pixels and a second plurality of monochrome pixels, the first plurality of pixels and the second plurality of pixels being interleaved (alternately positioned), for example, according to a checkerboard pattern.

* Deze geperforeerde bitmap kan op een ondoorzichtige wijze geoverlayd zijn, als volgt: In het geval dat een grafische beeldpixel afkomstig van het computerbeeld geoverlayd wordt met een volledig transparante pixel, zal het resultaat de originele grafische beeldpixel zijn. In het geval dat een grafische beeldpixel geoverlayd wordt met een monochrome pixel, zal het resultaat de monochrome pixel van het beweegbaar voorwerp zijn.* This perforated bitmap can be overlayed in an opaque way, as follows: In the event that a graphic image pixel from the computer image is overlaid with a completely transparent pixel, the result will be the original graphic image pixel. In the case that a graphic image pixel is overlaid with a monochrome pixel, the result will be the monochrome pixel of the movable object.

* Deze geperforeerde bitmap kan op een semi-transparante wijze geoverlayd worden, als volgt: In het geval dat een grafische beeldpixel door een volledig transparante pixel geoverlayd wordt, zal het resultaat de originele grafische beeldpixel zijn. In het geval dat een grafische beeldpixel geoverlayd wordt met een monochrome pixel, zal het resultaat de alfamenging of menging zijn van de grafische beeldpixel afkomstig van het computerbeeld en de monochrome pixel van het beweegbaar voorwerp.* This perforated bitmap can be overlayed in a semi-transparent manner, as follows: In the event that a graphic image pixel is overlaid by a fully transparent pixel, the result will be the original graphic image pixel. In the case that a graphic image pixel is overlaid with a monochrome pixel, the result will be the alpha mixing or mixing of the graphic image pixel from the computer image and the monochrome pixel of the movable object.

Het is ook mogelijk om het voorwerp 4106L semi-transparant te doen lijken door tijdmultiplexing tussen de grafische beeldpixels (komende van de computerinrichting), en de beeldpixels van het beweegbaar voorwerp (gegenereerd binnen het weergavescherm). Bijvoorbeeld door het gebruikmaken/weergeven van de monochrome pixels van het voorwerp 4106L op een eerste moment in tijd (bijv, op even genummerde frames) en door het gebruikmaken/weergeven van de grafische beeldgegevens op een tweede moment in tijd (bijv, bij oneven genummerde frames). Dit zouIt is also possible to make the item 4106L appear semi-transparent by time multiplexing between the graphic image pixels (coming from the computer device), and the image pixels of the movable object (generated within the display screen). For example, by using / displaying the monochrome pixels of the object 4106L at a first moment in time (e.g., on even-numbered frames) and by using / displaying the graphic image data at a second moment in time (e.g., with odd-numbered ones frames). This would

BE2017/5896 bijvoorbeeld betekenen dat de helft van de frames het zichtbaar voorwerp 4106L effectief zouden tonen, en de helft van de frames niet, waardoor de indruk wordt gecreëerd van semi-transparant te zijn (gemiddeld over de tijd).For example, BE2017 / 5896 means that half of the frames would effectively display the visible object 4106L, and half of the frames would not, creating the impression of being semi-transparent (average over time).

Vergelijking van FIG. 41 met FIG. 5(a) en FIG. 5(b) leert dat de beelden op het scherm er precies hetzelfde of zeer gelijkend kunnen uitzien (ervan uitgaand dat dezelfde kleur en/of hetzelfde semi-transparantieniveau worden gebruikt). Derhalve adresseert de uitvoeringsvorm van FIG. 41 eveneens het in FIG. 1 tot FIG. 3 beschreven probleem, maar de computerinrichting 4101 vereist niet de hierboven beschreven speciale overlay-applicatie en/of de speciale muis en/of de speciale hub, alleen de weergave-inrichting 4104 moet speciaal zijn.Comparison of FIG. 41 with FIG. 5 (a) and FIG. 5 (b) teaches that the images on the screen can look exactly the same or very similar (assuming the same color and / or the same semi-transparency level are used). Therefore, the embodiment of FIG. 41 also the one shown in FIG. 1 to FIG. 3, but the computer device 4101 does not require the above-described special overlay application and / or the special mouse and / or the special hub, only the display device 4104 must be special.

Het computersysteem 4100 van FIG. 41 maakt het mogelijk dat de gebruiker de linker aanwijsinrichting 4103L beweegt teneinde de positie van het zichtbaar voorwerp 4106 op het scherm te bewegen, maar uiteraard zal het klikken op die aanwijsinrichting of het scrollen van het wiel daarvan niet het effect hebben van het selecteren van tekst of het omhoog of omlaag scrollen van een document. Met andere woorden, de uitvoeringsvorm van FIG. 41 lost niet het probleem op getoond in FIG. 4.The computer system 4100 of FIG. 41 allows the user to move the left pointing device 4103L to move the position of the visible object 4106 on the screen, but of course clicking on that pointing device or scrolling its wheel will not have the effect of selecting text or scrolling up or down a document. In other words, the embodiment of FIG. 41 does not solve the problem shown in FIG. 4.

In een variant van de weergave-inrichting getoond in FIG. 42, omvat de weergave-inrichting ten minste twee connectoren voor het verbinden van ten minste twee aanwijsinrichtingen, en is de processor 4233 aangepast voor het onderhouden van twee aanwijsposities Posl, Pos2, en voor het genereren van twee zichtbare voorwerpen, bijvoorbeeld twee lijnen gelijkend op FIG. 32, of twee vierkanten gelijkend op FIG. 33 of twee handen gelijkend op FIG. 34, en voor het positioneren van deze twee voorwerpen op de twee bijgehouden locaties. Met een computersysteem dat zulk een weergaveinrichting omvat, zou een gebruiker bijvoorbeeld twee speciaal daarvoor voorziene aanwijsinrichtingen kunnen gebruiken voor het vergelijken van twee tekstdocumenten (bijv, bij het proeflezen van een vertaling), en zou een derde aanwijsinrichting kunnen gebruiken, verbonden met de computer, voor het editeren of corrigeren.In a variant of the display device shown in FIG. 42, the display device comprises at least two connectors for connecting at least two pointing devices, and the processor 4233 is adapted to maintain two pointing positions Pos1, Pos2, and to generate two visible objects, for example two lines similar to FIG. 32, or two squares similar to FIG. 33 or two hands similar to FIG. 34, and for positioning these two objects at the two tracked locations. With a computer system comprising such a display device, for example, a user could use two specially designed pointing devices for comparing two text documents (e.g., proofreading a translation), and could use a third pointing device connected to the computer, for editing or correcting.

De weergave-inrichting kan een verdere connector hebben voor verbinding met een verwijderbare, niet-vluchtige geheugeninrichting, zoals een geheugenkaart of een USB-stick of dergelijke, die een bestand en een bitmap kan bevatten van de één of meerdere weer te geven zichtbare voorwerpen.The display device may have a further connector for connection to a removable, non-volatile memory device, such as a memory card or a USB stick or the like, which may contain a file and a bitmap of the visible objects to be displayed.

De uitvinders kwamen op nog een ander idee om het probleem getoond in FIG. 1 tot FIG. 3 op te lossen, eveneens buiten de computerinrichting 4301, namelijk door het verschaffen van een speciale video-adapter of video-interface-inrichting 4330, verbonden tussen de computerinrichting 4301 en de weergave-inrichting 4304, zoals weergegeven in FIG. 43 en FIG. 44.The inventors came up with yet another idea of the problem shown in FIG. 1 to FIG. 3, also outside the computer device 4301, namely by providing a special video adapter or video interface device 4330, connected between the computer device 4301 and the display device 4304, as shown in FIG. 43 and FIG. 44.

Vele soorten video-adapters zijn gekend in de stand der techniek, bijvoorbeeld een videoadapter voor het converteren van een HDMI-signaal naar een VGA-signaal of omgekeerd. De videoMany types of video adapters are known in the art, for example a video adapter for converting an HDMI signal to a VGA signal or vice versa. The video

100100

BE2017/5896 adapter kan één of meerdere hogesnelheid analoog-naar-digitaal convertoren ADC en/of één of meerdere hogesnelheid digitaal-naar-analoog convertoren DAC bevatten.BE2017 / 5896 adapter can contain one or more high-speed analog-to-digital ADC converters and / or one or more high-speed digital-to-analog converters DAC.

Geen van de bestaande video-adapters onderhoudt een positie gerelateerd aan bewegingen van een aanwijsinrichting verbonden met de genoemde adapter, en geen van deze toont een zichtbaar voorwerp dat beweegbaar is in overeenstemming met deze bewegingen. En bij voorkeur, omvat de video-adapter 4330 volgens uitvoeringsvormen van de onderhavige uitvinding een digitale videoingangsconnector (bijv, een HDMI-ingangsconnector) en een digitale video-uitgangsconnector (bijv, een HDMI-uitgangsconnector), in welk geval de binnenkomende video- of grafische beeldgegevens digitaal zijn, en ook de uitgaande video- of grafische beeldgegevens digitaal zijn, en de DAC(s) en de ADC(s) weggelaten kunnen worden.None of the existing video adapters maintains a position related to movements of a pointing device connected to said adapter, and none of these shows a visible object that is movable in accordance with these movements. And preferably, according to embodiments of the present invention, the video adapter 4330 comprises a digital video input connector (e.g., an HDMI input connector) and a digital video output connector (e.g., an HDMI output connector), in which case the incoming video or graphic image data is digital, and also the outgoing video or graphic image data is digital, and the DAC (s) and ADC (s) can be omitted.

FIG. 43 toont een computersysteem 4300 volgens een uitvoeringsvorm van de onderhavige uitvinding, omvattende een video-adapterinrichting 4330 volgens een uitvoeringsvorm van de onderhavige uitvinding. De video-adapter 4330 heeft een video-ingangspoort A, 4431 (bijvoorbeeld een DVI- of een HDMI-poort of een VGA-poort) voor het ontvangen van eerste grafische beeldgegevens vanuit een computerinrichting 4301. De computerinrichting 4301 is verbonden met een eerste aanwijsinrichting 4303R. De video-adapter 4330 omvat verder een video-uitgangspoort C, 4436 (bijvoorbeeld een DVI- of een HDMI-poort of een VGA-poort) voor het verschaffen van tweede grafische beeldgegevens aan een monitor of weergavescherm 4304. De video-adapter 4330 omvat verder ten minste één interface (bijvoorbeeld een fysieke connector zoals een USB-poort, of een RFzendontvanger) om te communiceren met een tweede aanwijsinrichting 4303L, werkzaam verbonden met de video-adapter. De video-adapter 4330 is aangepast voor het genereren van ten minste één zichtbaar voorwerp 4306L, bijvoorbeeld met de vorm van een vierkant of een rechthoek of een rechthoek met afgeronde randen, of een cirkel of een pijl of een hand of een klein kruis of een groot kruis dat zich uitstrekt over de ganse hoogte en breedte van het weergavescherm, of een andere geschikt vorm, en voor het genereren van het tweede grafische beeld (dat verzonden dient te worden naar het weergavescherm) door het overlayen van de eerste grafische beeldgegevens (komende van de computerinrichting) met het ten minste één zichtbaar voorwerp 4306L (intern gegenereerd), en voor het bewegen van dat ten minste één zichtbaar voorwerp 4306L in overeenstemming met bewegingen van de tweede aanwijsinrichting 4303L.FIG. 43 shows a computer system 4300 according to an embodiment of the present invention, comprising a video adapter device 4330 according to an embodiment of the present invention. The video adapter 4330 has a video input port A, 4431 (e.g., a DVI or an HDMI port or a VGA port) for receiving first graphic image data from a computer device 4301. The computer device 4301 is connected to a first pointing device 4303R. The video adapter 4330 further comprises a video output port C, 4436 (e.g., a DVI or an HDMI port or a VGA port) for providing second graphic image data to a monitor or display screen 4304. The video adapter 4330 comprises furthermore at least one interface (e.g. a physical connector such as a USB port, or an RF transceiver) for communicating with a second pointing device 4303L operatively connected to the video adapter. The video adapter 4330 is adapted to generate at least one visible object 4306L, for example with the shape of a square or a rectangle or a rectangle with rounded edges, or a circle or an arrow or a hand or a small cross or a large cross that extends over the entire height and width of the display screen, or other suitable shape, and for generating the second graphic image (to be sent to the display screen) by overlaying the first graphic image data (coming of the computer device) with the at least one visible object 4306L (internally generated), and for moving that at least one visible object 4306L in accordance with movements of the second pointing device 4303L.

Het ten minste één zichtbaar voorwerp 4306L kan een monochrome kleur hebben. De monochrome kleur kan vooraf bepaald zijn, bijvoorbeeld rood of groen of blauw of zwart of een andere geschikte kleur. Optioneel kan de video-adapter 4330 één of meerdere knoppen 4441 hebben voor het selecteren van de monochrome kleur uit een aantal vooraf bepaalde kleuren.The at least one visible object 4306L can have a monochrome color. The monochrome color may be predetermined, for example red or green or blue or black or another suitable color. Optionally, the video adapter 4330 may have one or more buttons 4441 for selecting the monochrome color from a number of predetermined colors.

De video-adapter is aangepast voor het genereren van ten minste één zichtbaar voorwerp 4306L en voor het overlayen van het ten minste één zichtbaar voorwerp met de binnenkomende grafische beeldgegevens, bijv, door alfamengen of anderszins mengen of combineren van de eersteThe video adapter is adapted to generate at least one visible object 4306L and to overlay the at least one visible object with the incoming graphic image data, e.g., by alpha mixing or otherwise mixing or combining the first

101101

BE2017/5896 grafische beeldgegevens afkomstig van de computer met de beeldgegevens van het beweegbaar voorwerp. Het ten minste één zichtbaar voorwerp kan een ondoorzichtig of een semi-transparant voorwerp zijn, of kan een zogenoemde geperforeerde bitmap hebben, zoals in meer detail beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage. Het kan begrepen worden door het vergelijken van FIG. 41 en FIG. 43 dat ook de uitvoeringsvorm van FIG. 43 de problemen beschreven in FIG. 1 tot FIG. 3 oplost.BE2017 / 5896 graphic image data from the computer with the image data of the movable object. The at least one visible object may be an opaque or semi-transparent object, or may have a so-called perforated bitmap, as described in more detail in the co-punctured perforated bitmap application. It can be understood by comparing FIG. 41 and FIG. 43 that the embodiment of FIG. 43 the problems described in FIG. 1 to FIG. 3 dissolves.

FIG. 44 toont een voorbeeldmatig hardware-blokdiagram van een video-adapter 4330 zoals gebruikt kan worden in het computersysteem 4300 van FIG. 43, maar de uitvinding is daartoe niet beperkt. De video-adapter 4330 van FIG. 44 omvat de volgende componenten:FIG. 44 shows an exemplary hardware block diagram of a video adapter 4330 as may be used in the computer system 4300 of FIG. 43, but the invention is not limited thereto. The video adapter 4330 of FIG. 44 includes the following components:

- een video-ingangspoort 4431 voor het ontvangen van eerste grafische beeldgegevens vanuit een computerinrichting;- a video input port 4431 for receiving first graphic image data from a computer device;

- een video-uitgangspoort 4436 voor het verschaffen van tweede grafische beeldgegevens aan een weergave-inrichting;- a video output port 4436 for providing second graphic image data to a display device;

- een invoerbuffer 4432 voor het opslaan van minstens een gedeelte van de eerste grafische beeldgegevens ontvangen aan de ingangspoort;- an input buffer 4432 for storing at least a portion of the first graphic image data received at the input port;

- een processor 4433 verbonden met het invoerbuffer 4432, en aangepast voor het genereren van tweede grafische beeldgegevens op basis van de eerste grafische beeldgegevens;- a processor 4433 connected to the input buffer 4432, and adapted to generate second graphic image data based on the first graphic image data;

- een bedrade en/of een draadloze interface 4437, 4438 om te communiceren met een bedrade of een draadloze aanwijsinrichting 4403L;- a wired and / or wireless interface 4437, 4438 for communicating with a wired or wireless pointing device 4403L;

- waarbij de processor 4433 verder aangepast is voor:- wherein the processor 4433 is further adapted for:

* het communiceren met de aanwijsinrichting 4403L voor het ontvangen van verplaatsingsinformatie dx, dy gerelateerd aan bewegingen van de aanwijsinrichting 4403L;* communicating with the pointing device 4403L for receiving movement information dx, dy related to movements of the pointing device 4403L;

* het bijwerken van een positie Pos2 op basis van de ontvangen verplaatsingsinformatie dx, dy;* updating a position Pos2 based on the received displacement information dx, dy;

* het genereren van een zichtbaar voorwerp 4306L;* generating a visible object 4306L;

* het genereren van de tweede grafische beeldgegevens door het overlayen van de eerste grafische beeldgegevens met het gegenereerde zichtbaar voorwerp 4306L op de positie Pos2.* generating the second graphic image data by overlaying the first graphic image data with the generated visible object 4306L at the Pos2 position.

De video-adapter kan verder een framebuffer 4434 omvatten, werkzaam verbonden met de processor 4433, aangepast voor het opslaan van minstens een gedeelte van de eerste grafische beeldgegevens ontvangen van het invoerbuffer 4432, en voor het opslaan van minstens een gedeelte van de tweede grafische gegevens die naar het uitgangsbuffer 4435 moeten verzonden worden. Een framebuffer is echter niet absoluut vereist, bijv, in het geval dat de binnenkomende videostroom en de uitgaande videostroom dezelfde beeldfrequentie en resolutie hebben.The video adapter may further comprise a frame buffer 4434 operably connected to the processor 4433 adapted to store at least a portion of the first graphic image data received from the input buffer 4432, and to store at least a portion of the second graphic data to be sent to the output buffer 4435. However, a frame buffer is not absolutely required, e.g., in the case that the incoming video stream and the outgoing video stream have the same frame rate and resolution.

102102

BE2017/5896BE2017 / 5896

Optioneel kan de video-adapter 4330 verder één of meerdere knoppen 4441 omvatten, bijvoorbeeld om de gebruiker in staat te stellen een kleur en/of vorm en/of grootte van het beweegbaar voorwerp 4306L te kiezen.Optionally, the video adapter 4330 may further comprise one or more buttons 4441, for example to enable the user to choose a color and / or shape and / or size of the movable object 4306L.

Optioneel kan de video-adapter 4330 verder één of meerdere indicatoren omvatten, bijvoorbeeld in de vorm van LEDs 4442 om informatie aan de gebruiker te verschaffen.Optionally, the video adapter 4330 may further comprise one or more indicators, for example in the form of LEDs 4442 to provide information to the user.

De video-adapter 4330 kan een geheugeninrichting (niet getoond) omvatten die het invoerbuffer en het uitgangsbuffer en (indien aanwezig ook) het framebuffer omvat.The video adapter 4330 may include a memory device (not shown) that includes the input buffer and the output buffer and (if present also) the frame buffer.

Echter, de onderhavige uitvinding is niet beperkt tot deze specifieke uitvoeringsvorm, omdat andere architecturen dezelfde functionaliteit kunnen vervullen. Bijvoorbeeld, indien de kloksnelheid van de binnenkomende videogegevens en de uitgaande videogegevens dezelfde is, dan kan het tweede grafische beeld in real-time gegenereerd worden, en dan kan het framebuffer weggelaten worden, en het genereren van het zichtbaar voorwerp 4306L kan in de praktijk in real-time geïmplementeerd worden, samen met de overlayende of alfamengingsoperatie. De vakman die deskundig is op het gebied van het ontwerpen van videochips, weet hoe deze functionaliteit geïmplementeerd kan worden.However, the present invention is not limited to this specific embodiment, because other architectures can fulfill the same functionality. For example, if the clock speed of the incoming video data and the outgoing video data is the same, then the second graphic image can be generated in real time, and then the frame buffer can be omitted, and the generation of the visible object 4306L can in practice be implemented in real time, together with the overlay or alpha blending operation. The person skilled in the art of designing video chips knows how to implement this functionality.

De video-interface-inrichting 4330 kan additionele interfaces hebben, bijvoorbeeld een additionele USB-poort 4439 voor verbinding met bijvoorbeeld een USB-geheugenstick die bijvoorbeeld een bitmap van het beweegbaar voorwerp kan omvatten, en/of verder een textuurbitmap kan omvatten die geoverlayd moet worden met de binnenkomende videogegevens, bijvoorbeeld op een wijze zoals beschreven in de mede in behandeling zijnde geperforeerde bitmap aanvrage.The video interface device 4330 may have additional interfaces, for example an additional USB port 4439 for connection to, for example, a USB memory stick which may, for example, comprise a bitmap of the movable object, and / or further may comprise a texture bitmap to be overlaid with the incoming video data, for example in a manner as described in the pending perforated bitmap application.

In een uitvoeringsvorm heeft de video-interface-inrichting 4330 een geïntegreerde RFzendontvanger 4438 om te communiceren met een draadloze muis en/of om te communiceren met de personal-computerinrichting, bijvoorbeeld voor het configureren van de video-adapterinrichting 4330, en/of voor het selecteren van de grootte of kleur van het voorwerp, enz. Maar zulk een zendontvanger kan ook extern verschaft worden, bijv, als een dongel verbonden met de connector 4437 of 4439.In one embodiment, the video interface device 4330 has an integrated RF transceiver 4438 to communicate with a wireless mouse and / or to communicate with the personal computer device, for example for configuring the video adapter device 4330, and / or for selecting the size or color of the object, etc. But such a transceiver can also be provided externally, e.g., as a dongle connected to the connector 4437 or 4439.

In een variant van de video-adapterinrichting getoond in FIG. 43 en FIG. 44, omvat de videoadapter ten minste twee connectoren voor het verbinden met ten minste twee aanwijsinrichtingen, en is de processor 4433 aangepast voor het onderhouden van twee aanwijsposities Posl, Pos2, en voor het genereren van twee zichtbare voorwerpen, bijvoorbeeld twee lijnen zoals in FIG. 32, of twee vierkanten zoals in FIG. 33 of twee handen zoals in FIG. 34, en voor het positioneren van deze twee voorwerpen op de twee bijgehouden locaties. Met een computersysteem dat zulk een video-adapter omvat, zou een gebruiker bijvoorbeeld twee speciaal daarvoor voorziene aanwijsinrichtingen kunnen gebruiken voor het vergelijken van twee tekstdocumenten (bijv, bij het proeflezen van een vertaling), en een derde aanwijsinrichting kunnen gebruiken, verbonden met de computer, voor het editeren of corrigeren.In a variant of the video adapter device shown in FIG. 43 and FIG. 44, the video adapter includes at least two connectors for connecting to at least two pointing devices, and the processor 4433 is adapted to maintain two pointing positions Pos1, Pos2, and to generate two visible objects, e.g., two lines as in FIG. 32, or two squares as in FIG. 33 or two hands as in FIG. 34, and for positioning these two objects at the two tracked locations. For example, with a computer system comprising such a video adapter, a user could use two specially designed pointing devices to compare two text documents (e.g., proofreading a translation), and use a third pointing device connected to the computer , for editing or correcting.

103103

BE2017/5896BE2017 / 5896

Samenvattend verschaft de onderhavige uitvinding onder andere:In summary, the present invention provides, inter alia:

* Een computer-geïmplementeerde werkwijze voor het verschaffen van ten minste één eerste zichtbaar voorwerp 505, beweegbaar door een eerste aanwijsinrichting 503R, en ten minste één ander zichtbaar voorwerp 506L, separaat beweegbaar door een tweede aanwijsinrichting 503L, waarbij de eerste en tweede aanwijsinrichting verbonden zijn met een computerinrichting die een besturingssysteem O/S met een grafische gebruikersinterface GUI uitvoert dat een native muiscursor 505 verschaft, waarbij de werkwijze omvat: a) het configureren van het O/S en de GUI om de native muiscursor als het eerste zichtbaar voorwerp te verschaffen; b) het verschaffen van een grafisch overlayvenster 584 omvattende het ten minste één ander zichtbaar voorwerp; c) het configureren van het grafisch overlayvenster 584 in doorklikmodus; e) het aanpassen van een positie van het eerste/tweede zichtbaar voorwerp in overeenstemming met bewegingen van de eerste/tweede aanwijsinrichting. Een computerprogrammaproduct voor het uitvoeren van de werkwijze. Een computerinrichting omvattende het computerprogrammaproduct. Een computersysteem.* A computer-implemented method for providing at least one first visible object 505, movable by a first pointing device 503R, and at least one other visible object 506L, movable separately by a second pointing device 503L, the first and second pointing device being connected with a computer device executing an operating system O / S with a graphical user interface GUI that provides a native mouse cursor 505, the method comprising: a) configuring the O / S and the GUI to provide the native mouse cursor as the first visible object ; b) providing a graphic overlay window 584 comprising the at least one other visible object; c) configuring the graphic overlay window 584 in click-through mode; e) adjusting a position of the first / second visible object in accordance with movements of the first / second pointing device. A computer program product for performing the method. A computer device comprising the computer program product. A computer system.

* Een aanwijsinrichting voor gebruik in een computersysteem dat dubbele muis ondersteuning verschaft. De aanwijsinrichting (M2*) omvattende: een bewegingsdetectiemechanisme; en een besturingseenheid verbonden met het bewegingsdetectiemechanisme, en aangepast voor het zenden van een bewegingsbericht (mov2) met inbegrip van verplaatsingsparameters (dx, dy) wanneer een beweging wordt gedetecteerd; ten minste één knop (M2bl) en een knopdetectiemechanisme om te detecteren of de ten minste één knop (M2bl) wordt ingedrukt of losgelaten; en optioneel een scrollwiel en een scrollwielmechanisme om te detecteren of het scrollwiel is gedraaid; waarbij de besturingseenheid verbonden is met het knopdetectiemechanisme, en indien aanwezig ook met het scrollwielmechanisme, en aangepast is om eerst een dummy-bewegingsbericht (dmov) te zenden vóór het zenden van een knop-ingedrukt-bericht (press2) of een scrollwiel-rotatie-bericht. De dummyverplaatsingsparameters dx, dy zijn bij voorkeur zeer klein. De aanwijsinrichting kan een bedrade USBmuis of een draadloze muis zijn.* A pointing device for use in a computer system that provides dual mouse support. The pointing device (M2 *) comprising: a motion detection mechanism; and a control unit connected to the motion detection mechanism, and adapted to send a motion message (mov2) including displacement parameters (dx, dy) when a motion is detected; at least one button (M2bl) and a button detection mechanism to detect whether the at least one button (M2bl) is pressed or released; and optionally a scroll wheel and a scroll wheel mechanism to detect whether the scroll wheel has been turned; wherein the control unit is connected to the button detection mechanism, and if present also to the scroll wheel mechanism, and is adapted to first send a dummy movement message (dmov) before sending a button-pressed message (press2) or a scroll wheel rotation- message. The dummy displacement parameters dx, dy are preferably very small. The pointing device can be a wired USB mouse or a wireless mouse.

* Een hub voor gebruik in een computersysteem dat dubbele muis ondersteuning verschaft. Een hub (2520) geconfigureerd voor het uitwisselen van berichten tussen twee aanwijsinrichtingen en een computerinrichting, waarbij de hub een processor omvat die, bij ontvangst van een knopingedrukt-bericht (pressi, press2) van een aanwijsinrichting, eerst een dummy-bewegingsbericht (dmovl) naar de computerinrichting verstuurt alvorens enige tijd (ΔΤ) later het knop-ingedrukt-bericht (pressi) naar de computerinrichting te zenden, en die, bij ontvangst van een scrollwiel-rotatie-bericht van een aanwijsinrichting, eerst een dummy-bewegingsbericht (dmovl) naar de computerinrichting verstuurt alvorens enige tijd (ΔΤ) later het scrollwiel-rotatie-bericht naar de computerinrichting te zenden. De hub kan berichten van één aanwijsinrichting negeren wanneer een knop van de andere aanwijsinrichting is ingedrukt. De dummy-verplaatsingsparameters dx, dy zijn bij voorkeur zeer klein. De hub kan connectoren en/of een RF-zendontvanger hebben.* A hub for use in a computer system that provides dual mouse support. A hub (2520) configured to exchange messages between two pointing devices and a computer device, the hub comprising a processor which, upon receipt of a button-pressed message (pressi, press2) from a pointing device, first a dummy movement message (dmovl) sends to the computer device before sending the button-pressed message (pressi) to the computer device for some time (ΔΤ), and which, upon receipt of a scroll wheel rotation message from a pointing device, first receives a dummy movement message (dmovl) before sending the scroll wheel rotation message to the computer device some time (ΔΤ) later. The hub can ignore messages from one pointing device when a button of the other pointing device is pressed. The dummy displacement parameters dx, dy are preferably very small. The hub can have connectors and / or an RF transceiver.

104104

BE2017/5896 * Een weergave-inrichting (4104) voor gebruik in een computersysteem dat dubbele muis ondersteuning verschaft, de weergave-inrichting (4101) omvattende: een video-ingangspoort voor het ontvangen van eerste grafische beeldgegevens van een computerinrichting (4101); een displaypaneel voor het genereren van een zichtbaar beeld; een invoerbuffer en optioneel een framebuffer; een interface om te communiceren met een aanwijsinrichting (4103L), en een processor aangepast voor: het ontvangen van bewegingsinformatie (dx, dy) van de aanwijsinrichting; voor het bijwerken van een positie (Pos2) op basis van de ontvangen bewegingsinformatie (dx, dy); voor het genereren van zichtbare voorwerpgegevens (4106L); en voor het genereren van tweede grafische beeldgegevens die getoond dienen te worden op het displaypaneel door het overlayen van de eerste grafische beeldgegevens met de gegenereerde gegevens van het zichtbaar voorwerp (4106L) op de positie (Pos2).BE2017 / 5896 * A display device (4104) for use in a computer system that provides dual mouse support, the display device (4101) comprising: a video input port for receiving first graphic image data from a computer device (4101); a display panel for generating a visible image; an input buffer and optionally a frame buffer; an interface to communicate with a pointing device (4103L), and a processor adapted to: receive motion information (dx, dy) from the pointing device; for updating a position (Pos2) based on the received motion information (dx, dy); for generating visible object data (4106L); and for generating second graphic image data to be displayed on the display panel by overlaying the first graphic image data with the generated data of the visible object (4106L) at the position (Pos2).

* Een video-adapterinrichting (4330) voor gebruik in een computersysteem (4300) dat dubbele muis ondersteuning verschaft, de video-adapterinrichting omvattende: een videoingangspoort (A) voor het ontvangen van eerste grafische beeldgegevens vanuit een computerinrichting (4301); een video-uitgangspoort (C) voor het verschaffen van tweede grafische beeldgegevens aan een weergave-inrichting (4304); een invoerbuffer en optioneel een framebuffer; een interface om te communiceren met een aanwijsinrichting (4303L); en een processor aangepast voor: het ontvangen van bewegingsinformatie (dx, dy) vanuit de aanwijsinrichting; voor het bijwerken van een positie (Pos2) op basis van de ontvangen bewegingsinformatie (dx, dy); voor het genereren van gegevens van het zichtbaar voorwerp (4306L); en voor het genereren van tweede grafische beeldgegevens die getoond dienen te worden op het displaypaneel door het overlayen van de eerste grafische beeldgegevens met de gegenereerde gegevens van het zichtbaar voorwerp (4306L) op de positie (Pos2).A video adapter device (4330) for use in a computer system (4300) that provides dual mouse support, the video adapter device comprising: a video input port (A) for receiving first graphic image data from a computer device (4301); a video output port (C) for providing second graphic image data to a display device (4304); an input buffer and optionally a frame buffer; an interface for communicating with a pointing device (4303L); and a processor adapted for: receiving motion information (dx, dy) from the pointing device; for updating a position (Pos2) based on the received motion information (dx, dy); for generating data from the visible object (4306L); and for generating second graphic image data to be displayed on the display panel by overlaying the first graphic image data with the generated data of the visible object (4306L) at the position (Pos2).

Tenslotte, hoewel individuele kenmerken zijn uitgelegd in verschillende tekeningen en in verschillende uitvoeringsvormen van de onderhavige uitvinding, is het mogelijk dat kenmerken van verschillende uitvoeringsvormen gecombineerd worden, zoals voor de vakman logisch zou zijn bij het lezen van dit document.Finally, although individual features are explained in different drawings and in different embodiments of the present invention, it is possible that features of different embodiments may be combined, as would be logical to those skilled in the art when reading this document.

Hoewel de tekeningen met slechts één weergavescherm of monitor worden getoond, werkt de onderhavige uitvinding ook met meerdere monitoren, waarbij de eerste positie Posl op een eerste monitor gesitueerd kan zijn, en de tweede positie Pos2 op een tweede monitor gesitueerd kan zijn. Op deze wijze kan een gebruiker eenvoudig heen en weer wisselen tussen twee documenten die op verschillende schermen worden getoond.Although the drawings are shown with only one display screen or monitor, the present invention also works with multiple monitors, wherein the first position Pos1 may be located on a first monitor, and the second position Pos2 may be located on a second monitor. In this way a user can easily switch back and forth between two documents that are displayed on different screens.

Er wordt expliciet op gewezen dat uitvoeringsvormen van de onderhavige uitvinding (hoofdzakelijk gericht op beweegbare zichtbare voorwerpen gestuurd door meerdere aanwijsinrichtingen) gecombineerd kunnen worden met uitvoeringsvormen van de mede inIt is explicitly pointed out that embodiments of the present invention (primarily directed at movable visible objects controlled by multiple pointing devices) can be combined with embodiments of the co-defined

105105

BE2017/5896 behandeling zijnde geperforeerde bitmap aanvrage (hoofdzakelijk gericht op grafische overlay met een geperforeerde bitmap, getextureerd bitmap, beweegbare lijn, beweegbaar kruis, enz.) op eender welke geschikte wijze.BE2017 / 5896 treatment being perforated bitmap application (primarily directed to graphic overlay with a perforated bitmap, textured bitmap, movable line, movable cross, etc.) in any suitable manner.

Bijvoorbeeld, het overlayvenster 584 van FIG. 5c en het overlayvenster 884 van FIG. 8c van de onderhavige applicatie kan verder een geperforeerde bitmap of een semi-transparante getextureerde bitmap omvatten zoals uitgelegd in de mede in behandeling zijnde aanvrage.For example, the overlay window 584 of FIG. 5c and the overlay window 884 of FIG. 8c of the present application may further comprise a perforated bitmap or a semi-transparent textured bitmap as explained in the co-pending application.

Als een ander voorbeeld, kan/kunnen de beweegbaar/beweegbare voorwerp(en) in uitvoeringsvormen van de onderhavige aanvrage een geperforeerde bitmap bevatten zoals uitgelegd in de mede in behandeling zijnde aanvrage (bijv. FIG. 37 en FIG. 39).As another example, the movable / movable object (s) in embodiments of the present application may include a perforated bitmap as explained in the co-pending application (e.g., FIG. 37 and FIG. 39).

Hoewel de onderhavige uitvinding wordt uitgelegd voor systemen die slechts twee aanwijsinrichtingen hebben, zal de onderhavige uitvinding ook werken met meer dan twee aanwijsinrichtingen verbonden met dezelfde computer, bijvoorbeeld met drie aanwijsinrichtingen die opgesteld zijn om twee of drie zichtbare voorwerpen te bewegen, bijkomend aan de native muiscursor.Although the present invention is explained for systems that have only two pointing devices, the present invention will also work with more than two pointing devices connected to the same computer, for example with three pointing devices arranged to move two or three visible objects, in addition to the native mouse cursor.

Claims (11)

Conclusies:Conclusions: 1. Een aanwijsinrichting (2303) omvattende:A pointing device (2303) comprising: - een bewegingsdetectiemechanisme (2321) voor het detecteren van een twee-dimensionale beweging;- a motion detection mechanism (2321) for detecting a two-dimensional movement; - een besturingseenheid (2324) verbonden met het bewegingsdetectiemechanisme (2321) en aangepast voor het zenden van een bewegingsbericht (mov2), wanneer een beweging gedetecteerd wordt;- a control unit (2324) connected to the motion detection mechanism (2321) and adapted to send a motion message (mov2) when a motion is detected; - ten minste één knop (butl) indrukbaar en loslaatbaar door een gebruiker;- at least one button (butl) can be pressed and released by a user; - en een knopdetectiemechanisme (2322) voor het detecteren of de ten minste één knop (butl) wordt ingedrukt of wordt losgelaten;- and a button detection mechanism (2322) for detecting whether the at least one button (butl) is pressed or released; - waarbij de besturingseenheid (2324) verbonden is met het knopdetectiemechanisme (2322) en aangepast is voor het zenden van een knop-ingedrukt-bericht (press2) wanneer gedetecteerd wordt dat de ten minste één knop (butl) wordt ingedrukt, en voor het zenden van een drukknop-losgelatenbericht (release2) wanneer gedetecteerd wordt dat de ten minste één knop (butl) wordt losgelaten;- wherein the control unit (2324) is connected to the button detection mechanism (2322) and is adapted to send a button-pressed message (press2) when it is detected that the at least one button (but1) is pressed, and to send of a push button release message (release2) when it is detected that the at least one button (but1) is released; met het kenmerk, datcharacterized in that - de besturingseenheid (2324) van de aanwijsinrichting (2303) is aangepast voor, wanneer gedetecteerd wordt dat de ten minste één knop (butl) wordt ingedrukt, het zenden van een dummybewegingsbericht (dmov), en voor het zenden van het knop-ingedrukt-bericht (press2) minstens een vooraf bepaalde periode (ΔΤ) na het zenden van het dummy-bewegingsbericht (dmov).- the control unit (2324) of the pointing device (2303) is adapted for, when it is detected that the at least one button (butl) is pressed, for sending a dummy movement message (dmov), and for sending the button-pressed message (press2) at least a predetermined period (ΔΤ) after sending the dummy movement message (dmov). 2. Een aanwijsinrichting (2303) volgens conclusie 1, waarbij de besturingseenheid verder aangepast is voor, wanneer gedetecteerd wordt dat de ten minste één knop (butl) wordt losgelaten, voor het zenden van een dummy-bewegingsbericht (dmov), en voor het zenden van het drukknop-losgelaten-bericht (release) minstens een vooraf bepaalde periode (ΔΤ) na het zenden van het dummy-bewegingsbericht (dmov).A pointing device (2303) according to claim 1, wherein the control unit is further adapted for when it is detected that the at least one button (butl) is released, for sending a dummy movement message (dmov), and for sending of the push-release message (release) at least a predetermined period (ΔΤ) after sending the dummy movement message (dmov). 3. Een aanwijsinrichting (2303) volgens conclusie 1 of 2, verder omvattend ten minste één scrollwiel draaibaar door een gebruiker; enA pointing device (2303) according to claim 1 or 2, further comprising at least one scroll wheel rotatable by a user; and - een scrollwieldetectiemechanisme (2323) om te detecteren of het ten minste één scrollwiel gedraaid heeft; en- a scroll wheel detection mechanism (2323) for detecting whether the at least one scroll wheel has turned; and - waarbij de besturingseenheid (2324) verbonden is met het scrollwieldetectiemechanisme (2323), en aangepast is voor het zenden van een scrollwiel-rotatie-bericht wanneer gedetecteerd wordt dat het ten minste één scrollwiel heeft gedraaid;- wherein the control unit (2324) is connected to the scroll wheel detection mechanism (2323) and is adapted to send a scroll wheel rotation message when it is detected that it has turned at least one scroll wheel; met het kenmerk, datcharacterized in that - de besturingseenheid (2324) is aangepast voor, wanneer gedetecteerd wordt dat het ten minste één scrollwiel heeft gedraaid, het zenden van een dummy-bewegingsbericht (dmov), en voor - the control unit (2324) is adapted for, when it is detected that it has turned at least one scroll wheel, to send a dummy movement message (dmov), and for 107107 BE2017/5896 het zenden van het scrollwiel-rotatie-bericht minstens een vooraf bepaalde periode (ΔΤ) na het zenden van het dummy-bewegingsbericht (dmov).BE2017 / 5896 sending the scroll wheel rotation message at least a predetermined period (ΔΤ) after sending the dummy movement message (dmov). 4. Een aanwijsinrichting (2303) volgens één der voorgaande conclusies,A pointing device (2303) according to any one of the preceding claims, - waarbij de vooraf bepaalde periode (ΔΤ) een waarde is in het bereik van 1 tot 250 ms of in het bereik van 1 tot 100 ms; en- wherein the predetermined period (ΔΤ) is a value in the range of 1 to 250 ms or in the range of 1 to 100 ms; and - één van de volgende opties:- one of the following options: * waarbij het dummy-bewegingsbericht (dmov) een horizontale verplaatsingswaarde (dx) heeft in het bereik van -5 tot +5 en een verticale verplaatsingswaarde (dy) heeft in het bereik van -5 tot +5; of * waarbij het dummy-bewegingsbericht (dmov) een horizontale verplaatsingswaarde (dx) heeft in het bereik van -1 tot +1 en een verticale verplaatsingswaarde (dy) heeft in het bereik van -1 tot +1, of * waarbij het dummy-bewegingsbericht (dmov) een horizontale verplaatsingswaarde (dx) heeft gelijk aan nul en een verticale verplaatsingswaarde (dy) heeft gelijk aan nul.* wherein the dummy movement message (dmov) has a horizontal movement value (dx) in the range of -5 to +5 and a vertical movement value (dy) in the range of -5 to +5; or * wherein the dummy movement message (dmov) has a horizontal movement value (dx) in the range of -1 to +1 and a vertical movement value (dy) in the range of -1 to +1, or * wherein the dummy movement movement message (dmov) a horizontal movement value (dx) has zero and a vertical movement value (dy) has zero. 5. Een aanwijsinrichting (2303) volgens één der voorgaande conclusies, waarbij de besturingseenheid (2324) geconfigureerd is voor het zenden van een volgend dummy-bewegingsbericht (dmov) na een volgende detectie van de ten minste één knop die ingedrukt wordt, of na een volgende detectie van het ten minste één scrollwiel dat gedraaid wordt, waarbij het dummy-bewegingsbericht verplaatsingswaardes (dx, dy) omvat zodanig gekozen dat een cumulatieve horizontale verplaatsing (£dx) en een cumulatieve verticale verplaatsing (£dy) een waarde is in het bereik van -5 tot +5, of in het bereik van -1 tot +1.A pointing device (2303) according to any one of the preceding claims, wherein the control unit (2324) is configured to send a next dummy movement message (dmov) after a subsequent detection of the at least one button that is pressed, or after a subsequent detection of the at least one scroll wheel being rotated, the dummy motion message including displacement values (dx, dy) selected such that a cumulative horizontal displacement (£ dx) and a cumulative vertical displacement (£ dy) is a value in the range from -5 to +5, or in the range of -1 to +1. 6. Een aanwijsinrichting (2303) volgens één der voorgaande conclusies, verder omvattend een RF-zendontvanger (2325) verbonden met de besturingseenheid (2324), waarbij de besturingseenheid (2324) verder geconfigureerd is voor het zenden van berichten naar een computerinrichting (2301), en voor het ontvangen van berichten van de computerinrichting (2301) via de RF-zendontvanger (2324), optioneel via een dongel (2311) verbonden met de computerinrichting (2301).A pointing device (2303) as claimed in any preceding claim, further comprising an RF transceiver (2325) connected to the control unit (2324), the control unit (2324) being further configured to send messages to a computer device (2301) and for receiving messages from the computer device (2301) via the RF transceiver (2324), optionally via a dongle (2311) connected to the computer device (2301). 7. Een aanwijsinrichting (2303) volgens één der voorgaande conclusies, waarbij de aanwijsinrichting een USB HID-klasse apparaat is of compatibel is met USB HID klasse apparaten.A pointing device (2303) as claimed in any preceding claim, wherein the pointing device is a USB HID class device or is compatible with USB HID class devices. 108108 BE2017/5896BE2017 / 5896 8. Een computersysteem omvattende:8. A computer system comprising: - een computerinrichting (2301);- a computer device (2301); - een eerste en een tweede aanwijsinrichting (2303) volgens één der voorgaande conclusies, verbonden met de computerinrichting (2301);- a first and a second pointing device (2303) according to any one of the preceding claims, connected to the computer device (2301); - optioneel omvattende een weergave-inrichting;- optionally comprising a display device; - optioneel omvattende een toetsenbord.- optionally comprising a keyboard. 9. Een computersysteem volgens conclusie 8, waarbij de computerinrichting een processor omvat die een besturingssysteem met een grafische gebruikersinterface uitvoert dat een native muiscursor verschaft, waarbij de processor verder een overlay-applicatie uitvoert, waarbij de overlay-applicatie een venster verschaft dat geconfigureerd is in doorklikmodus, welk venster tenminste één ander zichtbaar voorwerp bevat, en waarbij de overlay-applicatie een positie aanpast van de native muiscursor in overeenstemming met bewegingen van de eerste aanwijsinrichting of de tweede aanwijsinrichting dewelke het meest recent bewogen en/of bediend werd, en een positie aanpast van het minstens één ander zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting.A computer system according to claim 8, wherein the computer device comprises a processor that executes an operating system with a graphical user interface that provides a native mouse cursor, the processor further executing an overlay application, the overlay application providing a window configured in click-through mode, which window contains at least one other visible object, and wherein the overlay application adjusts a position of the native mouse cursor in accordance with movements of the first pointing device or the second pointing device which was most recently moved and / or operated, and a position adjusts the at least one other visible object in accordance with movements of the second pointing device. 10. Een computersysteem volgens conclusie 8 of 9, waarbij de eerste aanwijsinrichting en de tweede aanwijsinrichting USB HID-klasse apparaten zijn of compatibel zijn met USB HID klasse apparaten;A computer system according to claim 8 or 9, wherein the first pointing device and the second pointing device are USB HID class devices or are compatible with USB HID class devices; en waarbij de computerinrichting ten minste een eerste USB-poort omvat voor verbinding met de eerste aanwijsinrichting, en een tweede USB-poort voor verbinding met de tweede aanwijsinrichting.and wherein the computer device comprises at least a first USB port for connection to the first pointing device, and a second USB port for connection to the second pointing device. 11. Een set van onderdelen omvattende:11. A set of components comprising: - een computerprogrammaproduct voor het verschaffen van een overlay-applicatie, waarbij de overlay-applicatie een venster verschaft dat geconfigureerd is in doorklikmodus, welk venster tenminste één ander zichtbaar voorwerp bevat, en waarbij de overlay-applicatie een positie aanpast van de native muiscursor in overeenstemming met bewegingen van de eerste aanwijsinrichting of de tweede aanwijsinrichting dewelke het meest recent bewogen en/of bediend werd, en een positie aanpast van het minstens één ander zichtbaar voorwerp in overeenstemming met bewegingen van de tweede aanwijsinrichting;- a computer program product for providing an overlay application, wherein the overlay application provides a window configured in click-through mode, which window contains at least one other visible object, and wherein the overlay application adjusts a position of the native mouse cursor in accordance with movements of the first pointing device or the second pointing device which was most recently moved and / or operated, and adjusts a position of the at least one other visible object in accordance with movements of the second pointing device; - twee aanwijsinrichtingen volgens één der conclusies 1 tot 7.- two indicating devices according to one of claims 1 to 7.
BE2017/5896A 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT BE1025593B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/650,085 US20200233504A1 (en) 2017-09-29 2018-09-24 Method and device and system for providing dual mouse support
PCT/EP2018/075838 WO2019063496A1 (en) 2017-09-29 2018-09-24 Method and device and system for providing dual mouse support
NL2021696A NL2021696B1 (en) 2017-09-29 2018-09-25 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
BE201705695 2017-09-29
BE2017/5694 2017-09-29
BE201705694 2017-09-29

Publications (2)

Publication Number Publication Date
BE1025593A1 BE1025593A1 (en) 2019-04-24
BE1025593B1 true BE1025593B1 (en) 2019-04-29

Family

ID=61556987

Family Applications (11)

Application Number Title Priority Date Filing Date
BE2017/5895A BE1025591B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE20175899A BE1025596A9 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2017/5896A BE1025593B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2017/5891A BE1025609B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5898A BE1025594B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2017/5894A BE1025685B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5893A BE1025590B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5892A BE1025610B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5897A BE1025601B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2018/5041A BE1025598B1 (en) 2017-09-29 2018-01-25 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE20185848A BE1026358B1 (en) 2017-09-29 2018-12-02 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BE2017/5895A BE1025591B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE20175899A BE1025596A9 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT

Family Applications After (8)

Application Number Title Priority Date Filing Date
BE2017/5891A BE1025609B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5898A BE1025594B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2017/5894A BE1025685B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5893A BE1025590B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5892A BE1025610B1 (en) 2017-09-29 2017-12-04 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE2017/5897A BE1025601B1 (en) 2017-09-29 2017-12-04 METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
BE2018/5041A BE1025598B1 (en) 2017-09-29 2018-01-25 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE
BE20185848A BE1026358B1 (en) 2017-09-29 2018-12-02 METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE

Country Status (2)

Country Link
BE (11) BE1025591B1 (en)
NL (5) NL2021695B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0538745A2 (en) * 1991-10-21 1993-04-28 International Business Machines Corporation Method for buffering high bandwidth data from an input device
EP0635780A1 (en) * 1993-07-21 1995-01-25 Xerox Corporation User interface having clicktrough tools that can be composed with other tools
JPH1083253A (en) * 1996-09-10 1998-03-31 Hitachi Ltd Information processor
US7928959B1 (en) * 2005-05-05 2011-04-19 Imi Innovations Inc. System and method for multiple independent computer inputs using unique device and source identification systems

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283560A (en) * 1991-06-25 1994-02-01 Digital Equipment Corporation Computer system and method for displaying images with superimposed partially transparent menus
US5442376A (en) * 1992-10-26 1995-08-15 International Business Machines Corporation Handling multiple command recognition inputs in a multi-tasking graphical environment
US5638501A (en) * 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
CA2124505C (en) 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US5666499A (en) * 1995-08-04 1997-09-09 Silicon Graphics, Inc. Clickaround tool-based graphical interface with two cursors
US6118427A (en) * 1996-04-18 2000-09-12 Silicon Graphics, Inc. Graphical user interface with optimal transparency thresholds for maximizing user performance and system efficiency
GB2313682B (en) * 1996-05-29 2001-01-10 Icl Personal Systems Oy Personal computer systems
JPH1173294A (en) * 1997-08-25 1999-03-16 Internatl Business Mach Corp <Ibm> Pointing device and method therefor
US6151030A (en) * 1998-05-27 2000-11-21 Intel Corporation Method of creating transparent graphics
US6333753B1 (en) 1998-09-14 2001-12-25 Microsoft Corporation Technique for implementing an on-demand display widget through controlled fading initiated by user contact with a touch sensitive input device
US6232957B1 (en) * 1998-09-14 2001-05-15 Microsoft Corporation Technique for implementing an on-demand tool glass for use in a desktop user interface
US6509889B2 (en) * 1998-12-03 2003-01-21 International Business Machines Corporation Method and apparatus for enabling the adaptation of the input parameters for a computer system pointing device
US6981229B1 (en) * 2000-04-28 2005-12-27 Alias Systems Corp. System for dynamically mapping input device movement as a user's viewpoint changes
US20020167534A1 (en) * 2001-05-10 2002-11-14 Garrett Burke Reading aid for electronic text and displays
US7620915B2 (en) * 2004-02-13 2009-11-17 Ludwig Lester F Electronic document editing employing multiple cursors
US7802265B2 (en) * 2004-03-15 2010-09-21 Imi Innovations, Inc. Computer interface system using multiple independent graphical data input devices
JP2007180641A (en) * 2005-12-27 2007-07-12 Sony Corp Imaging apparatus and display method of imaging apparatus
US8360779B1 (en) * 2006-12-11 2013-01-29 Joan Brennan Method and apparatus for a reading focus card
US8130194B1 (en) * 2006-12-18 2012-03-06 Imi Innovations, Inc. Non-mouse devices that function via mouse-like messages
US9442648B2 (en) * 2008-10-07 2016-09-13 Blackberry Limited Portable electronic device and method of controlling same
US20110035700A1 (en) * 2009-08-05 2011-02-10 Brian Meaney Multi-Operation User Interface Tool
US8717289B2 (en) * 2010-06-22 2014-05-06 Hsni Llc System and method for integrating an electronic pointing device into digital image data
KR101204186B1 (en) * 2010-08-03 2012-11-23 정환희 Cursor displaying methode on display unit and recording medium having cursor displaying program
US20120054672A1 (en) * 2010-09-01 2012-03-01 Acta Consulting Speed Reading and Reading Comprehension Systems for Electronic Devices
US8866854B2 (en) * 2011-10-31 2014-10-21 Microsoft Corporation Consolidated orthogonal guide creation
US8990736B2 (en) * 2012-01-09 2015-03-24 International Business Machines Corporation Fast cursor location
US9564085B2 (en) * 2012-05-27 2017-02-07 Dialog Semiconductor Inc. Selective dimming to reduce power of a light emitting display device
US10915698B2 (en) * 2013-12-31 2021-02-09 Barnes & Noble College Booksellers, Llc Multi-purpose tool for interacting with paginated digital content
KR102212562B1 (en) * 2014-05-23 2021-02-08 삼성디스플레이 주식회사 Method of processing an image and an image processing device for performeing the same
KR102253444B1 (en) * 2014-07-08 2021-05-20 삼성디스플레이 주식회사 Apparatus, method, computer-readable recording medium of displaying inducement image for inducing eye blinking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0538745A2 (en) * 1991-10-21 1993-04-28 International Business Machines Corporation Method for buffering high bandwidth data from an input device
EP0635780A1 (en) * 1993-07-21 1995-01-25 Xerox Corporation User interface having clicktrough tools that can be composed with other tools
JPH1083253A (en) * 1996-09-10 1998-03-31 Hitachi Ltd Information processor
US7928959B1 (en) * 2005-05-05 2011-04-19 Imi Innovations Inc. System and method for multiple independent computer inputs using unique device and source identification systems

Also Published As

Publication number Publication date
BE1025601B1 (en) 2019-04-29
BE1025609B1 (en) 2019-04-29
BE1025593A1 (en) 2019-04-24
BE1025610B1 (en) 2019-04-29
BE1025591A1 (en) 2019-04-24
BE1025601A1 (en) 2019-04-24
BE1025596B1 (en) 2019-04-29
BE1026358A1 (en) 2020-01-14
NL2021699B1 (en) 2019-04-08
NL2021698B1 (en) 2019-04-08
BE1025685B1 (en) 2019-06-11
BE1026358B1 (en) 2020-01-20
NL2021695B1 (en) 2019-04-08
BE1025596A1 (en) 2019-04-24
BE1025594A1 (en) 2019-04-24
BE1025596A9 (en) 2019-05-06
BE1025598A1 (en) 2019-04-24
BE1025590B1 (en) 2019-04-29
BE1025591B1 (en) 2019-04-29
BE1025590A1 (en) 2019-04-24
BE1025609A1 (en) 2019-04-25
BE1025594B1 (en) 2019-04-29
NL2021697B1 (en) 2019-04-08
NL2021696B1 (en) 2019-04-08
BE1025685A1 (en) 2019-06-03
BE1025610A1 (en) 2019-04-25
BE1025598B1 (en) 2019-04-29

Similar Documents

Publication Publication Date Title
US9389777B2 (en) Gestures for manipulating tables, charts, and graphs
US8549443B2 (en) Zeroclick
US20130132885A1 (en) Systems and methods for using touch input to move objects to an external display and interact with objects on an external display
US20110202830A1 (en) Insertion point bungee space tool
BE1026977B1 (en) METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
US20210026508A1 (en) Method, device and computer program for overlaying a graphical image
WO2019063496A1 (en) Method and device and system for providing dual mouse support
BE1025593B1 (en) METHOD AND DEVICE AND SYSTEM FOR PROVIDING DOUBLE MOUSE SUPPORT
EP3683659A1 (en) Method and device and system with dual mouse support
NL2022859B1 (en) WORKING METHOD AND EQUIPMENT AND SYSTEM WITH DOUBLE MOUSE SUPPORT
NL2022858B1 (en) WORKING METHOD AND EQUIPMENT AND SYSTEM WITH DOUBLE MOUSE SUPPORT
US20200233504A1 (en) Method and device and system for providing dual mouse support
KR101529886B1 (en) 3D gesture-based method provides a graphical user interface
BE1025952B1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR OVERLAYING A GRAPHIC IMAGE

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20190429

MM Lapsed because of non-payment of the annual fee

Effective date: 20211231