Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Аппаратная подсветка клавиатуры: управление программно  (Прочитано 2460 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн farrier

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
    • блог
Есть 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
Написал производителю,
саппорт ответил следующее:
Цитировать
Переключение  подсветки  исполнено на аппаратном уровне и программного
доступа к ней нет.
« Последнее редактирование: 13 Июня 2013, 13:54:33 от farrier »

Оффлайн viktand

  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Если не боитесь паяльника, то можно пожертвовать одним светодиодом (например Scroll Lock), добавить электронный ключ для замыкания кнопки управления подсветкой (один транзистор и несколько резисторов). В этом случае можно будет переключать цвет управляя включением/выключением светодиода.

 

Страница сгенерирована за 0.643 секунд. Запросов: 26.