public void Start(bool InstallKeyboardHook) { if (HotTabDLL.IsDebugMode) { Trace.WriteLine("KeyboardHook() Start"); } if (hKeyboardHook == 0 && InstallKeyboardHook) { KeyboardHookProcedure = new HookProc(KeyboardHookProc); hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0); if (HotTabDLL.IsDebugMode) { Trace.WriteLine("ModuleName : " + Process.GetCurrentProcess().MainModule.ModuleName + ", Handle : " + GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName)); } if (hKeyboardHook == 0) { int errorCode = Marshal.GetLastWin32Error(); Stop(true, false); throw new Win32Exception(errorCode); } else { beforeKeyboardInputStateDateTime = DateTime.Now; keyboardInputState = KeyboardInputState.State_None; if (HotTabDLL.IsDebugMode) { Trace.WriteLine("Add KeyUpForHook()"); } this.KeyUpForHook += new KeyEventHandler(this.KeyboradUpHandler); // this.KeyDownForHook += new KeyEventHandler(this.KeyboradDownHandler); } } }
public virtual void OnUpdate() { m_KeyboardState = keyboardInputManager.UpdateKeyboardInputState(); ProcessKeyboardEvents(); ProcessMouseInput(); LightList <UIElement> bindingUpdateList = BuildBindingUpdateList(m_ElementsThisFrame.Count > 0 ? m_ElementsThisFrame[0] : null); RunBindings(bindingUpdateList); if (!IsDragging) { ProcessMouseEvents(); } else { RunMouseEvents(m_ExitedElements, InputEventType.MouseExit); } ProcessDragEvents(); RunWriteBindingsAndReleaseList(bindingUpdateList); List <UIElement> temp = m_ElementsLastFrame; m_ElementsLastFrame = m_ElementsThisFrame; m_ElementsThisFrame = temp; for (int i = 0; i < m_ElementsLastFrame.Count; i++) { if (m_ElementsLastFrame[i].isDisabled || m_ElementsLastFrame[i].isDestroyed) { m_ElementsLastFrame.RemoveAt(i--); } } m_ElementsThisFrame.Clear(); m_EnteredElements.Clear(); m_ExitedElements.Clear(); if (IsMouseLeftUpThisFrame) { m_MouseDownElements.Clear(); } }
public void ResetInputState() { inputState = new KeyboardInputState(); }
public MockKeyboardInputManager() { inputState = new KeyboardInputState(); }
private void KeyboradUpHandler(object Asender, KeyEventArgs e) { // HotTabDLL.ShowDialogMessageBox("KeyboradUpHandler , KeyEventArgs = " + e.KeyValue + " , keyboardInputState = " + keyboardInputState); if (e.KeyValue == 541) { return; // French Mode, Because the alt key will send the code. } KeyboardInputDifferenceTime = DateTime.Now - beforeKeyboardInputStateDateTime; beforeKeyboardInputStateDateTime = DateTime.Now; if (KeyboardInputDifferenceTime.TotalMilliseconds > 200) { #if IsInstallHotTab keyboardInputState = KeyboardInputState.State_None; #endif beforeKeyboardInputStateDateTime = DateTime.Now; } else { beforeKeyboardInputStateDateTime = DateTime.Now; } // Trace.WriteLine(e.KeyValue.ToString()); switch (keyboardInputState) { #region KeyboardInputState.State_None case KeyboardInputState.State_None: // Trace.WriteLine("KeyboardInputState.State_None : " + e.KeyValue); switch (e.KeyValue) // (Translate.pdf => PS/2 Set 1 Make) 轉換表是16進位, 這邊要改成10進位的KeyValue { case 1: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_ESC, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 2: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_1, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 3: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_2, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 4: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_3, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 5: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_4, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 6: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_5, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 7: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_6, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 8: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_7, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 9: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_8, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 10: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_9, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 11: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_0, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 12: // 0C(- _) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OemMinus, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 13: // 0D(= +) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OemPlus, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 14: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_BACKSPACE, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 15: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_TAB, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 16: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Q, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 17: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_W, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 18: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_E, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 19: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_R, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 20: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_T, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 21: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Y, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 22: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_U, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 23: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_I, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 24: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_O, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 25: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_P, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 26: // 1A([ {) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OemOpenBrackets, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 27: // 1B(] }) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Oem6, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 28: // ENTER PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Enter, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 29: // CTRL // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : Ctrl"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_CTRL, 0, 0); // kenkun add for DAP7 keyboardInputState = KeyboardInputState.State_StartWithCtrl; break; case 30: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_A, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 31: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_S, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 32: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_D, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 33: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 34: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_G, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 35: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_H, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 36: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_J, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 37: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_K, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 38: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_L, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 39: // 27(; :) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Oem1, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 40: // 28(' ") PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Oem7, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 42: // Left Shift PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_SHIFT_Left, 0, 0); // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_FN, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 43: // 2B(\ |) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Oem5, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 44: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Z, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 45: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_X, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 46: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_C, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 47: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_V, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 48: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_B, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 49: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_N, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 50: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_M, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 51: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_COMMA, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 52: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_PERIOD, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 53: // 35(/ ?) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OemQuestion, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 54: // Right Shift PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_SHIFT_Right, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 55: // E0 37 (Print Screen) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_PrtScr, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 56: // ALT // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : Alt"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_ALT, 0, 0); // kenkun add for DAP7 keyboardInputState = KeyboardInputState.State_StartWithAlt; break; case 58: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_CapsLock, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 57: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_SPACE, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 59: // 3B(HEX) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F1, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 60: // 3C PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F2, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 61: // 3D PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F3, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 62: // 3E PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F4, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 63: // 3F PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F5, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 64: // 40 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F6, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 65: // 41 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F7, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 66: // 42 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F8, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 67: // 43 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F9, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 68: // 44 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F10, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 69: // E1 1D 45 / E1 9D C5 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Pause, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 72: // Up PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Up, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 75: // Left PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Left, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 77: // Right PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Right, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 80: // Down PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Down, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 82: // E0 52(Insert) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Insert, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 83: // E0 53(Delete) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_DELETE, 0, 0); // DAP7 // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_Delete, 0, 0); // Handheld NB keyboardInputState = KeyboardInputState.State_None; break; case 87: // 57 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F11, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 88: // 58 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F12, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 91: PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_MENU, 0, 0); // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_OpenMenu, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 93: // E0 5D(Apps) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Apps, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 100: // F13 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F13, 0, 0); // For FM08(FMB80) Use, Winmate kenkun add on 2015/11/25 keyboardInputState = KeyboardInputState.State_None; break; case 102: // F15 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F15, 0, 0); // For FM08(FMB80) Use, Winmate kenkun add on 2015/11/25 keyboardInputState = KeyboardInputState.State_None; break; case 115: // 0x73 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_FM08BrightnessAuto, 0, 0); // For FM08(FMB80) Use, Winmate kenkun add on 2015/11/25 keyboardInputState = KeyboardInputState.State_None; break; case 116: // 0x74 // fn + F10 Brightness Up PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_BrightnessUp, 0, 0); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_FM08BrightnessDown, 0, 0); // For FM08(FMB80) Use, Winmate kenkun add on 2015/11/25 keyboardInputState = KeyboardInputState.State_None; break; case 117: // 0x75 // fn + F11 Brightness Down PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_BrightnessDown, 0, 0); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_FM08BrightnessUp, 0, 0); // For FM08(FMB80) Use, Winmate kenkun add on 2015/11/25 keyboardInputState = KeyboardInputState.State_None; break; case 174: // fn + F8 Volume Down PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_VolumeDown, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 175: // fn + F7 Volume Up PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_VolumeUp, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; default: keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithAlt case KeyboardInputState.State_StartWithAlt: switch (e.KeyValue) { case 29: // ctrl // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : AltCtrl"); // 加了會讓複合鍵直接將CTRL跟ALT覆蓋掉, 不加按了CTRL後直接按ALT也會變複合鍵, 抓不到Keycode // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_CTRL, 0, 0); // kenkun add for DAP7 // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_ALT, 0, 0); // kenkun add for DAP7 keyboardInputState = KeyboardInputState.State_StartWithAltCtrl; break; default: keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithCtrl case KeyboardInputState.State_StartWithCtrl: switch (e.KeyValue) { case 56: // alt // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : CtrlAlt"); // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_CTRL, 0, 0); // kenkun add for DAP7 // PostMessage(hwndHotTabDLL, HotTabECEventArgs.ECEvent_ALT, 0, 0); // kenkun add for DAP7 keyboardInputState = KeyboardInputState.State_StartWithCtrlAlt; break; default: keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithAltCtrl case KeyboardInputState.State_StartWithAltCtrl: switch (e.KeyValue) { case 54: // shift // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : AltCtrlShift"); keyboardInputState = KeyboardInputState.State_StartWithAltCtrlShift; break; default: keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithCtrlAlt case KeyboardInputState.State_StartWithCtrlAlt: switch (e.KeyValue) { case 54: // shift // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : CtrlAltShift"); keyboardInputState = KeyboardInputState.State_StartWithCtrlAltShift; break; case 87: // F11 // 賓士客製版 Menu key 當 Scan key 用, Keycode : Ctrl + Alt + F11, Winmate Kenkun add on 2015/12/02 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_BARCODE, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; default: keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithAltCtrlShift case KeyboardInputState.State_StartWithAltCtrlShift: // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState KeyValue : " + e.KeyValue); // Winmate add on 2016/05/26 switch (e.KeyValue) { case 11: // 0 (PS2 Set:B) // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempMenu : PASS"); // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : ECEvent_OpenMenu"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OpenMenu, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 2: // 1 // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempUp : PASS"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_VolumeUp, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 3: // 2 // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempDown : PASS"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_VolumeDown, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 4: // 3 // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : ECEvent_F1Short"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F1Short, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 5: // 4 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F1Long, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 6: // 5 // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : ECEvent_F2Short"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F2Short, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 7: // 6 PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F2Long, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 8: // 7 // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempF3 : PASS"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F3Short, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 9: // 8 (PS2 Set:8) PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F3Long, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 10: // 9 (PS2 Set:A) // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempLeft : PASS"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Left, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 18: // e (PS2 Set:12) // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : ECEvent_Enter"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Enter, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 23: // kenkun add PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_CAMERA, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 30: // a (PS2 Set:1E) // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardInputState tempRight : PASS"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_Right, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 32: // d (PS2 Set:20) if (KEY_MenuToHome.Equals(1)) // For IBCMC Keycode Use, Winmate Kenkun add on 2015/10/06 { PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_OpenMenu, 0, 0); } else if (TestProduct.Equals("IBWH") || TestProduct.Equals("IB10")) // For HandHeld 8" / 10", Winmate kenkun modify on 2016/08/16 { PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_VolumeUp, 0, 0); } keyboardInputState = KeyboardInputState.State_None; break; case 34: // kenkun add PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F5Short, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 37: // kenkun add PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_BARCODE, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 46: // c (PS2 Set:2E) break; case 48: // b (PS2 Set:30) break; case 49: // kenkun add PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_F4Short, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; case 50: // m (PS2 Set:32) // if (HotTabDLL.IsDebugMode) Trace.WriteLine("KeyboardHook : ECEvent_HomeKeyEvent"); PostMessage(hwndHotTabDLL, KeyboardHookEventArgs.ECEvent_HomeKeyEvent, 0, 0); keyboardInputState = KeyboardInputState.State_None; break; } break; #endregion #region KeyboardInputState.State_StartWithCtrlAltShift case KeyboardInputState.State_StartWithCtrlAltShift: switch (e.KeyValue) { case 23: // i keyboardInputState = KeyboardInputState.State_None; break; case 24: // o keyboardInputState = KeyboardInputState.State_None; break; case 18: // e keyboardInputState = KeyboardInputState.State_None; break; default: keyboardInputState = KeyboardInputState.State_None; break; } #endregion break; } }