Ejemplo n.º 1
0
        /// <summary>
        /// 初始化第二键盘
        /// </summary>
        private void InitSecondKeyBoard()
        {
            UInt32 LastErrCode;

            byte[] sdk_version = new byte[POC_API.HIT_MAX_LIB_VER_STR_LENGTH];
            LastErrCode = POC_API.poc_get_version(POC_API.POC_KEYBOARD_PID_SECOND, sdk_version);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                //弹框
                Console.WriteLine("SecondKeyBoard Fails to get SDK version " + TranslateErrorCode(LastErrCode));
                return;
            }

            Console.WriteLine("SecondKeyBoard Version" + System.Text.Encoding.ASCII.GetString(sdk_version));

            LastErrCode = POC_API.poc_init(POC_API.POC_KEYBOARD_PID_SECOND);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                //弹框
                Console.WriteLine("SecondKeyBoard Fails to init library " + TranslateErrorCode(LastErrCode));
                return;
            }
            else
            {
                sdk_init_second_once = true;
            }

            byte[] fw_version = new byte[POC_API.HIT_MAX_FW_VER_STR_LENGTH];
            LastErrCode = POC_API.poc_get_firmware_version(POC_API.POC_KEYBOARD_PID_SECOND, fw_version);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                Console.WriteLine("SecondKeyBoard Firmware Version:Unknown");
            }
            else
            {
                Console.WriteLine("SecondKeyBoard Firmware Version:" + System.Text.Encoding.ASCII.GetString(fw_version));
            }

            byte[] board_name = new byte[POC_API.HIT_MAX_BOARD_NAME_STR_LENGTH];
            LastErrCode = POC_API.poc_get_board_name(POC_API.POC_KEYBOARD_PID_SECOND, board_name);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                Console.WriteLine("SecondKeyBoard Board Name:Unknown");
            }
            else
            {
                Console.WriteLine("SecondKeyBoard Board Name:" + System.Text.Encoding.ASCII.GetString(board_name));
            }

            unsafe
            {
                OnKeycodeDelegateCallbackSecond = new POC_API.keycode_event_callback(keycode_event);
            }
            LastErrCode = POC_API.poc_set_keycode_callback(POC_API.POC_KEYBOARD_PID_SECOND, OnKeycodeDelegateCallbackSecond);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                //弹框
                Console.WriteLine("Fails poc set keycode callback: " + LastErrCode.ToString("X8"));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 卸载键盘
 /// </summary>
 public void UnLoadKeyBoard()
 {
     CloseSecondKeyBoardAllLed();
     CloseMainKeyBoardAllLed();
     if (sdk_init_main_once && sdk_init_second_once)
     {
         UInt32 LastErrCode = POC_API.poc_deinit(POC_API.POC_KEYBOARD_PID);
         if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
         {
             //弹框
             Console.WriteLine("Fails to deinit library " + TranslateErrorCode(LastErrCode));
         }
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取主键盘LED灯状态
        /// </summary>
        /// <param name="ledNumber">键盘灯编号 0 1 2</param>
        /// <returns></returns>
        public byte GetMainKeyboardLedStatus(int ledNumber)
        {
            if (!sdk_init_main_once)
            {
                return(0);
            }
            UInt32 LastErrCode;
            byte   ledStatus;

            switch (ledNumber)
            {
            case 0:
                //LED 1
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID, POC_API.led_enum.POC_LED_PIN1, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 1, " + LastErrCode.ToString("X8"));
                }
                break;

            case 1:
                //LED 2
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID, POC_API.led_enum.POC_LED_PIN2, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 2, " + LastErrCode.ToString("X8"));
                }
                break;

            case 2:
                //LED 3
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID, POC_API.led_enum.POC_LED_PIN3, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 3, " + LastErrCode.ToString("X8"));
                }
                break;

            default:
                ledStatus = 0;
                break;
            }
            return(ledStatus);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 同时关闭第二键盘LED
        /// </summary>
        public void CloseSecondKeyBoardAllLed()
        {
            if (!sdk_init_second_once)
            {
                return;
            }
            UInt32 LastErrCode;

            bool[] LedID = new bool[6] {
                false, false, false, false, false, false
            };

            LastErrCode = POC_API.poc_set_all_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_SECONDBOARD_LED_NUM, LedID);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                MessageBox.Show("Fails to set all led " + LastErrCode.ToString("X8"));
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 同时打开第二键盘LED
        /// </summary>
        /// <param name="ledCount">1 2 3 4 5 6 </param>
        public void OpenSecondKeyBoardAllLed(int ledCount)
        {
            if (!sdk_init_second_once)
            {
                return;
            }
            UInt32 LastErrCode;

            bool[] LedID = new bool[6];

            for (int i = 0; i < ledCount; i++)
            {
                LedID[i] = true;
            }
            LastErrCode = POC_API.poc_set_all_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_SECONDBOARD_LED_NUM, LedID);
            if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
            {
                MessageBox.Show("Fails to set all led " + LastErrCode.ToString("X8"));
            }
            return;
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 设置第二键盘LED灯
        /// </summary>
        /// <param name="ledNumber">0 1 2 3 4 5</param>
        public bool SetSecondKeyboardLedStatus(int ledNumber, bool isOpen)
        {
            if (!sdk_init_second_once)
            {
                return(false);
            }
            UInt32 LastErrCode;

            bool result = false;

            switch (ledNumber)
            {
            case 0:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN1);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN1);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;

            case 1:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN2);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN2);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;

            case 2:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN3);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN3);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;

            case 3:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN4);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN4);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;

            case 4:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN5);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN5);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;

            case 5:
                if (isOpen)
                {
                    LastErrCode = POC_API.poc_led_on(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN6);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                else
                {
                    LastErrCode = POC_API.poc_led_off(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN6);
                    if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                    {
                        //弹框
                        Console.WriteLine("Fails to set HIT_LED_PIN " + LastErrCode.ToString("X8"));
                    }
                    else
                    {
                        result = true;
                    }
                }
                break;
            }
            return(result);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 获取第二键盘LED灯状态
        /// </summary>
        /// <param name="ledNumber">0 1 2 3 4 5</param>
        /// <returns></returns>
        public byte GetSecondKeyboardLedStatus(int ledNumber)
        {
            if (!sdk_init_second_once)
            {
                return(0);
            }

            UInt32 LastErrCode;

            byte ledStatus;

            switch (ledNumber)
            {
            case 0:
                //LED 1
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN1, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 1, " + LastErrCode.ToString("X8"));
                }
                break;

            case 1:
                //LED 2
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN2, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 2, " + LastErrCode.ToString("X8"));
                }

                break;

            case 2:
                //LED 3
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN3, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 3, " + LastErrCode.ToString("X8"));
                }
                break;

            case 3:
                //LED 4
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN4, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 4, " + LastErrCode.ToString("X8"));
                }
                break;

            case 4:
                //LED 5
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN5, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 5, " + LastErrCode.ToString("X8"));
                }
                break;

            case 5:
                //LED 6
                LastErrCode = POC_API.poc_get_led_status(POC_API.POC_KEYBOARD_PID_SECOND, POC_API.led_enum.POC_LED_PIN6, out ledStatus);
                if (LastErrCode != POC_API.POC_ERR_NO_ERROR)
                {
                    //弹框
                    Console.WriteLine("Fails to get HIT_LED_PIN 6, " + LastErrCode.ToString("X8"));
                }
                break;

            default:
                ledStatus = 0;
                break;
            }

            //if (ledStatus == 1)
            //{
            //    SecondKeyBoardArr[ledNumber] = true;
            //}
            return(ledStatus);
        }