我刚刚在三星900X4C上安装了Ubuntu 12.10。但是,我无法使键盘背光灯正常工作。
我根据社区文档-Samsung Series 9(功能键部分)添加了键映射。但是无论按Fn + F9还是F10(背光减少/增加),我都会得到:
- 键盘无灯
- 最大化显示右上角的切换器(即“全光”)
如何固定键盘背光灯?风扇按钮(Fn + F11)也不起作用,如果您也知道那一个,那就太好了。
我刚刚在三星900X4C上安装了Ubuntu 12.10。但是,我无法使键盘背光灯正常工作。
我根据社区文档-Samsung Series 9(功能键部分)添加了键映射。但是无论按Fn + F9还是F10(背光减少/增加),我都会得到:
如何固定键盘背光灯?风扇按钮(Fn + F11)也不起作用,如果您也知道那一个,那就太好了。
Answers:
我几天前购买了完全相同的型号(900X4C),并且成功地看到了F9 / F10键的工作原理,甚至都没有安装Voria / samsung-tools
软件包-我只是在弄乱/lib/udev/keymaps/samsung-other
文件和相应的强制释放文件。
不幸的是,我搞砸了安装过程(我没有在UEFI模式下运行Ubuntu,并且进行了交换),所以我决定重新安装,因为那时我无法复制正常工作的键盘背光。
我只是觉得这可以帮助其他有知识的人找到解决方案。
这是我遇到的几个(可能有用的)资源:
另外,还有一些实验和结果...
正在做:
cat /sys/class/dmi/id/product_name
返回值:
900X3C/900X3D/900X3E/900X4C/900X4D (matched by samsung-other)
重新安装Ubuntu 13.04并更新后,这是我得到的:
/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:在进行实验时,我注意到了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
。
samsung-laptop
模块在此模型版本上也没有用,不要问我为什么,因为我不知道。
灯和风扇是否有BIOS选项/设置?
只需对Google笔记本电脑型号进行谷歌搜索就可以显示结果,包括显示笔记本电脑需要黑暗的空间才能打开键盘背光的页面,因为有一个传感器可以根据可用的亮度自动切换键盘背光。这可能是指示器显示亮度水平而没有明显起作用的背光的原因。安装简易设置后,可通过Windows使用这些设置。
确定型号正确或特定型号在正确的页面后,您可以从制造商网站下载“简单设置” 。就是说,如果您有Windows至少可以用来确认一切正常。
社区文档确认至少9个系列的扫描代码相同,并且包括在配置后即安装内核模块并编辑两个文件后可以正常工作的模型。
这是来自https://help.ubuntu.com/community/SamsungSeries9的报价
尝试系统地阅读给定的发布链接。尝试其他选项。也就是说,通过链接的前一篇文章的替代说明都按时间顺序颠倒了,因此值得尝试按此顺序阅读链接:
https://help.ubuntu.com/community/SamsungSeries9
在启动板处向火上加油可能是一件好事
因此,按照上述步骤1,由于Windows已预安装UEFI
UEFI和Grub2
我知道我的笔记本电脑可以支持UEFI固件,因此我将其打开,因为UEFI很酷,对吗?然后我发现,如果使用UEFI子系统,那么fedora会退而使用grub-0.9x而不是grub2,据我所知存在一些兼容性问题,所以我选择了传统BIOS选项,因为我真的很想拥有grub2启动我的操作系统。
@MrNice的答案在这里引用;
您无需加载samsung_laptop内核模块。此模块在efi模式下无法正常工作,无法写入内存部分,从而使内核引发检查异常和死机。拱也有同样的问题。但是,这样会丢失键盘背光。恕我直言,如果您需要以BIOS模式重新安装Windows和ubuntu。
或尝试使用其他内核参数来加载三星笔记本电脑模块。引用http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt
内核参数
2 ~~~~~~~~~~~~~~~~~
3
4以下是
由__setup()宏实现(主要由5 实现)并按英语词典顺序排序的内核参数的合并列表。
6(定义为
以不区分大小写的方式忽略字母前的所有标点符号和排序数字),并带有已知的描述。
8
9可装载模块的模块参数仅指定为
10参数名称,并带有可选的'='和适当的值,例如:
11
12 modprobe usbcore blinkenlights = 1
13
14内置于内核映像中的模块的模块参数
在内核命令行上用模块名加
16' 指定15 。加上参数名称,并带有'='和适当的值,例如:
17
18 usbcore.blinkenlights = 1
这不是亲戚,但觉得发现这些很有趣!
意味着现在是决策时间!UEFI还是键盘背光?
使用UEFI选项将允许安装最新版本的Ubuntu。
当以旧模式或<= 3.2内核的早期版本安装时,samsung-laptop模块仅适用于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
samsung-tools
(在linlap.com链接中提到),没有显示任何与键盘背光有关的内容。
为了使键盘背光功能键在具有Ubuntu 14.04(Trusty Tahr)的Samsung Series 9型号NP900X4B上工作,请从shell提示符下运行以下命令:
sudo setkeycodes e017 229
sudo setkeycodes e016 230
如果这些命令对您有用,那么您可能需要将它们放在初始化脚本中。我在/ 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”)并按下了键盘背光功能键,则会看到诸如
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 <keycode>' 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 <keycode>' 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内核会选择一个信号,这个信号称为scancode。内核具有自己的scancode到keycode映射表,因此它将特定的scancode映射到keycode。内核使用scancode到keycode映射–称为keymap。
首先,您需要为特定的Fn键创建一个键映射表。此链接为您提供了如何为特定的Fn键创建键映射表的确切方法。
sudo /lib/udev/keymap -i input/event3
,终端会开始自动向下滚动(就像连续按Enter键一样),而在按Esc后,我看不到所按键的输出,因为它不会向上滚动。有什么建议吗?谢谢。
samsung-tools
,它似乎没有为键盘背光提供任何快捷方式配置。除了已经在工作的东西之外,什么都无法工作。我猜Voira软件包适用于7 / 900x3系列,但我还没有读过900x4c版本的成功修复程序。