USB keyboard tweaken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Ik heb een pricewatch: Logitech K120 (Qwerty NL) toetsenbord. Echt een fijn toetsenbord maar deze mist een aantal knoppen voor bijvoorbeeld volume etc.

Nu had ik het idee om hier Atmega32u4 (bijvoorbeeld Arduino Micro) aan het toetsenbord vast te maken en van daaruit een paar extra keys te maken. Dit door middel van de mogelijkheid om een keyboard te emuleren met een Atmega32u4.

Is het mogelijk om de Atmega32u4 gewoon simpelweg aan de usb kabel van het toetsenbord te solderen. Zodat alles vanuit 1 kabel de pc ingaat?

Normaal gesproken dien je volgens mij een usb hub te gebruiken omdat anders de pc geen onderscheid kan maken tussen de verschillende devices. In dit geval maakt dat volgens mij niet uit omdat het volgens mij geen probleem is als de pc deze ziet als hetzelfde device.

Kan iemand mij hier meer over vertellen?

Toevoeging 20-01-2017

Voor degene die het interessant vindt:

Ik heb ontdekt dat alle multimedia keys WEL geprogrammeerd zijn in de chip in het toetsenbord. Het gaat volgens mij om deze chip: PIC24FJ64GB106. Volume up, volume down, vorige, volgende, pauze/play, stop registreert Windows allemaal als ik de goede paden met elkaar verbind.

Dit heb ik ontdekt door de paden bij de chip (26 stuks in totaal) één voor één met elkaar te verbinden. Ook knoppen zoals power, hibernate, browser refresh, launch app 1, launch app 2 zijn allemaal aanwezig.

Dit betekent dat het enige dat ik nog hoef te doen is om mijn extra drukknoppen te verbinden met de juiste paden. Iemand nog suggesties hoe ik dat het beste kan doen? Ik dacht zelf aan iets zoals kopertape plakken op het pcb en dat kopertape weer middels gesoldeerde draden verbinden met mijn extra knoppen. Dit om te zorgen dat de rest van de paden ook nog verbinding blijft maken.

Dit is de pcb dat in het keyboard aanwezig is.

(screenshot uit Youtube-filmpje.)
Afbeeldingslocatie: https://i.imgur.com/zxw9eCf.jpg

[ Voor 36% gewijzigd door Lennyz op 20-01-2017 13:36 ]


Acties:
  • +1 Henk 'm!

  • Xi-s
  • Registratie: December 2005
  • Laatst online: 23-09 13:13
Dat is een beetje alsof je op het toilet zit en ik je iets opzij schuif om er lekker naast te komen zitten op dezelfde toiletpot. Dat is niet heel wenselijk. :9

Met andere woorden, je hebt toch echt een hubje nodig om een nieuw usb-device aan te sluiten over dezelfde usb-kabel richting de pc.

Volgens mij heb je drie opties:
  • Kijken of je een nieuwe combinatie kunt vinden voor bijvoorbeeld 'volume up' op de controller van je toetsenbord en daar dan op inhaken
  • Hubje kopen (kun je erg klein vinden op bijv. Aliexpress) en pcb eruit halen en inbouwen in je toetsenbord in combinatie met een eigen microcontroller.
  • 'Volume up' of aanverwanten gewoon in software afhandelen met een toetsencombinatie.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Xi-s schreef op donderdag 19 januari 2017 @ 10:02:
Dat is een beetje alsof je op het toilet zit en ik je iets opzij schuif om er lekker naast te komen zitten op dezelfde toiletpot. Dat is niet heel wenselijk. :9

Met andere woorden, je hebt toch echt een hubje nodig om een nieuw usb-device aan te sluiten over dezelfde usb-kabel richting de pc.

Volgens mij heb je drie opties:
  • Kijken of je een nieuwe combinatie kunt vinden voor bijvoorbeeld 'volume up' op de controller van je toetsenbord en daar dan op inhaken
  • Hubje kopen (kun je erg klein vinden op bijv. Aliexpress) en pcb eruit halen en inbouwen in je toetsenbord in combinatie met een eigen microcontroller.
  • 'Volume up' of aanverwanten gewoon in software afhandelen met een toetsencombinatie.
Bedoel je met niet wenselijk dat het helemaal niet mogelijk is? Of bedoel je dat het niet standaard is? Ik ben namelijk niet op zoek naar de meest voor de hand liggende oplossing, namelijk het via de software regelen. Ik wil gewoon weer even lekker hobbyen.

Mijn vraag is dan ook of mijn idee kan werken of dat het gewoon onmogelijk is.

Acties:
  • 0 Henk 'm!

  • Foodie88
  • Registratie: September 2011
  • Laatst online: 05-08 22:13
Ik vind het wel merkwaardig dat je zulke dingen gaat doen met een toetsenbord van €13,- . Had je dan niet beter een ander toetsenbord kunnen kopen?

Of doe je het gewoon omdat je het leuk vindt om te knutselen :P

BF1 Stats


Acties:
  • +3 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Foodie88 schreef op donderdag 19 januari 2017 @ 11:07:
Ik vind het wel merkwaardig dat je zulke dingen gaat doen met een toetsenbord van €13,- . Had je dan niet beter een ander toetsenbord kunnen kopen?

Of doe je het gewoon omdat je het leuk vindt om te knutselen :P
We zitten hier toch in de elektronica sectie? Waarom is het raar om een keyboard te modden?

Acties:
  • 0 Henk 'm!

  • Foodie88
  • Registratie: September 2011
  • Laatst online: 05-08 22:13
Lennyz schreef op donderdag 19 januari 2017 @ 11:10:
[...]


We zitten hier toch in de elektronica sectie? Waarom is het raar om een keyboard te modden?
Het is niet raar op zich, maar wel 'merkwaardig' wanneer de mod je waarschijnlijk meer kost dan het keyboard zelf 8)7 Tenminste, dat vind ik !

BF1 Stats


Acties:
  • 0 Henk 'm!

  • skoozie
  • Registratie: September 2004
  • Laatst online: 03-10 21:05

skoozie

SCSI

Foodie88 schreef op donderdag 19 januari 2017 @ 11:13:
[...]


Het is niet raar op zich, maar wel 'merkwaardig' wanneer de mod je waarschijnlijk meer kost dan het keyboard zelf 8)7 Tenminste, dat vind ik !
Beter een goedkoop bord verkloten dan een duur bord :)
Xi-s schreef op donderdag 19 januari 2017 @ 10:02:
Dat is een beetje alsof je op het toilet zit en ik je iets opzij schuif om er lekker naast te komen zitten op dezelfde toiletpot. Dat is niet heel wenselijk. :9

Met andere woorden, je hebt toch echt een hubje nodig om een nieuw usb-device aan te sluiten over dezelfde usb-kabel richting de pc.

Volgens mij heb je drie opties:
  • Kijken of je een nieuwe combinatie kunt vinden voor bijvoorbeeld 'volume up' op de controller van je toetsenbord en daar dan op inhaken
  • Hubje kopen (kun je erg klein vinden op bijv. Aliexpress) en pcb eruit halen en inbouwen in je toetsenbord in combinatie met een eigen microcontroller.
  • 'Volume up' of aanverwanten gewoon in software afhandelen met een toetsencombinatie.
Een goedkope USB hub is toch ook gewoon gewoon alles aan elkaar geknoopt? dus ik zie niet in hoe zelf een usb hub maken van 2 usb kabels daar iets in veranderd. het is mooier om 4 toiletten op 1 gat te zetten, maar je kan net zo goed met ze 4-en direct in het zelfde gat schijten >:)

Diablo 3 | pc | Z.O.Z


Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 04-10 22:43

Rmg

skoozie schreef op donderdag 19 januari 2017 @ 11:23:
[...]


Beter een goedkoop bord verkloten dan een duur bord :)


[...]


Een goedkope USB hub is toch ook gewoon gewoon alles aan elkaar geknoopt? dus ik zie niet in hoe zelf een usb hub maken van 2 usb kabels daar iets in veranderd. het is mooier om 4 toiletten op 1 gat te zetten, maar je kan net zo goed met ze 4-en direct in het zelfde gat schijten >:)
Ook een goedkope usb hub is meer dan een splitter voor de kabeltjes. Je kan niet 2 devices aan 1 kabel knopen zonder hub.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
De toilet-analogie Xi-s betekent natuurlijk dat het een troep wordt als twee devices op één datalijn hun adres verbonden willen krijgen en data sturen. Ik heb het nooit geprobeerd, maar dat kán niet goed gaan.

Aan één USB-lijn mag één device hangen. Dit kan ofwel een hub zijn waar weer meerdere devices achter hangen, ofwel één HID device die al je toetscommando's afhandelt. Een hub gebruiken lijkt me veruit de makkelijkste oplossing maar voel je vrij om de controller van je toetsenbord te hacken om daar extra knoppen aan te hangen (of andersom: de toetsen van je toetsenbord aan je arduino hangen).

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
mcDavid schreef op donderdag 19 januari 2017 @ 11:27:
De toilet-analogie Xi-s betekent natuurlijk dat het een troep wordt als twee devices op één datalijn hun adres verbonden willen krijgen en data sturen. Ik heb het nooit geprobeerd, maar dat kán niet goed gaan.

Aan één USB-lijn mag één device hangen. Dit kan ofwel een hub zijn waar weer meerdere devices achter hangen, ofwel één HID device die al je toetscommando's afhandelt. Een hub gebruiken lijkt me veruit de makkelijkste oplossing maar voel je vrij om de controller van je toetsenbord te hacken om daar extra knoppen aan te hangen (of andersom: de toetsen van je toetsenbord aan je arduino hangen).
Rmg schreef op donderdag 19 januari 2017 @ 11:25:
[...]


Ook een goedkope usb hub is meer dan een splitter voor de kabeltjes. Je kan niet 2 devices aan 1 kabel knopen zonder hub.
Ik snap dat dat niet kan als je 2 verschillende soort devices aan 1 kabel willt verbinden het niet gaat werken. Maar werkt het ook niet als je bijvoorbeeld twee identieke keyboards aan 1 kabel soldeert? Worden dan niet gewoon de toetsen van beide keyboards geregistreerd omdat je pc het ziet als 1 device?

[ Voor 39% gewijzigd door Lennyz op 19-01-2017 11:29 ]


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Lennyz schreef op donderdag 19 januari 2017 @ 11:28:
[...]


[...]


Ik snap dat dat niet kan als je 2 verschillende soort devices aan 1 kabel willt verbinden het niet gaat werken. Maar werkt het ook niet als je bijvoorbeeld twee identieke keyboards aan 1 kabel soldeert? Worden dan niet gewoon de toetsen van beide keyboards geregistreerd omdat je pc het ziet als 1 device?
Nee dat zal niet werken. Ten eerste zijn je toetsenbord en Arduino niet exact dezelfde device, deze hebben een verschillend vendor-ID/device-ID. (edit: en dus ook potentieel andere drivers/standaarden voor het oversturen van toetscommando's)
Daarnaast zal een apparaat altijd een handshake moeten doen voordat er communicatie mogelijk is. USB is iets anders dan een simpel RS232-protocol (om maar wat te noemen) waar je eenvoudig data zou kunnen injecteren.
Wellicht is het wel mogelijk, maar dan moet je eerst de data die je toetsenbord verstuurt voor een bepaalde keypress reverse-engineeren en dit direct op de datalijn zetten. Simpelweg je Arduino als HID instellen won't do the trick.

[ Voor 4% gewijzigd door mcDavid op 19-01-2017 13:15 ]


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
mcDavid schreef op donderdag 19 januari 2017 @ 11:33:
[...]


Nee dat zal niet werken. Ten eerste zijn je toetsenbord en Arduino niet exact dezelfde device, deze hebben een verschillend vendor-ID/device-ID.
Daarnaast zal een apparaat altijd een handshake moeten doen voordat er communicatie mogelijk is. USB is iets anders dan een simpel RS232-protocol (om maar wat te noemen) waar je eenvoudig data zou kunnen injecteren.
Wellicht is het wel mogelijk, maar dan moet je eerst de data die je toetsenbord verstuurt voor een bepaalde keypress reverse-engineeren en dit direct op de datalijn zetten. Simpelweg je Arduino als HID instellen won't do the trick.
Dank je. Dit is het antwoord op mijn vraag.

Acties:
  • 0 Henk 'm!

  • Twam
  • Registratie: Januari 2014
  • Laatst online: 10:05
Wat dan weer wel een optie is, is de kabel van het toetsenbord vrijwel bij de behuizing afknippen, daar een USB-stekkertje op en dan direct de hub aan je toetsenbord plakken. Dan kan je de Arduino-kabel direct bij je toetsenbord in de hub steken en heb je alsnog maar 1 kabel naar je computer.

Zit je wel een eind in dezelfde richting, uiteindelijk.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 15:25

memphis

48k was toen meer dan genoeg.

Even voor je gekeken, er bestaan ook zgn multimedia keypads:
http://www.ncixbusiness.c...Keypad_19_Keys-1011198469

Of gewoon zelfbouw:
http://www.instructables.com/id/Multimedia-Keypad/

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Twam schreef op donderdag 19 januari 2017 @ 13:55:
Wat dan weer wel een optie is, is de kabel van het toetsenbord vrijwel bij de behuizing afknippen, daar een USB-stekkertje op en dan direct de hub aan je toetsenbord plakken. Dan kan je de Arduino-kabel direct bij je toetsenbord in de hub steken en heb je alsnog maar 1 kabel naar je computer.

Zit je wel een eind in dezelfde richting, uiteindelijk.
Ja inderdaad, hier zit ik ook aan te denken.
Bedankt voor je reactie. Dit was echter niet helemaal mijn vraag. Het maken van extra knoppen is niet zo moeilijk. Dit kan ik gewoon doen door een x aantal drukknopjes naast elkaar te zetten, deze te verbinden met een een Atmega32u4 (bijvoorbeeld Arduino Micro) en deze vervolgens te programmeren in Arduino IDE en dan eventueel nog instellen in Windows.

Ik vroeg mij af of ik deze chip via de usb kabel van het toetsenbord met de pc kon verbinden, zonder usb hub. Maar dat blijkt niet mogelijk te zijn.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 15:25

memphis

48k was toen meer dan genoeg.

Dan haal je zoiets op
https://www.amazon.com/Cu...ub-Splitter/dp/B00A81ISJ6

Sloop je de behuizing en de pluggen eraf waardoor die makkelijk in je keyboard gaat passen.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
memphis schreef op donderdag 19 januari 2017 @ 14:55:
Dan haal je zoiets op
https://www.amazon.com/Cu...ub-Splitter/dp/B00A81ISJ6

Sloop je de behuizing en de pluggen eraf waardoor die makkelijk in je keyboard gaat passen.
Zoiets zal het inderdaad gaan worden.

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Voor degene die het interessant vindt:

Ik heb ontdekt dat alle multimedia keys WEL geprogrammeerd zijn in de chip in het toetsenbord. Het gaat volgens mij om deze chip: PIC24FJ64GB106. Volume up, volume down, vorige, volgende, pauze/play, stop registreert Windows allemaal als ik de goede paden met elkaar verbind.

Dit heb ik ontdekt door de paden bij de chip (26 stuks in totaal) één voor één met elkaar te verbinden. Ook knoppen zoals power, hibernate, browser refresh, launch app 1, launch app 2 zijn allemaal aanwezig.

Dit betekent dat het enige dat ik nog hoef te doen is om mijn extra drukknoppen te verbinden met de juiste paden. Iemand nog suggesties hoe ik dat het beste kan doen? Ik dacht zelf aan iets zoals kopertape plakken op het pcb en dat kopertape weer middels gesoldeerde draden verbinden met mijn extra knoppen. Dit om te zorgen dat de rest van de paden ook nog verbinding blijft maken.

Dit is de pcb dat in het keyboard aanwezig is.

(screenshot uit Youtube-filmpje.)
Afbeeldingslocatie: https://i.imgur.com/zxw9eCf.jpg

[ Voor 7% gewijzigd door Lennyz op 20-01-2017 13:32 ]


Acties:
  • 0 Henk 'm!

  • Kraay89
  • Registratie: September 2012
  • Laatst online: 17-09 11:55
Lekker Hacky! leuk! 8)
Lennyz schreef op vrijdag 20 januari 2017 @ 13:29:
Ik dacht zelf aan iets zoals kopertape plakken op het pcb en dat kopertape weer middels gesoldeerde draden verbinden met mijn extra knoppen. Dit om te zorgen dat de rest van de paden ook nog verbinding blijft maken.
Waarom is gewoon direct solderen geen optie? Is het een soort connector? Al die 'blanke' strips lijken prima geschikt soldeer materiaal? Het lijkt ook groot genoeg om met de hand te kunnen, of schat ik de schaal compleet verkeerd in?

[ Voor 3% gewijzigd door Kraay89 op 24-01-2017 11:30 ]


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Kraay89 schreef op dinsdag 24 januari 2017 @ 11:28:
Lekker Hacky! leuk! 8)


[...]


Waarom is gewoon direct solderen geen optie? Is het een soort connector? Al die 'blanke' strips lijken prima geschikt soldeer materiaal? Het lijkt ook groot genoeg om met de hand te kunnen, of schat ik de schaal compleet verkeerd in?
Dat klopt. Het is een soort connector. De contactpunten van bovenstaande afbeelding moeten contact maken met onderstaande.

Afbeeldingslocatie: https://i.imgur.com/iFRg0sl.png

Ik ben dus bang dat als ik het ga solderen, dan dan de contactpunten die ik niet soldeer, geen contact meer kunnen maken vanwege het hoogteverschil. Misschien dat ik dan alle contactpunten zou moeten solderen. Maar omdat kopertape flinterdun is en weer makkelijk te verwijderen is, lijkt mij dat het wel waard om eerst te proberen.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Kopertape heeft een niet-geleidende lijmlaag dus lijkt me niet handig. Ik zou eerder wat van de solder-mask wegkrabben en dunne lakdraad op het pad zelfs solderen. UIteraard moet je daar wel voorzichtig mee zijn om het pad niet te onderbreken. En zorgen dat je een prototype-printje of iets dergelijks (waar je die draadjes op vast soldeert) die je stevig vastlijmt, zodat je niet bij de minste of geringste beweging de boel aan gort trekt.

Acties:
  • 0 Henk 'm!

  • Kraay89
  • Registratie: September 2012
  • Laatst online: 17-09 11:55
Ok, dat maakt het lastiger inderdaad. Het is wat meer werk, maar alle verbindingen met draad solderen, in plaats van de drukcontacten die het nu zijn? Het toevoegen van wat extra draadjes voor je extra knoppen is dan kinderspel. Geen idee of er ruimte is om het printplaatje ergens anders weg te proppen?
Maar omdat kopertape flinterdun is en weer makkelijk te verwijderen is, lijkt mij dat het wel waard om eerst te proberen.
Proberen kan natuurlijk altijd, maar wel wat McDavid zegt...

[ Voor 3% gewijzigd door Kraay89 op 24-01-2017 12:45 ]


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 15:25

memphis

48k was toen meer dan genoeg.

Voor dit soort werk heb je ook nog geleidend lijm.

Er zijn mensen die mij een GOD vinden

Pagina: 1