我有华硕 M51Sn笔记本电脑,运行 Windows 7(但也运行 Linux,但这个问题只与 Windows 有关)。如下图所示,键盘顶部有五个完全无用的键。我想将这些键重新映射到有用的东西上。
在这台笔记本电脑中,我必须使用Fn+F5
和Fn+F6
来更改亮度,以及Fn+F10
和Fn+F11
来Fn+F12
静音或更改音量。这些操作非常麻烦,因为它们需要两只手来按,而且我需要看键盘才能找到正确的键在哪里。我想要的是重新映射顶部无用的键(如上图所示)来更改亮度和音量。
正如我所说,我需要一个适用于 Windows 7 的解决方案(我已经重新映射了 Linux 系统上的按键)。
我安装了华硕的一款名为 的程序ATK Hotkey
,它负责显示有关亮度/音量变化的 OSD 消息。但是,这个程序非常糟糕,因为它完全隐藏在用户面前,并且根本没有配置。甚至没有配置文件,它只有几个 EXE 和 DLL 文件,仅此而已。它太糟糕了,以至于我键盘上的“打开浏览器”键总是会启动 Internet Explorer,即使它不是我的默认浏览器。如果需要,我会很乐意卸载这个程序,如果我找到更好的程序。(将键重新映射到有用的操作比 OSD 消息重要得多)
我已经尝试过的事情
卸载 ATK Hotkey
没有ATK Hotkey
,我仍然可以改变亮度(因为它可能是由 BIOS 处理),但Fn+F*
按键不再改变音量。
SharpKeys 3.0
SharpKeys 3.0无法读取笔记本电脑上的任何特殊键。我敢打赌,它们不是实际的按键,而是 ACPI 事件。因此,我需要一种方法将一些 ACPI 事件映射到有用的操作。
自动热键
我尝试安装自动热键并运行查找按键扫描码的脚本。运气不好,我的笔记本电脑上的这些特殊键似乎没有生成扫描码或按键事件。(这个想法来自StackOverflow 答案,可惜它对我不起作用)
四年后的更新:2014 年那台笔记本坏了,我就不再用它了。另外,我现在的笔记本上没有运行 Windows。
答案1
来自华硕信息展台主题(在笔记本评论论坛),我找到了一个名为自定义华硕热键。该链接将我发送到华硕笔记本按键,v1.3该论坛上的主题:
华硕笔记本按键,v1.3
该程序使您能够为华硕笔记本电脑的附加按钮定义自己的操作。
这就是我所需要的!更重要的是:源代码也包含在内!(可惜我没有 Visual Studio)。
然而,第一篇文章中的程序有一个愚蠢的 GUI 错误,后来被另一个用户修复,并发布为AsusNbKeysCtr-1.3fix.zip(但没有源代码)。
使用该程序(修复版本),我能够将额外的笔记本电脑按键重新映射到Windows 可直接识别的Volume Up、Volume Down和Volume Mute按键。这很棒,而且解决了我一半的问题!
然而,另一半则涉及改变显示器亮度。不幸的是,没有简单的解决方案,而且我需要一个命令行程序来增加和减少亮度。
我发现有两个命令行应用程序允许我将亮度设置为某个值,但不允许我增加或减少亮度。第一个是Brightener,由 Ciaran 用户撰写.第二个是来自 edgylogic.com 的显示亮度 Vista 小工具。由于他们没有解决我的问题,我仍然需要一个程序来改变亮度。
答案2
回答可能有点晚了,但在浏览了一个又一个链接后,我找到了一个 DMedia 版本,它取代了普通版本,并分派了常规键盘按键事件以播放媒体。我知道问题是关于其他按钮的,但媒体键每次都会启动一个随机应用程序(并且在 Windows 8 中它将 WMP 置于前台)这一事实让我很困扰。
该应用程序的二进制形式可以在这里找到(如果你能看到的话,bitbucket 中有一个源代码) http://3mptylab.blogspot.it/2012/09/how-to-make-asus-notebooks-media-keys.html
只需下载 rar 文件,停止 DMedia.exe 进程,转到 ATK Media 安装文件夹,重命名原始 DMedia.exe 以防万一,然后将下载的 DMedia.exe 放在同一文件夹中。执行它以使其工作(通常它应该在启动时启动)。
它基于此代码,仅适用于一个应用程序。 http://zaak404.wordpress.com/2011/05/09/controlling-foobar2000-with-asus-g73-media-keys/
在 Windows 8 64 位下,它在 Asus U30Jc 上运行良好,而所有其他方法都无法正常工作。
答案3
看到您对我留下的另一个关于设置亮度的答案的评论,所以我对我为该问题编写的应用程序进行了一些修改,并想出了一个托盘应用程序,您可以使用它来控制亮度(与其他帖子中的评论适用相同的限制)。
目前,该版本的应用程序相当糟糕。目前有些代码非常糟糕,但无论如何它对我来说似乎有用。目前热键被硬编码为 CTRL + ALT + UP / DOWN,但正如您所见,有一个对话框可用于自行设置热键。目前无法使用,但我会在某个时候修复它。
当我着手修复设置时,我会稍微清理一下代码并将其发布到这里。