Пример #1
0
 private static void TimerCallBack(object inf)
 {
     if (IsMonitorInit)
     {
         //-- только если задан обработчик событий нажатия клавиш
         if (KeyProcessorMetod != null)
         {
             if (LogitechSDK.LogiLcdIsButtonPressed(LogitechSDK.LOGI_LCD_MONO_BUTTON_0))
             {
                 KeyProcessorMetod(0);
             }
             if (LogitechSDK.LogiLcdIsButtonPressed(LogitechSDK.LOGI_LCD_MONO_BUTTON_1))
             {
                 KeyProcessorMetod(1);
             }
             if (LogitechSDK.LogiLcdIsButtonPressed(LogitechSDK.LOGI_LCD_MONO_BUTTON_2))
             {
                 KeyProcessorMetod(2);
             }
             if (LogitechSDK.LogiLcdIsButtonPressed(LogitechSDK.LOGI_LCD_MONO_BUTTON_3))
             {
                 KeyProcessorMetod(3);
             }
         }
     }
 }
Пример #2
0
        /// <summary>
        /// Инициализация физического монитора. Автоматически создается логический монитор с именем MAIN (последнее не реализовано)
        /// </summary>
        /// <param name="Spl">Splash-изображение, выводимое при инициализации монитора. Если не задано, то монитор просто очищается.</param>
        /// <param name="KeyProcessor">Ссылка на метод - процессор, обрабатывающий нажатия клавиш на мониторе клавиатуры</param>
        /// <returns>"Истина" в случае успешной инициализации.</returns>
        public static bool InitLogitechMonitor(Bitmap Spl = null, LogitechLCDKeyProcessor KeyProcessor = null)
        {
            var res = false;

            //-- если растр не задан - используем очистку
            if (Spl == null)
            {
                SplashBmp = Properties.Resources.cls;
            }
            else
            {
                SplashBmp = Spl;
            }
            //-- установка процессора, если он не задан, (по умолчанию), то и эффекта не будет
            KeyProcessorMetod = KeyProcessor;
            IsMonitorInit     = TryInitLogitechMonitor();
            //-- если монитор вообще подсоединен, то ..
            if (IsMonitorInit)
            {
                //-- пытаемся его инициализировать
                if (LogitechSDK.LogiLcdIsConnected(LogitechSDK.LOGI_LCD_TYPE_MONO))
                {
                    //-- запуск таймера опроса состояния нажатий кнопок на экране клавиатуры
                    lcdButtonsTimer.Change(1000, 250);
                    //          LogitechSDK.LogiLcdMonoSetBackground(BitmapToByteRgbNaive(SplashBmp));
                    LogitechSDK.LogiLcdMonoSetBackground(BitmapToByteRgb(SplashBmp));
                    LogitechSDK.LogiLcdUpdate(LogitechSDK.LOGI_LCD_TYPE_MONO);
                    //--создание основного логического монитора.
                    //MMS.Add("MAIN", new MonitorMONO(Spl) { Active=true });
                }
                res = true;
            }
            return(res);
        }
Пример #3
0
 public static void DeInitLogitechMonitor()
 {
     //-- удаление таймера
     lcdButtonsTimer.Dispose();
     if (LogitechSDK.LogiLcdIsConnected(LogitechSDK.LOGI_LCD_TYPE_MONO))
     {
         IsMonitorInit = false;
         LogitechSDK.LogiLcdShutdown();
     }
 }
Пример #4
0
 /// <summary>
 /// Отображение битовой матрицы на экране монитора
 /// </summary>
 /// <param name="View"></param>
 public static void Paint(byte[] View)
 {
     if (IsMonitorInit)
     {
         try
         {
             LogitechSDK.LogiLcdMonoSetBackground(View);
             LogitechSDK.LogiLcdUpdate(LogitechSDK.LOGI_LCD_TYPE_MONO);
         }
         catch (Exception e)
         {
             //throw;
         }
     }
 }
Пример #5
0
 /// <summary>
 /// Очистка физического монитора
 /// </summary>
 public static void ClearMonitor()
 {
     SplashBmp = Properties.Resources.cls;
     //-- если монитор вообще подсоединен, то ..
     if (IsMonitorInit)
     {
         {
             try
             {
                 LogitechSDK.LogiLcdMonoSetBackground(BitmapToByteRgb(SplashBmp));
                 LogitechSDK.LogiLcdUpdate(LogitechSDK.LOGI_LCD_TYPE_MONO);
             }
             catch (Exception e)
             {
             }
         }
     }
 }
Пример #6
0
 public static bool TryInitLogitechMonitor()
 {
     // Поскольку у меня нет никакого другого варианта клавиатуры - я отлаживаю только для монохромного, уж извините )))
     return(LogitechSDK.LogiLcdInit("KBD_LCD", LogitechSDK.LOGI_LCD_TYPE_MONO));//|LogitechSDK.LOGI_LCD_TYPE_COLOR);
 }