问题:我的笔记本电脑上有 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
Run Code Online (Sandbox Code Playgroud)
此时我认为(1)热键在硬件级别工作;(2)ibm/hotkey照顾热键;(3) 也video照顾。因此,出现了三步问题。
我尝试将视频列入黑名单(我预计这会导致双步行为),但没有任何改变。
作为一种变通方法,我创建了CompizConfig设置管理器中我自己的热键-描述在这里,但--clearmodifiers参数:
xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown
Run Code Online (Sandbox Code Playgroud)
所以现在我可以使用初始热键或新热键进行更精细的调整。
已经讨论了双步的情况:联想ThinkPad,亮度功能键使两步而不是一步,寻找解决方法:
硬件只是这样做,然后还会发出一个信号,表明按钮已被按下。也许您可以在系统 -> 首选项 -> 键盘快捷键中取消设置此操作的快捷方式?
但我很想知道,
如果有人解释,我将不胜感激。
ish*_*ish 14
一次按键可以获得三个亮度等级,因为:
thinkpad_acpi司机告诉BIOS调整第2步,但仍转发按键事件这摆脱了上述三个步骤(步骤 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
thinkpad_acpi模块,解决双按问题thinkpad_acpi通过 BIOS 调整亮度,让它只将按键转发到 GNOME,这样 GNOME 才进行唯一的调整步骤为了在 Ubuntu 12.04/Precise 上修复它,我们将修补它的版本thinkpad_acpi并重新编译它:
sudo apt-get install linux-headers-$(uname -r)sudo apt-get install build-essentialmkdir ~/tpacpi-bright && cd ~/tpacpi-bright
thinkpad_acpi.c从 Ubuntu 内核 git 存储库下载并修补源文件:
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
在thinkpad_acpi.c已下载的同一文件夹中,您将需要一个“Makefile”。你可以直接从这个Pastebin下载它,使用:
wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT
或将以下内容粘贴到名为Makefile,的文件中:
obj-m += thinkpad_acpi.o
全部: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) 模块
干净的: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
make以创建模块;完成后,您将thinkpad_acpi.ko在文件夹中看到一个文件。加载后测试修补模块:
须藤 rmmod thinkpad_acpi && 须藤 lsmod thinkpad_acpi.ko
如果亮度现在固定并且可以让您完全控制,请使用修补模块替换库存模块:
TPDIR=/lib/modules/$(uname -r)/kernel/drivers/platform/x86 须藤 mv $TPDIR/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko.stock 须藤 mv ~/tpacpi-bright/thinkpad_acpi.ko $TPDIR/thinkpad_acpi.ko
您可以使用以下命令清理构建文件夹make clean;保留它以备将来的内核升级!
| 归档时间: |
|
| 查看次数: |
6514 次 |
| 最近记录: |