Quick Key Adapter, 10 knappen HID tangentbord (4 / 7 steg)
Steg 4: Firmware
Enhetens design är baserad på den låga Pin räkna Development Kit maskinvaran från Microchip, Microchip lösningar har exempel program för denna Utvecklingskit så det är ganska lätt att få dem köra på enheten omfattas i detta Instructable.
Vid tillämpningen av detta projekt använde jag exemplet USB-enhet - HID - tangentbord för låg Pin räkna Development Kit. Men det finns olika andra enheter som kan programmeras på denna hårdvara/enhet, något som skulle kunna använda 10 kopplingsingångar.
Ingår i ZIP på steg 1 är MPLAB projektfiler, måste du installera den senaste versionen av MPLAB och den senaste versionen av C18 kompilator. Mikrochip nedladdningar kan hittas här
Firmware översikt:
Medföljande projektfilerna togs och modifierad från microchips exempelkod. De hade skrev det på ett sätt så det kan köras på flera olika PIC enheter, så det finns en hel del extra kod som inte behövs. Resten är mestadels USB med koden, den enda funktion som ändrades var funktionen Keyboard().
ProcessIO() -> Keyboard() -> Check om i slutpunkten är klar -> Kontrollera växlar -> Skicka Data -> ProcessIO()
Den växlar staten kontrolleras och jämfört med deras tidigare tillstånd. om staterna skiljer sig kommer att växeln anses tryckte och fylla en data buffert med/det krävs data så skicka den. Sedan fortsätta kontrollera växlarna.
hid_report_in [0] = är den modifier byten, det rymmer statligt av SKIFT, alt, ctrl, gui(windows) nycklar
hid_report_in [1] = 0; är reserverade och alltid 0
hid_report_in [2] via [7] / / kan vara en keycode, upp till 6 nycklar kan pressas och rapporteras på en gång
Se "HID användning tabeller" pg. 52 för nyckelkoderna
Modifieraren nyckel diagram:
Bitarsnyckel
0 VÄNSTER CTRL
1 VÄNSTER SKIFT
2 VÄNSTER ALT
3 VÄNSTER GUI
4 HÖGER CTRL
5 RÄTT SHIFT
6 RÄTT ALT
7 RÄTT GUI
Exempel:
hid_report_in [0] = 4; Alt
hid_report_in [0] = 8. L GUI
hid_report_in [0] = 7. Ctrl + alt + SKIFT
Vissa kommandon behöver en andra nyckel skickas eller viktiga combo skickas, genom att fylla data-byte NextModKey och NextKey sedan ange AnotherFlag -flaggan i firmware, efter det primära kommandot skickas det kommer att sända en annan rapport med dessa viktiga värden.
Som minimerar fönstret vilket Windows snabbtangenten Alt + blanksteg, tryck på n.