Есть usb клавиатура sven, у которой встроена подсветка всех клавиш.
Подсветка имеет 4 состояния (3 цвета и выкл.), они переключаются специальной кнопкой "LED ILLUMINATION".
Очень хочется заставить клавиатуру автоматически менять цвет в зависимости от раскладки.
Как получить текущую раскладку я уже знаю, но как переключить цвет (или даже включить-выключить подсветку) я не нашел.
Перебирал разные коды клавиш из /usr/include/linux/input.h
...
#define KEY_FAVORITES 0x16c
#define KEY_EPG 0x16d
#define KEY_PVR 0x16e /* Media Select Home */
#define KEY_MHP 0x16f
#define KEY_LANGUAGE 0x170
#define KEY_TITLE 0x171
#define KEY_SUBTITLE 0x172
#define KEY_ANGLE 0x173
#define KEY_ZOOM 0x174
#define KEY_MODE 0x175
#define KEY_KEYBOARD 0x176
...
пробовал нажимать программно все подряд, что может быть этой кнопкой.
аналогично
#define LED_NUML 0x00
#define LED_CAPSL 0x01
#define LED_SCROLLL 0x02
#define LED_COMPOSE 0x03
#define LED_KANA 0x04
#define LED_SLEEP 0x05
#define LED_SUSPEND 0x06
#define LED_MUTE 0x07
#define LED_MISC 0x08
#define LED_MAIL 0x09
#define LED_CHARGING 0x0a
#define LED_MAX 0x0f
#define LED_CNT (LED_MAX+1)
(только вызов через событие EV_LED, а не EV_KEY как с кнопками)
Пробовал такое:
xset led 1
xset led 2
xset led 3
xset led 4
xset led 5
...
xset led 31
xset led 32
Нашел что есть такая константа Qt::Key_KeyboardLightOnOff , но c Qt не сталкивался.
Пробовал по примеру найденному на SO, но так не работает:
from PyQt4.QtNetwork import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
app = QApplication(sys.argv)
pressed_r = QKeyEvent(QEvent.KeyPress, Qt.Key_KeyboardLightOnOff)
QApplication.sendEvent(QLineEdit(''), pressed_r)
file=QFile('yandex.html')
if file.open(QIODevice.WriteOnly):
http=QHttp()
http.setHost(adress.text())
http.get('/',file)
http.close()
file.close()
app.exec_()
(python)
Пользователь решил продолжить мысль 13 Июня 2013, 13:54:33:
Клавиатура sven 7600 EL
Написал производителю,
саппорт ответил следующее:
Переключение подсветки исполнено на аппаратном уровне и программного
доступа к ней нет.