Snel belangrijke Adapter, 10 knop HID toetsenbord (4 / 7 stap)

Stap 4: Firmware



Van dit apparaat ontwerp is gebaseerd op de hardware van de lage Pin graaf Development Kit van Microchip, Microchip Solutions heeft voorbeeld programma's voor die ontwikkeling kit, dus het is vrij gemakkelijk om hen draait op het apparaat in dit Instructable aan bod.

Voordetoepassing van dit project gebruikte ik het voorbeeld van apparaat USB - HID - toetsenbord voor de lage Pin graaf Development Kit. Maar er zijn verschillende andere apparaten die op deze hardware/apparaat, iets dat 10 schakelaar ingangen gebruiken kon kunnen worden geprogrammeerd.

Opgenomen in de ZIP op stap 1 is de MPLAB project-bestanden, moet u het installeren van de nieuwste versie van MPLAB en de recentste versie van de C18-compiler. Microchip Downloads kunnen hier worden gevonden

Overzicht van de firmware:

De opgenomen projectbestanden werden gegrepen en aangepast ten opzichte van de Microchip voorbeeldcode. Ze had schreef het op een manier zodat het kan draaien op meerdere verschillende PIC apparaten, dus er is een heleboel extra code niet nodig. De rest is meestal USB gerelateerde code werd de enige functie die is bewerkt de Keyboard() functie.

ProcessIO() -> Keyboard() -> Check als IN eindpunt is klaar -> Switches controleren -> Send Data -> ProcessIO()

De schakelaars staat zijn gecontroleerd en vergeleken met hun vorige staat. Als de Staten verschillen de switch wordt beschouwd als gedrukt en zal een data buffer met de vereiste gegevens doorvoeren en vervolgens verzenden. Vervolgens doorgaan met de spellingcontrole van de schakelaars.

hid_report_in [0] = is de modifier byte, het houdt de status van shift, alt, ctrl, gui(windows) toetsen
hid_report_in [1] = 0; is gereserveerd en altijd 0
hid_report_in [2] via [7] / / kan een keycode, maximaal 6 toetsen kan worden ingedrukt en gerapporteerd tegelijk
Zie de "HID gebruik tabellen" pag. 52 voor toetscodes

Modifier key grafiek:

Bitssleutel
0 LINKS CTRL
1 LINKER SHIFT
2 ALT LINKS
3 LINKER GUI
4 JUISTE CTRL
5 RECHTS VERSCHUIVEN
6 JUISTE ALT
7 JUISTE GUI

In het volgende voorbeeld:
hid_report_in [0] = 4; ALT
hid_report_in [0] = 8; L-GUI
hid_report_in [0] = 7; CTRL + alt + shift

Sommige opdrachten moet een tweede sleutel verzonden of belangrijke combo verzonden, door de gegevensbytes NextModKey en NextKey AnotherFlag vlag vervolgens in de firmware, in te stellen nadat de primaire opdracht is verzonden, stuurt zij een ander rapport met die belangrijke waarden vullen.

Zoals minimaliseren venster waarin de Windows-sneltoets Alt + spatiebalk te drukken is, drukt u op n.

Gerelateerde Artikelen

Snelle en vuile Das Keyboard (lege toetsenbord)

Snelle en vuile Das Keyboard (lege toetsenbord)

een Das Keyboard is de naam van de meest populaire toetsenbord met geen inscripties op de toetsen (lege toetsenbord). De Das Keyboard verkoopt voor $89.95. Dit instructable zal gids u wel maken er zelf met een oude toetsenbord u hebben liggen. Het pr
Snel en comfortabel selfie knop

Snel en comfortabel selfie knop

Selfies maken nu deel uit van ons leven. Ieder graag hun selfie, zelfs groep selfie. Mensen dragen grote grote accessoires, zoals een selfie-stick met een afstandsbediening voor de sluitertijd. Hier is een eenvoudige methode om een knop die helpt om
Snelle organisator (gemaakt met een afgedankte toetsenbord)

Snelle organisator (gemaakt met een afgedankte toetsenbord)

dit is mijn tweede instructable verblijfsrecht mijn artistieke, geboren uit de noodzaak van het hebben van een organisator voor mijn gereedschappen en materialen. Dus nam ik een afgedankte ergonomisch toetsenbord, twee plastic containers (gevonden me
Maak een ThinkPad toetsenbord USB-adapter met Arduino

Maak een ThinkPad toetsenbord USB-adapter met Arduino

Onder de business klasse laptops hebben ThinkPads de beste toetsenborden. Zelfs met de wijziging eiland stijl toetsenborden, zou ik zeggen dat ThinkPad toetsenborden nog verslaan alle haar laptop concurrenten handen naar beneden in de afdeling van he
Snelle brand mod van de muis zonder een extra knop toe te voegen

Snelle brand mod van de muis zonder een extra knop toe te voegen

ik deed een snelle brand mod om mijn gehavende Logitech MX500 muis. Er zijn vele howtos rond, ik gebruikte deze:Het verschil in mijn benadering is: ik deed het zonder een extra schakelaar. Dus de muis is niet gesneden en de mod van buitenaf kan niet
PS3 Controller trillingen LEDs (+ knop ontstekingsfouten fix)

PS3 Controller trillingen LEDs (+ knop ontstekingsfouten fix)

Als je PS3 begint te duwen 4-5 jaar van gebruik, zijn uw domeincontrollers geneigd om te beginnen misdragen; knoppen start op mysterieuze wijze duwen zichzelf of duwen elkaar en soms hardnekkig weigeren te registreren een pers helemaal. Hier mijn bep
Schoon uw toetsenbord in de vaatwasser

Schoon uw toetsenbord in de vaatwasser

ik heb een toetsenbord dat werd zeer vuil met de jaren. Haar (oorspronkelijk) wit en duidelijk geval maakte het vuil zeer herkenbaar.Dus ik wilde geven de vaatwasser een keer te proberen, en zonder het nemen van elke sleutel naast--geduld zijn grenze
Het oplossen van HID conversiekit niet verlichting Up

Het oplossen van HID conversiekit niet verlichting Up

Wanneer u een adapter voor een HID conversiekitinstalleren, mei u ontmoeting naar de frustratie van het niet verlichting up. Hier zijn een paar troubleshoots dat je kunt proberen om de LED-lampen aan het licht omhoog na het installeren van de adapter
Vak van de knop van de macro voor de Smart Home

Vak van de knop van de macro voor de Smart Home

Een vak knop slaat je smartphone in veel scenario's. U hoeft niet te zoeken; u hoeft niet te ontgrendelen u hoeft niet te gaan naar de juiste app; Er is geen starten van de app en wachten tot het te laden. Veel minder stappen hebt u een tastbaar item
Knop, knop, die een knop heeft?

Knop, knop, die een knop heeft?

Zou u besteden uren verlijmen knoppen aan een stoel als het niet voor een Gorilla lijm wedstrijd was? Nou misschien. Ik eigenlijk begonnen met dit project laat een nacht en een paar dagen later kwam erachter over de lijm wedstrijd dus dit mijn inzend
USB-Biofeedback Game Controller

USB-Biofeedback Game Controller

Voortbouwend op onze laatste tutorial, die u geleerd hoe te bouwen van een spier-sensor, hebben we besloten om u een project dat echt de vitrines van de kracht van onze spier (EMG) sensoren. Advancer Technologies "USB-Biofeedback Game Controller"
Top Touchscreen MAME Arcade tabel

Top Touchscreen MAME Arcade tabel

Dit project startte meer omdat ik had een heleboel onderdelen die kunnen worden gebruikt in arcade meer zo dan mijn wens om eigen van mijn eigen MAME Arcade. Dus mijn doel was om zo weinig mogelijk besteden en gebruik maken van zo vele delen/material
Moto Droid opladen en perifere kabel

Moto Droid opladen en perifere kabel

Opmerking: dit instructable zal alleen werken voor de Motorola Droid.De Motorola Droid is onderdeel van de nieuwe generatie smartphones dat eerlijk gezegd iets kan doen. Denk aan iets wat je doen wilt, en bam! er is een manier om dat te doen.Ik ben h
Het Effect van de grens voorkomen

Het Effect van de grens voorkomen

Opmerking voor mobiele gebruikers: de afbeelding hierboven is een videomanifestatie. U kunt hierzien.Heb je je ooit afgevraagd waarom u lijken te vergeten iets zeer belangrijks zodra u een nieuwe kamer? Niet het ooit krijgen vervelend wanneer your'e