Почему мой регулятор яркости Thinkpad пропускает шаги?

Проблема: на моем ноутбуке есть 16 уровней яркости, но нажатие горячих клавиш Fn+Home, Fn+End регулирует яркость 3 шага одновременно (например, от 0 до 3 или от 15 до 12). ).

Я считаю важным отметить, что на горячих клавишах экрана входа в систему работает нормально . Но после входа в систему это странное поведение появляется.

Кроме того, , если я выделю фокус меню (например, нажмите на меню Файл в Firefox), горячие клавиши будут работать нормально .

xdotool key XF86MonBrightnessDown работает нормально, регулируя яркость на 1 шаг (проверено с помощью cat /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/brightness).

Я также установил indicator-brightness - он показывает 16 уровней (0-15).

Я попытался установить acpi_backlight=vendor в grub (вдохновлено этой темой: http://ubuntuforums.org/showthread.php?t=1909184 с похожей проблемой). Это работало в том, что горячие клавиши стали работать нормально. Но возникли проблемы с уведомлением OSD, xdotool и индикатором яркости. Поэтому я думаю, что это не правильное решение.

Кажется, что после входа что-то вмешивается в схему обработки горячих клавиш. Есть идеи?

Редактировать (дополнительная информация)

  • Я заметил, что горячие клавиши работают на аппаратном уровне - я могу регулировать яркость сразу после включения ноутбука (например, в экран BIOS).

  • После $ killall gnome-settings-daemon горячие клавиши регулируют яркость на один шаг, но уведомления не появляются. Вскоре gnome-settings-daemon восстанавливается, и возвращается тройной шаг.

  • acpi_listen дает следующий вывод (обе клавиши последовательно):

    $ acpi_listen
    ibm/hotkey HKEY 00000080 00001010
    video LCD0 00000086 00000000
    ibm/hotkey HKEY 00000080 00001011
    video LCD0 00000087 00000000
    

    В этот момент я подумал, что (1) горячие клавиши работают на аппаратном уровне; (2) ibm/hotkey заботится о горячих клавишах; (3) video тоже заботится. Таким образом, возникает проблема тройного шага.

    Я пытался добавить видео в черный список (ожидал, что это приведет к двухэтапному поведению), но ничего не изменилось.

В качестве обходного пути я создал свои собственные горячие клавиши в CompizConfig Settings Manager - как описано здесь , но с аргументом --clearmodifiers:

xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown

Так что теперь я могу либо используйте начальные горячие клавиши, либо новые для более точных настроек.

Открытые вопросы

Уже было обсуждение случая с двойным шагом: Lenovo ThinkPad, функциональные клавиши яркости делают два шага вместо одного, ища обходное решение :

аппаратное обеспечение просто делает это, а затем также посылает сигнал о том, что кнопка нажата. Возможно, вы могли бы сбросить ярлык в Системе -> Настройки -> Сочетания клавиш для этого действия?

Но мне не терпится узнать,

  1. Почему я получаю [ 1147] тройной шаг вопроса?
  2. Как я могу снять обработку этих горячих клавиш?

Я был бы очень признателен, если бы кто-нибудь это объяснил.

15
задан 13 April 2017 в 15:24

4 ответа

Где делают 3 шага для 1 нажатия клавиши прибывают из?

Вы получаете три шага яркости для одного нажатия клавиши потому что:

  1. Стандартный драйвер ACPI/video корректирует шаг 1
  2. thinkpad_acpi драйвер говорит BIOS корректировать шаг 2, но все еще передает событие нажатия клавиши
  3. Демон питания GNOME прерывает это нажатие клавиши и говорит ACPI корректировать еще раз шаг 3

1. Отключите видеодрайвер от корректирующейся яркости самостоятельно

Это избавляется от одного из трех шагов (шаг 1) выше.

  • Откройте терминал
  • Ввести sudo sh -c 'echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled'
  • Тест, теперь у Вас должна быть регулировка яркости на шагах два
  • Автоматически отключить это на запуске, открытом /etc/rc.local в Вашем любимом редакторе, и перед последней строкой (exit 0), добавьте:

    echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled

2. Перекомпилируйте thinkpad_acpi модуль для решения проблемы двойного нажатия

  • Мы должны остановиться thinkpad_acpi от корректировки яркости через BIOS и имеют, это только передает нажатие клавиши GNOME, так, чтобы GNOME внес единственную корректировку ступить
  • Это - известная ошибка, которая была исправлена в ядре 3.4 +
  • Для фиксации его для Ubuntu 12.04/точных у нас будет патч ее версией thinkpad_acpi и перекомпилируйте его:

    1. Установите заголовки ядрa: sudo apt-get install linux-headers-$(uname -r)
    2. Инструменты сборки установки sudo apt-get install build-essential
    3. Сделайте временный каталог и изменение в нем:
      mkdir ~/tpacpi-bright && cd ~/tpacpi-bright
    4. Загрузите и исправьте исходный файл thinkpad_acpi.c из репозитория мерзавца Ядра Ubuntu:

      wget -O- "http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-precise.git;\
      a=blob_plain;f=drivers/platform/x86/thinkpad_acpi.c;hb=HEAD"\
      | sed -e 's/tp_features.bright_acpimode && acpi_video/acpi_video/g' \
      > thinkpad_acpi.c
    5. В той же папке, где thinkpad_acpi.c был загружен, Вам будет нужен "Make-файл". Можно загрузить его непосредственно с этого Pastebin, с помощью:

      wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT

    ИЛИ вставьте ниже в названный файл Makefile, :

    obj-m += thinkpad_acpi.o
    all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
    clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
    1. Теперь введите make создать модуль; Вы будете видеть a thinkpad_acpi.ko файл в папке при выполнении.
  • Протестируйте исправленный модуль после загрузки его с:

    sudo rmmod thinkpad_acpi && sudo lsmod thinkpad_acpi.ko
  • Если яркость теперь фиксируется и дает Вам полный контроль, замените модуль запаса исправленным модулем:

    TPDIR=/lib/modules/$(uname -r)/kernel/drivers/platform/x86
    sudo mv $TPDIR/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko.stock
    sudo mv ~/tpacpi-bright/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko
    
  • Можно очистить папку сборки с make clean; имейте в наличии его для будущих обновлений ядра!

14
ответ дан 13 April 2017 в 15:24

В моем ноутбуке Lenovo S205 у меня была эта проблема, когда и видеодрайвер, и гном регулировали яркость.

Но мой опыт отключения свойства brightness_switch_enabled заключается в том, что gnome работает медленно и выглядит неестественно при обновлении подсветки - например, если я оставлю клавиши на пару секунд и затем отпущу, gnome по-прежнему занимает 5- 10 секунд, чтобы обработать события.

Поэтому вместо этого я предпочитаю, чтобы видеодрайвер делал настройки, и мешал гному делать их.

sudo chmod -x /usr/lib/gnome-settings-daemon/gsd-backlight-helper

Отключение gsd-backlight-helper помогло мне. Я просканировал интернет и, похоже, пользователь не мог сделать то же самое.

Я потерял OSD яркости, но теперь изменения яркости обрабатываются мгновенно, и в качестве бонуса у меня все еще есть контроль яркости на tty.

0
ответ дан 13 April 2017 в 15:24

У меня была та же проблема, что и у вас, плюс моя система всегда запускалась с выключенным экраном.

Я хотел бы поблагодарить вас за то, что вы указали мне правильное направление, acpi_backlight=vendor помогли мне без каких-либо проблем, с которыми вы столкнулись. Я использую HP G7 1116sg с гибридной графикой (Intel HD3000 (в настоящее время использую Intel только из-за гибридных проблем в Ubuntu. Я говорю это только потому, что X220 указан как имеющий тот же графический адаптер) / Radeon HD6870) и Ubuntu 12.04.

Просто хотел сказать, что изменения grub сработали для меня без каких-либо явных проблем.

Удачи в поиске решения.

0
ответ дан 13 April 2017 в 15:24

Установка /sys/module/video/parameters/brightness_switch_enabled в 0 делает меня неспособным вообще управлять яркостью на моем Thinkpad X230 с помощью сочетаний клавиш, как в tty, так и в xfce 4.10. Мне пришлось сказать xfce4-power-manager не менять яркость на ключевых событиях. Вы можете сделать это, установив один из двух скрытых ключей конфигурации. Первый:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/change-brightness-on-key-events -s false

А второй:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/show-brightness-popup -s false

Примечание: обе эти настройки отключают всплывающий экран яркости в моей системе, но по крайней мере я получаю все 16 уровней яркости назад!

Вы можете прочитать больше об этой проблеме на на этой странице и на внизу этой страницы .

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: