Esempio n. 1
0
 internal SendMakeCommand(KeyStroke keyStroke, KeyboardManager keyboardManager, int keyboardNumber)
 {
     _keyStroke = keyStroke;
     _keyboardManager = keyboardManager;
     _keyboardNumber = keyboardNumber;
 }
        public static BitArray GetConnectedKeyboard()
        {
            var anyActive = false;

            var keyboardsStatus = new BitArray(10, false);

            var km = new KeyboardManager();
            var keyStroke = new KeyStroke();

            km.ListenKeyBoard();
            for (int i = 0; i < keyboardsStatus.Length; i++)
            {
                keyStroke.code = 42;
                keyStroke.state = Keyboard.States.MAKE;

                if (km.SendKeystroke(keyStroke, i))
                {
                    if (!anyActive)
                    {
                        anyActive = true;
                        _firstKeyboardActive = i;
                    }
                    //finish the keystroke
                    keyStroke.state = Keyboard.States.BREAK;
                    km.SendKeystroke(keyStroke, i);

                    keyboardsStatus[i] = true;
                }

            }
            km.StopListenKeyBoard();
            return keyboardsStatus;
        }