public RawKeyInputEventArg(RawStuff.InputDevice.KeyControlEventArgs rawE) { this.DeviceHnd = rawE.Keyboard.deviceHandle.ToInt64(); try { this.Key = (Key)Enum.Parse(typeof(Key), rawE.Keyboard.vKey); } catch (Exception e) { } }
private void addToBuffer(RawStuff.InputDevice.KeyControlEventArgs e) { string s = cvt.ConvertToString(e.Keyboard.key); Keys k = (Keys)cvt.ConvertFromString(s); if (e.Keyboard.deviceName != bufferDeviceName) { bufferDeviceName = e.Keyboard.deviceName; buffer = ""; } switch (k) { case Keys.D0: case Keys.D1: case Keys.D2: case Keys.D3: case Keys.D4: case Keys.D5: case Keys.D6: case Keys.D7: case Keys.D8: case Keys.D9: s = k.ToString().Substring(1); if (buffer.Length == 0) { bufferStart = DateTime.Now; } buffer += s; bufferLast = DateTime.Now; break; case Keys.Enter: bufferLast = DateTime.Now; TimeSpan ts = bufferLast.Subtract(bufferStart); if (buffer.Length > 4 && ts.TotalSeconds < 1) { // hurray! bufferReady = true; } break; default: buffer = ""; bufferStart = bufferLast = DateTime.MinValue; break; } }
private void _KeyPressed(object sender, RawStuff.InputDevice.KeyControlEventArgs e) { if (scannerDeviceName == null) { addToBuffer(e); if (bufferReady) { scannerDeviceName = bufferDeviceName; callEvent(getBuffer()); } processed = true; } else { if (e.Keyboard.deviceName == scannerDeviceName) { processed = true; addToBuffer(e); if (bufferReady) { callEvent(getBuffer()); } } } }
////////////////////////////////////////////////////////////////////////////////// private void onRawKeyDown_callback(object sender, RawStuff.InputDevice.KeyControlEventArgs e) { //string[] tokens = e.Keyboard.Name.Split(';'); //string token = tokens[1]; if (onRawKeyDown != null) { onRawKeyDown(sender,new RawKeyInputEventArg(e)); } }