Visa ett inlägg
Oläst 2008-02-25, 21:43 #1
oddholst oddholst är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 127
oddholst oddholst är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 127
Hej.

Jag har nu införskaffat mig en Magtek Sureswipe USB-ansluten HID-kompatibel magnetkortsläsare för att leka lite med men för senare användning i ett projekt jag arbetar med.

Jag håller på att bygga ett javascript-program som skall fånga upp tecknen som läsaren "knappar in" på tangentbordet, då den emulerar ett tangentbord.

Så, scriptet fungerar nu så att den bevakar varje knapptryckning. Om den nu skulle stöta på ett starttecken eller teckensekvens, tillexempel tecknet (%) (obs, ej paranteserna), så håller den inne på detta tecken och tar en tidsstämpel. Sen mäter den tiden tills nästa tecken matas in. Om tiden understiger 40 ms så triggas scriptet och går in i ett "inläsningsläge" där all data från "tangentbordet" lagras i en variabel tills [enter] dyker upp. Då avslutas inläsningsläget och något annat händer med den inlästa datan, tex behandlas av en funktion.

Problemet är att när jag håller inne på starttecknet och det skulle visa sig att det går mer än 40 ms tills nästa tecken knappas in så har denna teckeninmatning gått förlorad. Jag kan alltså inte knappa in något på sidan som innehåller något av triggtecknen.

****** HÄR ÄR FRÅGAN!!! ******
Kan jag på något sätt tömma min hålla-tecken-i-väntan-på-nästa-tecken-stack som om de vore en riktig tangentbordstryckning med hjälp av javascript?

Man kan även använda scriptet för att fånga streckkodsdata med samma metod, är det tänkt. Där är det dock lättare eftersom man kan programmera streckkodsscannern att skicka ett starttecken som tex sällan eller aldrig används av normala användare.
oddholst är inte uppkopplad   Svara med citatSvara med citat