Gå til innhold

Hooke et bestemt USB "tastatur"?


Anbefalte innlegg

Skrevet

Jeg har en strekkodeleser som kobles til via USB, og installeres som et vanlig USB tastatur. Strekkodeleseren skal ligge i CD-skapet og brukes til å scanne strekkoder bak platene. Når koden blir scannet finner programvaren ut hvilken CD det er snakk om og spiller den som MP3-fil fra disk eller Spotify.

 

Dette fungerer så lenge markøren er satt i tekstboksen sin. Men flyttes den, fungerer det ikke lenger. Derfor ønsker jeg en "global hook" på denne USB HID-dingsen. Jeg har funnet et bibliotek for slikt (her: http://labs.mikeobrien.net/Document.aspx?id=hidlibrary ), og får det sånn noenlunde til å koble til strekkodeleseren.

 

 

Føles som jeg mangler noe. Det er ingen rutine som kan trigge når USB-dingsen leser noe. Hva har jeg glemt å tenke på?

Videoannonse
Annonse
Skrevet

Jo men du setter jo ikke en global hook på enter... Kun i tekstboksen som skal ta imot strekkoden... En "enter" i denne boksen vil sannsynligvis bety "jeg har skrevet inn strekkoden, finn den" eller noe slikt..

 

-C-

Skrevet

Kanskje ikke noe egentlig løsning dette, men sjekk om du ikke kan legge opp UI slik at tekstboksen naturlig har fokus når den skal brukes.

Eventuelt har kanskje strekkodeleseren en eller annen dokumentasjon, eller SDK tilgjengelig, ettersom tastatur-oppførselen er en emuleringsdriver.

Skrevet

I de fleste slike applikasjoner jeg har sett _tvinges_ fokus til tekstboksen etter alle handlinger.

POS applikasjoner (kassaapparat) funker gjerne på denne måten. Derfor er mange funksjoner der "koder" i tekstfeltet. For eksempel kan kode 11 være en kode for rabatt. Handlingen for operatøren blir derfor: (11 = åpen rabatt i prosent)

11 <enter> 50 <enter> <skann vare>

hvorpå fokus går tilbake til tekstfeltet igjen..

 

Hvilken strekkodeleser har du? Det er mulig du kan sette den til å sende en bestemt kode i forkant av lest strekkode også.

 

-C-

Skrevet
Hvilken strekkodeleser har du? Det er mulig du kan sette den til å sende en bestemt kode i forkant av lest strekkode også.

Det har jeg ikke tenkt på! Mulig, mulig... :)

Jeg har denne scanneren.

Skrevet

Det var en innstilling for å pakke koden inn i A'er. Istedenfor 1155 blir koden A1155A (med CrLf på slutten). Det må det være mulig å filtrere på! :)

Skrevet

Mnja...

Problemet ditt er vel å hooke en eller annen "hotkey" som skal bety "nå kommer det data fra strekkodeleseren". Og å globalhooke 'A' er vel litt drastisk :)

 

Jeg heller fortsatt mot å tvinge fokus til tekstboksen, og foreta evt andre ting i modale vinduer eller noe sånt.

Evt tvinge bruker til å trykke f.eks. F12 før vedkommende scanner noe..

 

-C-

Skrevet

Programmet skal kjøre i en virtuell maskin på hjemmeserveren, så jeg anser det ikke som et veldig stort problem... Tastaturbruken er relativt minimal, men det har vist seg vanskeligere enn antatt å "garantere" at den aktuelle tekstboksen har fokus.

Skrevet

Mnja...

Problemet ditt er vel å hooke en eller annen "hotkey" som skal bety "nå kommer det data fra strekkodeleseren". Og å globalhooke 'A' er vel litt drastisk :)

 

Men det skal ikke være noen normal input som vil slutte på en stor A. Det går an å sjekke om tekststrengen i mellom er en gyldig strekkode, og gå videre derifra. Bruken av A er dog ufordelaktig, ettersom noen presterer å bruke caps lock fremdeles. Men det er et veldig lite rom for feil.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...