Als je net als mij een scrollwheel / scrollwieltje op je tobo hebt zitten, wil daar natuurlijk ook gebruik van kunnen maken (pageup/down is leuk, maar niet alles)
Nou is er echter 1 klein probleempje, bij Microsoft toetsenborden (en waars. ook bij Logitech?) > Wanneer je gebruik maakt van het wieltje word er een bericht door de message que van windows gestuurd een zogenaamd WM_MOUSEWHEEL bericht (waarbij ergens in de wparam aangegeven is wat de snelheid richting is), dit in tegen stelling tot andere toetsen op het bord, waarbij scan codes gemapped worden naar virtuel key code (VK_ messages) door de driver. Met andere woorden, in windows word het wieltje gebruikt alsof het een muis wieltje is. Dit is niet handig en ook niet praktisch in het geval je het wieltje voor andere doeleinden wilt gebruiken, denk aan
ff / rewind in winamp, volume up /down (mischien in combinatie met alt/ctrl toetsen - of middle mouse + keyb.scroll) enzovoort enzovoort, zo zijn er nog wel twintig dingen die je kan verzinnen.
Je kan in principe software voor een muiswieltje er voor gebruiken, indien er niet naar bepaalde bit waarden in de wparam/lparam gekeken word (ergens in 1 van de bits is wel aangegeven dat het om een keyboard wiel gaat) maar dan is de kans groot dat je muiswiel en tobowiel het zelfde doen...
Zo kan je bijv. 'Mouse Wheel Control' gebruiken om in winamp te ff'en / rewinden - je kan met dit programma je 'wheel berichten overriden' laat ik het zo even noemen.
Ik heb zoals jullie kunnen lezen het 1 en ander hier voor uitgezocht, imho zou er gewoon een goede driver voor dit wieltje moeten komen. (oftewel een mouse hook driver, wat de wm_mousewheel berichten kan 'lezen' en daarbij normale muis wheel berichten door laat. zodat je het wieltje op je tobo voor andere dingen kan gebruiken dan het wiel op je muis. Vervolgens kan je deze 'scroll events' natuurlijk ook mappen naar bepaalde dingen -> sendkeys/dde berichten, uitvoeren van programma's)
Ik heb er inmiddels wat tijd in gestoken, ik programmeer zelf in C#.. en ben wel een beetje bekend met de windows message que. Het is echter redelijk wat werk om een goede 'hooker' te schrijven met behulp van de w32 api.. mijn vraag concreet is, weet iemand of er al software hier voor bestaat? (heb me lam gezocht..) zijn er mensen die zich geroepen voelen om mee te helpen met het schrijven van een fatsoenlijke driver? (hoe zit het met de wieltjes op logitech borden, en die van andere fabrikanten -> mischien dat we 'meerdere vliegen in een klap kunnen vangen' ?)
(NOTE: ik gebruik zelf momenteel 'Mouse Wheel Control' zodat ik in winamp kan rw/ff'en, dit werkt om te beginnen wel ok, voelt vrij analoog en direct aan, maar is natuurlijk verre van ideaal. Bied niet genoeg mogelijkheden.)
Nou is er echter 1 klein probleempje, bij Microsoft toetsenborden (en waars. ook bij Logitech?) > Wanneer je gebruik maakt van het wieltje word er een bericht door de message que van windows gestuurd een zogenaamd WM_MOUSEWHEEL bericht (waarbij ergens in de wparam aangegeven is wat de snelheid richting is), dit in tegen stelling tot andere toetsen op het bord, waarbij scan codes gemapped worden naar virtuel key code (VK_ messages) door de driver. Met andere woorden, in windows word het wieltje gebruikt alsof het een muis wieltje is. Dit is niet handig en ook niet praktisch in het geval je het wieltje voor andere doeleinden wilt gebruiken, denk aan
ff / rewind in winamp, volume up /down (mischien in combinatie met alt/ctrl toetsen - of middle mouse + keyb.scroll) enzovoort enzovoort, zo zijn er nog wel twintig dingen die je kan verzinnen.
Je kan in principe software voor een muiswieltje er voor gebruiken, indien er niet naar bepaalde bit waarden in de wparam/lparam gekeken word (ergens in 1 van de bits is wel aangegeven dat het om een keyboard wiel gaat) maar dan is de kans groot dat je muiswiel en tobowiel het zelfde doen...
Zo kan je bijv. 'Mouse Wheel Control' gebruiken om in winamp te ff'en / rewinden - je kan met dit programma je 'wheel berichten overriden' laat ik het zo even noemen.
Ik heb zoals jullie kunnen lezen het 1 en ander hier voor uitgezocht, imho zou er gewoon een goede driver voor dit wieltje moeten komen. (oftewel een mouse hook driver, wat de wm_mousewheel berichten kan 'lezen' en daarbij normale muis wheel berichten door laat. zodat je het wieltje op je tobo voor andere dingen kan gebruiken dan het wiel op je muis. Vervolgens kan je deze 'scroll events' natuurlijk ook mappen naar bepaalde dingen -> sendkeys/dde berichten, uitvoeren van programma's)
Ik heb er inmiddels wat tijd in gestoken, ik programmeer zelf in C#.. en ben wel een beetje bekend met de windows message que. Het is echter redelijk wat werk om een goede 'hooker' te schrijven met behulp van de w32 api.. mijn vraag concreet is, weet iemand of er al software hier voor bestaat? (heb me lam gezocht..) zijn er mensen die zich geroepen voelen om mee te helpen met het schrijven van een fatsoenlijke driver? (hoe zit het met de wieltjes op logitech borden, en die van andere fabrikanten -> mischien dat we 'meerdere vliegen in een klap kunnen vangen' ?)
(NOTE: ik gebruik zelf momenteel 'Mouse Wheel Control' zodat ik in winamp kan rw/ff'en, dit werkt om te beginnen wel ok, voelt vrij analoog en direct aan, maar is natuurlijk verre van ideaal. Bied niet genoeg mogelijkheden.)