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.

Se Steg
Relaterade Ämnen

HacKeyboard, ett mekaniskt tangentbord byggs från grunden

Hej Karl "instructablers"! I detta instructable jag ska presentera ett helt nytt projekt som jag har just avslutat. I själva verket använder jag själva projektet för att skriva detta instructable. Jag presenterar för er den fantastiska, fantasti...

Vänster 4 Dead PC Co-op med 2 tangentbord och 2 möss

kärlek L4D? Vill spela på en PC med 2 spelare, 2 tangentbord och 2 möss? Följ mig, till frihet från registeransvarige.Bakgrund:Left 4 Dead har haft en funktion som inte stöds från allra första demo som tillåter individer att spela med två spelare på...

Programmerbara tangentbord

jag nyligen fick en praktikplats med ett företag som är återförsäljare av produkter såsom hydraulik, pneumatik och olika andra mekaniska och elektriska apparater. Mitt senaste uppdrag var definitivt fungerar för praktikant. De har en webbutik med tio...

DIY 3D lutningssensorn

Hur man bygger en DIY 3D tilt sensor Bluetooth HID controllerKul, pedagogiska att bygga, och lite som magi. Kolla denna video av DIY 3D tilt sensor ansluten till Philips nyans. Projektet syftar till att göras i en FabLab (Zürich representerar!) med e...

USB-Biofeedback Game Controller

bygger på våra senaste tutorial, som lärt dig hur man bygger en muskel sensor, har vi beslutat att ge dig ett projekt som verkligen visar upp kraften i våra muskler (EMG) sensorer. Advancer Technologies "USB-Biofeedback Game Controller" utnyttja...

Tabell Top Touchscreen MAME Arcade

Detta projekt startade mer så eftersom jag hade en hel del delar som skulle kunna utnyttjas i arcade mer så då min önskan att äga mitt eget MAME Arcade. Så mitt mål var att spendera så lite som möjligt och utnyttja så många delar/material jag hade re...

Att förhindra gränsen effekt

Anmärkning för mobila användare: bilden ovan är en videodemonstration. Du kan se det här.Har du någonsin undrat varför du verkar glömma något mycket viktigt när du anger ett nytt rum? Inte det någonsin få irriterande när your'e söker efter något som...

Retro Pi Cam

konvertera en gammal twin lins reflex i en digitalkamera med en raspberry pi.Undertiteln "Instagram möter Lomo" :-)(Såvitt jag kan förstå, Lomography är återupptäckten av Analog fotografering av en generation som aldrig upplevt roligt filmkamero...

USB-spelkontroll med Tilt-accelerometer mus

Göra en spelkontroll med en accelerometer inuti!Detta projektet handledning visar dig hur du kan konvertera en konsol spelkontroll till ett USB-tangentbord mus för att spela spel på din PC. USB-spelkontroll kan användas med nästan alla program, till...

PC fjärrkontrollen med hjälp av Arduino Pro Micro

Hej jag är ny till arduino och håller på att lära sig, som många jag lär dig genom tutorials, video, "ibles och av egen erfarenhet.Nyligen ville jag använda arduino Uno och IR-fjärr till kontroll VLC spelaren. Tyvärr fungerade detta inte bra för mig...

Använda pcDuino som en mus när dess anslutna till en dator via USB OTG-

i modem liv, våra händer är låsta av datorer. Kunde vi göra datorer smartare genom att utforma en bättre människa-dator gränssnitt? I denna handledning presenterar vi en lösning med pcDuino. Samla in gest signaler av olika Arduino kompatibla sensorer...

Skapa en illustrerade eBook

efter att ha läst otaliga berättelser till min unga tvillingpojkar jag gillade tanken på att kunna läsa dem en bok deras pappa hade skrivit. Skapa en bok också kändes som ett roligt, kreativt projekt. Efter kommer upp med en idé och skriva ut jag var...

Hur man byter en diskbänk blandare

Har din köksblandare sprungit Läck och ditt band jobb är inte bara skära? Idag, ska jag visa dig hur du kan spara lite pengar ersätter din köksblandare i mindre än en timme.Steg 1: Titta på video!Titta på Youtube-video!Steg 2: Identifiera misslyckade...

Pianorgan Vintage Media Hub

det är mycket svårt att installera moderna underhållning enheter i det "formella" vardagsrummet utan att ta bort några av dess status. Män är generellt blinda för detta och skulle utan att tveka, installera en glänsande svart 50" TV på vägg...

Börjar Microcontrollers del 1

Detta är först i en lång rad av tutorials syftade till att ge Nybörjarguide och handledning kring Atmel AVR Atmega32 mikrokontroller. Jag kommer att visa dig, genom exempel och projekt, hur program och tillhandahålla funktioner för denna mikrokontrol...

Styra en dator med din hjärna!

Styra datorn med ditt sinne definitivt verkar som något fortfarande ur en science fiction-film, men tankekontroll är faktiskt en relativt enkel och billig sak att utföra. Använda en billig EEGEN leksak, låt oss använda kraften i vårt sinne för att sk...

Hur man gör en snabb nyckel "Skanna stå" för iPhone 4/4S/5

jag backas en kicken project för en ny smartphone app för lärare kallas "Snabb nyckel": "snabb nyckel gör din telefon till en optisk scanner till grade frågesporter, tester och undersökningar på papper, upp till 30 frågor lång. Sedan kan sn...

Hemgjord Raspberry Pi billig fall DIY Home Theater PC HTPC under 1$

Hemgjord Raspberry Pi billigt fall DIY från täcka rutan ADSL Modem sönderdelade, mycket billigt förHome Theater PC HTPC DIY (ca 1$)-Raspberry Pi 2 modul ca 35 USD köpa från EBay, nätadapter,HDMI-Adapter till VGA kabel, tangentbord, mus... HTPC under...

Mini Pinball Tablet skåp

inspirerad av Mini flipperspel här:Jag beslutade att ge detta ett försök med en Lödfritt version. Tack till Pascal för att arbeta med mig att förena några problem hade jag med hans PinballButtons.apk.Tips och varningar:1. du måste installera PinballB...