如何使键盘背光Fn按钮在三星9系列中工作?
我刚在三星900X4C上安装了Ubuntu 12.10。 但是,我无法让键盘背光工作。
我根据社区文档添加了键盘映射- 三星Series 9 (function键部分)。 但无论按Fn + F9或F10(背光减少/增加),我得到:
- 键盘没有灯
- 右上角的Toggler总是弹出最大值(即“全光”)
如何修复键盘背光? 风扇按钮(Fn + F11)也不起作用,如果你也知道那个它会很棒。
几天前我买了完全相同的型号(900X4C),我成功地看到了F9 / F10键的工作,我甚至没有安装Voria / samsung-tools
包 – 我只是摆弄着/lib/udev/keymaps/samsung-other
文件和相应的强制释放文件。
不幸的是,我搞砸了安装过程(我没有在UEFI模式下运行Ubuntu而且我有交换)我决定重新安装,从那以后我无法复制工作键盘背光。
我觉得这可以帮助其他人更有知识地找到解决方案。
以下是我遇到的一些(可能是有用的)资源:
- http://blog.nonobis.nl/?p=11
- https://help.ubuntu.com/community/SamsungSeries9
- http://www.rileybrandt.com/2012/11/18/linux-ultrabook/
- https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1203592
- 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 (切换video模式)
- 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,你就不能再在任何地方输入了
点#2让我怀疑钥匙没有被释放。
# 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获得这些设置。
在确定您拥有确切的型号或在特定型号的正确页面上之后,您可以从制造商网站下载简易设置。 也就是说,如果您使用Windows来至少确认一切都按预期工作。
社区文档确认扫描码至少与9系列相同,并且包括您的模型在配置后确认工作,即安装内核模块和编辑两个文件。
以下是https://help.ubuntu.com/community/SamsungSeries9的引用
尝试有条不紊地阅读给出的已发布链接。 尝试其他选择。 即替代指令,通过该指令 ,链接的先前post都是按逆时间顺序排列的,因此可能值得尝试按此顺序阅读链接:
- 上一篇文章
- 替代指示
-
https://help.ubuntu.com/community/SamsungSeries9
在发射台上向火灾添加燃料可能是一件好事
因此,在上面的步骤1之后,已经预装了UEFI的窗口
UEFI和Grub2
我知道我的笔记本电脑有UEFI固件支持的选项,所以我打开了,因为UEFI很酷,对吧? 然后我发现,如果一个人使用UEFI子系统,Fedora会回退使用grub-0.9x而不是grub2,据我所知存在一些兼容性问题,所以我选择了传统的BIOS选项,因为我真的想拥有grub2启动我的操作系统。
而@MrNice的答案在这里引用;
您需要不加载samsung_laptop内核模块。 efi模式下的这个模块不能正常工作,写入内存部分,使内核抛出检查exception和恐慌。 与arch有同样的问题。 但是你失去了键盘背光。 Imho如果你需要,你必须在BIOS模式下重新安装windows和ubuntu。
或尝试不同的内核参数来获得三星笔记本电脑模块的加载。 引自http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt
内核参数
2 ~~~~~~~~~~~~~~~~~
3
4以下是已实现的内核参数的综合列表
5(大多数)由__setup()宏和排序成英文字典顺序
6(定义为忽略所有标点符号和排序数字之前的字母
7个不区分大小写的方式),并且已知有描述。
8
9可加载模块的模块参数仅指定为
10参数名称带有可选的’=’和适当的值,例如:
11
12 modprobe usbcore blinkenlights = 1
13
14内核映像中内置模块的模块参数
在内核命令行中使用模块名称plus指定15
16’。’ 加参数名称,带’=’和值(如果适用),例如:
17
18 usbcore.blinkenlights = 1
哪些不是相对的,但认为找到这些很有趣!
意味着它是决定时间! UEFI还是键盘背光?
使用UEFI选项将允许安装最近的Ubuntu版本。
三星笔记本电脑模块仅在传统模式或早期版本<= 3.2内核中安装时才能使用12.04 3.2内核。 (来源: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1170885 )另一个错误报告( https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1012284 )说
这个错误在包linux – 3.2.0-27.43中得到修复
为了使键盘背光function键可以在带有Ubuntu 14.04(Trusty Tahr)的Samsung Series 9型号NP900X4B上运行,请在shell提示符下运行以下命令:
sudo setkeycodes e017 229 sudo setkeycodes e016 230
如果这些命令适合您,那么您可能希望将它们放在init脚本中。 我在/ etc / init中有一个文件set-kbdillum-keycodes.conf,其中包含以下内容:
# set-kbdillum-keycodes - set keycodes for keyboard illumination up/down keys # # This task is a workaround for a key mapping bug # in the Samsung Series 9 notebook model NP900X4B description "set keycodes for keyboard illumination up/down keys" start on (startup and started udev) task script /usr/bin/setkeycodes e017 229 /usr/bin/setkeycodes e016 230 end script
以上解决了NP900X4B的问题。 如果您有其他型号,并且此解决方案无法在您的笔记本电脑上运行,您可能想知道我如何获得NP900X4B的解决方案,并可能将其适用于您的笔记本电脑型号。
在发出两个setkeycodes之前,如果我查看内核日志(在shell窗口中说“tail -f /var/log/kernel.log”)并按下键盘背光function键,我会看到诸如
Aug 5 20:24:59 ubuntu kernel: [ 152.458145] atkbd serio0: Unknown key pressed (translated set 2, code 0x97 on isa0060/serio0). Aug 5 20:24:59 ubuntu kernel: [ 152.458158] atkbd serio0: Use 'setkeycodes e017 ' to make it known. Aug 5 20:25:01 ubuntu kernel: [ 154.248439] atkbd serio0: Unknown key pressed (translated set 2, code 0x96 on isa0060/serio0). Aug 5 20:25:01 ubuntu kernel: [ 154.248452] atkbd serio0: Use 'setkeycodes e016 ' to make it known.
当我按下键盘背光键时,出现第一对消息。 当我按下键盘背光键时,出现第二对消息。 这就是我得到“use setkeycodes”提示和扫描码值e017和e017的方法。 需要将这些扫描码值映射到键码值。 我从/usr/include/linux/input.h获得了相应的密钥代码:
#define KEY_KBDILLUMDOWN 229 #define KEY_KBDILLUMUP 230
如果您有其他笔记本型号,则可能需要使用其他扫描码值。 相应的键码值应该仍然相同,因为它们是Linux内核已知的值。
首先尝试安装Voira。你可以在这里获得ppa。 从那里安装三星背光。
如果那不起作用试试这个:
好吧,你知道一切都是从按键开始的,所以在按键时你的键盘会发出一个信号,linux内核会把它拿起来,这个信号叫做扫描码 。 内核有自己的扫描码到键码映射表,因此它将某个扫描码映射到一个键码 。内核使用扫描码进行键码映射 – 它被称为键映射。
首先,您需要为特定的Fn键创建一个键映射表。此链接为您提供了如何为特定Fn键创建键映射表的确切方法。
终于找到了解决这个问题的方法!
诀窍是用CMS模式而不是UEFI模式重新安装Ubuntu。 您可以在BIOS中更改此设置。 我被设定为“UEFI和CMS”。 但我只将它改为“CMS”并重新安装了Ubuntu。 现在我的键盘背光及其指示灯工作正常。
欢呼!
部分和中等不方便的解决方法:启动到窗口并打开背光,然后重新启动到Linux,他们继续