问题描述
我刚刚在我的 Samsung 900X4C 上安装了 Ubuntu 12.10。但是,我无法让键盘背光工作。
我按照 community docs – Samsung Series 9 添加了键盘映射(功能键部分)。但无论按 Fn+F9 还是 F10(背光减少/增加),我都会得到:
-
键盘没有灯
-
右上角的切换器始终将 pops-up 设为最大(即 “full light”)
如何修复键盘背光?风扇按钮 (Fn+F11) 也不起作用,如果您也了解该按钮,那就太好了。
最佳答案
几天前我购买了完全相同的型号(900X4C),并且我成功地看到 F9/F10 键可以工作,而且我什至不必安装 Voria /samsung-tools
软件包 – 我只是摆弄 /lib/udev/keymaps/samsung-other
文件和对应的force-release 文件。
不幸的是,我搞砸了安装过程(我没有在 UEFI 模式下运行 Ubuntu,并且我有交换),我决定重新安装,从那时起我无法复制工作键盘背光。
我只是觉得这可以帮助其他更有知识的人找到解决方案。
以下是我遇到的一些(也许有用)资源:
-
https://github.com/chris-martin/samsung-900x4c/tree/master/etc/udev
-
http://jablonskis.org/2011/fedora-16-linux-on-samsung-series-9-np900x3a/
-
http://everydaywithlinux.blogspot.pt/2012/10/samsung-np900x4c-and-fedora-17.html
另外,一些实验和结果……
正在做:
cat /sys/class/dmi/id/product_name
返回:
900X3C/900X3D/900X3E/900X4C/900X4D (matched by samsung-other)
全新安装 Ubuntu 13.04 并更新后,我得到的是:
-
F1
(设置)- 不起作用 -
F2
(- 屏幕亮度) -
F3
(+屏幕亮度) -
F4
(切换视频模式) -
F5
(切换触控板) -
F6
(静音) -
F7
(- 卷) -
F8
(+ 音量) -
F9
(- 键盘背光)- 不起作用 -
F10
(+ 键盘背光)- 不起作用 -
F11
(风扇/切换 CPU 速度)- 不起作用 -
F12
(切换 WiFi)- 不起作用
我还通过执行 /lib/udev/keymap -i input/event3
并在按下 FN
+ Fx
组合键时收集输出,设法获得了该模型的正确键盘映射代码:
0xCE prog1 # F1
0x89 brightnessdown # F2
0x88 brightnessup # F3
0x82 switchvideomode # F4
0xF7 f22 # F5
0xF9 f23 # F5
0xA0 mute # F6
0xAE volumedown # F7
0xB0 volumeup # F8
0x97 kbdillumdown # F9
0x96 kbdillumup # F10
0xB3 prog3 # F11, "silent" isn't recognized
0xD5 wlan # F12
您可以使用 showkey
获取按下的组合的十进制代码表示形式。
之后记得调用以下命令:
sudo udevadm control --reload-rules
sudo /lib/udev/keymap input/event3 /lib/udev/keymaps/samsung-other
我现在有点放弃这个,但如果有人做对了,请告诉我!
PS:在实验时,我注意到两件有趣的事情:
-
如果您注释并重新加载所有默认键盘映射规则,一切仍然有效(为什么?)
-
如果你使用我喜欢的 github 规则,一旦你按
F9
/F10
你就不能再在任何地方输入
第二点让我怀疑钥匙没有被释放。
# Set model specific atkbd force_release quirk
#
# Several laptops have hotkeys which don't generate release events,
# which can cause problems with software key repeat.
# The atkbd driver has a quirk handler for generating synthetic
# release events, which can be configured via sysfs since 2.6.32.
# Simply add a file with a list of scancodes for your laptop model
# in /usr/lib/udev/keymaps, and add a rule here.
# If the hotkeys also need a keymap assignment you can copy the
# scancodes from the keymap file, otherwise you can run
# /usr/lib/udev/keymap -i /dev/input/eventX
# on a Linux vt to find out.
以上摘自 /lib/udev/rules.d/95-keyboard-force-release.rules
。
次佳答案
BIOS 是否有灯光和风扇选项/设置?
只需谷歌搜索您的笔记本电脑型号即可显示结果,其中包括显示您的笔记本电脑需要一个黑暗的房间才能打开键盘背光的页面,因为有一个传感器可以根据可用的光线水平自动切换键盘背光。这可能是指示器显示亮度级别而没有明显工作背光的原因。安装 Easy Settings 后,可通过 Windows 进行这些设置。
确保您拥有准确的型号或位于适合您的特定型号的正确页面后,您可以从 manufacturers webite 下载“简易设置”。也就是说,如果您有一个 Windows 可以用来至少确认一切都按预期工作。
社区文档确认扫描码至少与 9 系列相同,并包括您的模型在配置后确认可以工作,即安装内核模块并编辑两个文件。\n这里引用 https://help.ubuntu.com/community/SamsungSeries9
尝试有条不紊地阅读给出的发布链接。尝试其他选项。即 alternative instructions 通过它链接了 previous post,它们都是按相反的时间顺序排列的,因此可能值得尝试按以下顺序读取链接:
-
https://help.ubuntu.com/community/SamsungSeries9 \n去 launchpad 火上浇油可能是件好事 \n
因此,由于 Windows 已按照上述步骤 1 预装了 UEFI
\\n
UEFI and Grub2
\\n
我知道我的笔记本电脑有 UEFI 固件支持选项,所以我打开了它,因为 UEFI 很酷,对吧?然后我发现如果使用 UEFI 子系统,fedora 会回退到使用 grub-0.9x 而不是 grub2,据我所知存在一些兼容性问题,所以我选择了传统 BIOS 选项,因为我真的很想要 grub2启动我的操作系统。
以及@MrNice here 引用的答案;
\\n
You need to not load the samsung_laptop kernel module. This module in efi mode does not work as it goes and write to parts of memory making the kernel throw a check exception and panic. Have the same issue with arch. But then you lose the keyboard backlight. Imho if you need that you will have to reinstall both windows and ubuntu in bios mode.
\\n
或者尝试不同的内核参数来加载 samsung-laptop 模块。\n引用自 http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt
\\n
Kernel Parameters
\\n2 ~~~~~~~~~~~~~~~~~
\\n3
\\n4 The following is a consolidated list of the kernel parameters as implemented
\\n5 (mostly) by the __setup() macro and sorted into English Dictionary order
\\n6 (defined as ignoring all punctuation and sorting digits before letters in a
\\n7 case insensitive manner), and with descriptions where known.
\\n8
\\n9 Module parameters for loadable modules are specified only as the
\\n10 parameter name with optional ‘=’ and value as appropriate, such as:
\\n11
\\n12 modprobe usbcore blinkenlights=1
\\n13
\\n14 Module parameters for modules that are built into the kernel image
\\n15 are specified on the kernel command line with the module name plus
\\n16 ‘.’ plus parameter name, with ‘=’ and value if appropriate, such as:
\\n17
\\n18 usbcore.blinkenlights=1\\n
这些不是相对的,但发现这些时觉得很有趣!
意味着是时候做出决定了! UEFI 还是键盘背光?
使用 UEFI 选项将允许安装最新版本的 Ubuntu。
当以旧版模式或 <=3.2 内核的早期版本安装时,samsung-laptop 模块仅适用于 12.04 3.2 内核。 (来源:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1170885)\n另一个错误报告(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1012284)说
\\n
This bug was fixed in the package linux – 3.2.0-27.43
\\n