LINUX.ORG.RU

Проблема с клавишей Fn на клавиатуре Razer

 , ,


0

2

Приветствую. Используя Kubuntu 15.04 на десктопе с клавиатурой Razer Deathstalker, я столкнулся с такой проблемой: не работает клавиша Fn. Опытным путём было определено, что не работает данная клавиша лишь после перезагрузки из Windows, и лечится проблема физическим переподключением клавиатуры, после чего клавиша Fn начинает нормально функционировать. Существует ли решение, позволяющее избавиться от физического переподключения клавиатуры для возврата функциональности клавиши Fn? P.S. Данная проблема на форуме уже поднималась в теме Проблема с fn-клавишами , но тогда решения проблемы не было озвучено.



Последнее исправление: BassCreat0r (всего исправлений: 1)

Ответ на: комментарий от peregrine

Клавиатура подключена к USB 2.0. Работает аналогичным образом, как минимум, на двух разных каналах USB 2.0. К порту USB 3.0 подключать не пытался т.к. знаю о возможных проблемах, связанных с его использованием.

BassCreat0r
() автор топика

емнип

в этой клаве кнопка вырубается/переназначается программно, чтобы во время игры её случайно не нажать

быть может, внимательно поковырять настройки фирменного ПО razer в оффтопике?

fcx ★★★
()
Последнее исправление: fcx (всего исправлений: 1)
Ответ на: емнип от fcx

Данная клавиша никак не отключена/не переназначена.
Фирменного ПО Razer для linux не существует, насколько мне ивестно.

BassCreat0r
() автор топика
Ответ на: комментарий от BassCreat0r

настройки фирменного ПО razer в оффтопике?
в оффтопике

клава может быть программируемая фирменным софтом, не такая это уж и редкость

fcx ★★★
()
Ответ на: комментарий от fcx

1. Перепрограммированные под виндой клавиши работают со своей изначальной функцией под Ubuntu. Например, я переназнал функцию кавиши Caps Lock в винде, но в Ubuntu она работает стандартно.
2. После переподключения клавиатуры, клавиша Fn работает штатно, так что вряд ли здесь замешано переназначение.

BassCreat0r
() автор топика
Ответ на: комментарий от BassCreat0r

у меня стояла BlackWidow 2013, на ней Fn работала. Переназначение клавиш под Вендой канает только для моделей с наличием внутренней памяти.

Deleted
()
Последнее исправление: Lifun (всего исправлений: 1)

Опытным путём было определено, что не работает данная клавиша лишь после перезагрузки из Windows

Не использовать всякие непонятные ОС, например. Как вариант, удалить специальный софт от Razer для клавиатуры в Windows. Можешь еще попробовать переключаться в game mode, а потом на обычный режим и проверить ли заработают Fn снова или нет. (так хотя бы возможно не придется перетыкать)

anonymous_sama ★★★★★
()
Ответ на: комментарий от BassCreat0r

у BlackWidow 2013 тоже нет.
выход только один - не грузиться в Венду.

Deleted
()
Ответ на: комментарий от anonymous_sama

Ага, и использовать только эталонные клавиатуры за 100 рублей на эталонном железе и исключительно в консоли. Несерьёзно это.

Если и использовать костыли, то только автоматические.

BassCreat0r
() автор топика
Ответ на: комментарий от BassCreat0r

У меня таких проблем с Keycool Hero 104, нет. И уверен не с WASD, не с Filco не с любой другой приличной клавиатурой, - таких проблем нет. У тебя проблемы исключительно в кривом контролере Razer и фирменном софте. Можешь поискать на гитхабе, может там уже кто-то решал такую же проблему.

anonymous_sama ★★★★★
()

Судя по реверсингу моей Razer Anansi:

1. Фирменный софт никогда не переназначает клавиши - все это делается софтово. Но это КРОМЕ спец. клавиш, для которых посылка спец. пакета приводит к изменению скен-кодов на нестандартные, чтобы они не отлавливались вендой.

2. Фирменный софт при старте посылает пакеты инициализации + текущие настройки. Видимо у тебя второе и делает бяку. Но, если в венде клавиша все равно продолжает работать, то видно у нее просто появляется свой скен-код (вместо работы как модификатора кодов других клавиш). Тогда нуна копать в отлов этого кода и подвешивание на него костылей для нормальной работы. Или же, как я делал, реверсить протокол и искать возможность вернуть все взад.

З.Ы. Блин, надо свой код хоть как-то дописать и выложить.

Pavval ★★★★★
()
Последнее исправление: Pavval (всего исправлений: 1)
Ответ на: комментарий от Pavval

Существует ли возможность программного отключения питания USB порта в linux? Если да, то есть вероятность, что данная процедура перемонтирования поможет восстановить функциональность клавиши Fn, и эту процедуру можно будет автоматизировать, что является более простым путём решения этой проблемы.

BassCreat0r
() автор топика
Ответ на: комментарий от BassCreat0r

Вообще есть, это же делается для экономии энергопотребления. Скажем это (не знаю, почему auto, off не принимает):

# echo auto > /sys/bus/usb/devices/1-9/power/control
отключает питание моей мыши, но я не знаю как эти адреса на шинах формируются и не будут ли они меняться между перезапусками. В общем, я хотел показать, что можно, но детали надо искать.

xaizek ★★★★★
()
Ответ на: комментарий от BassCreat0r

Не спортивно. Взял бы и дописал поддержку своей клавы в линукс.

Pavval ★★★★★
()
Ответ на: комментарий от xaizek

Адреса устройств на шинах можно посмотреть командой:

lsusb

Мой список выглядит так:
Bus 006 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 005: ID 062a:4101 Creative Labs 
Bus 005 Device 006: ID 1532:0202 Razer USA, Ltd 
Bus 005 Device 003: ID 093a:2521 Pixart Imaging, Inc. 
Bus 005 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Но приведенная выше xaizek команда затрагивает каталог /sys/bus/usb/devices/ , листинг которого у меня выглядит так:
1-0:1.0  2-0:1.0  3-0:1.0  4-0:1.0  5-0:1.0  5-1  5-1:1.0  5-1.3  5-1.3:1.0  5-1.4  5-1.4:1.0  5-1.4:1.1  5-1.4:1.2  5-1.5  5-1.5:1.0  5-1.5:1.1  6-0:1.0  6-1  6-1:1.0  usb1  usb2  usb3  usb4  usb5  usb6

Осюда следует вопрос: как соотнести первый список со вторым?

После соотнесения данных списков остаётся лишь как-то автоматизировать перезапуск питания клавиатуры после загрузки системы. Насколько я понимаю, стоит использовать приведенные ниже команды:
echo on > /sys/bus/usb/devices/usb1/power/level       # turn on
echo suspend > /sys/bus/usb/devices/usb1/power/level  # turn off

Но куда их нужно прописать для автоматического выполнения после загрузки - мне неизвестно.

BassCreat0r
() автор топика
Ответ на: комментарий от BassCreat0r

bash скрипт и в rc.local/crontab @reboot. Не?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.