De Human Interface Device specificaties voor USB hebben geleid tot één connector voor toetsenborden, muizen en trackballs, en ook gamecontrollers, tablets, aanraakschermen, enz. in plaats van de vele verschillende types connectoren als in het verleden. Het uitpluizen van de geheimen van deze interface helpt dan om toepassingen op slimme wijze te kunnen verbeteren, zoals bij deze Raspberry Pi Pico man-in-the-middle key remapper!

Je hebt vast die zeer veelzijdige macro-toetsenborden wel eens gezien, zoals de Stream Deck serie van Corsair, die je een extra set toetsen bieden - doorgaans tussen de 6 en 15 toetsen - die je aan elke taak op je pc kunt toewijzen.

Maar soms wilde ik nog wat meer maatwerk, bijvoorbeeld nog meer toetsen. Of om de mogelijkheid te hebben om op zo’n toets in te drukken zonder mijn vingers van de ‘home row’ op mijn toetsenbord te hoeven halen. Ook kan het toevoegen van veel meer toetsen leuk zijn, vooral als je een kick krijgt van het werken in 'the bathroom of Darth Vader' (schuldig!). Maar soms wil je je gewoon goed kunnen concentreren, en naar het scherm blijven kijken, en je handen op het toetsenbord houden. Dan heb je iets nodig dat tussen het toetsenbord en de computer kan worden geplaatst om toetsaanslagen te onderscheppen, bij voorkeur via USB, om dan een andere instructie door te geven aan de pc, toegesneden op wat moet worden gedaan.

 

De Fedoriyński oplossing

Welnu, dankzij Jacek Fedoriyński is veel van dat uitzoekwerk al gedaan, gebaseerd op de ons allen bekende Raspberry Pi Pico!

 
20221207120623_hid-remapper-1.png
HID remapper dongle neatly houses a Raspberry Pi Pico. Source: Jacek Fedoryński’s GitHub.

Omdat de dongle volledig op hardware is gebaseerd maakt hij geen gebruik van gecompliceerde sneltoets-apps of scripts, maar werkt hij op elke computer - Windows / Mac / Linux (good-old Raspberry Pi) - die een USB-ingang heeft voor human interface apparaten, zoals toetsenborden, muizen en trackballs.
 

Waar te vinden

Jacek heeft alle bronfiles op zijn GitHub-pagina geplaatst, en het ontwerp ook uitgebreid met old-school seriële toetsenbordinvoer, en met Bluetooth. In het brede scala aan versies die hij heeft uitgewerkt kun je óf een óf twee Raspberry Pi Pico’s gebruiken, die laatste optie biedt onder andere meer compatibiliteit.
 
20221207121046_hid-dual-diagram.png
De versie van de dongle met twee Raspberry Pi Picos. Bron: Jacek Fedoryński

Configuratie interface

Een andere geweldige optie is dat u, bij het programmeren van de dongle, geen handmatige instellingen hoeft te doen in daartoe willekeurig geformatteerde firmware bestanden. Hij is namelijk volledig configureerbaar via een slimme webinterface, die in Chrome draait, en gebruik maakt van WebHID.
20221207121258_image.png
Schermafbeelding van de HID Remapper Configuration app, werkend in Chrome. Bron.

Dit is iets waar ik al een tijdje mee aan de slag wilde, en Jacek heeft mijn project nu gewoon een stuk makkelijker gemaakt. Ik streef nu naar een voetschakelaar die, wanneer ik die indruk, mijn hele toetsenbord in een macro-toetsenbord transformeert, zodat ik niet 6 of 15, maar meer dan 100 speciale functietoetsen tot mijn beschikking heb. En dat mijn gewone toetsenbord weer terug is zodra ik die voetschakelaar weer loslaat. Ook dat ik nooit meer de home row hoef te verlaten om een macro in een fractie van een seconde uit te voeren, en ik nooit meer een van de speciale sneltoetsen van mijn besturingssysteem hoef aan te passen, of opnieuw toe te wijzen.

Nogmaals dank aan Jacek voor het tackelen van deze uitdaging, wat het leven voor ons allen nu makkelijker maakt!

Vertaling: Marc Gauw