我的USB键盘没有“媒体”键-即用于播放,停止,下一个,上一个,音量增大/减小等的专用键。



为了解决这个问题,如果可以避免的话,我宁愿不安装其他软件。

是否可以在通用USB键盘上发布一些标准按键序列来模拟这些播放,停止,等多媒体键?

是Ctrl + Alt + Shift + F12之类的键?还是类似这样晦涩难懂的东西?

评论

另外,根据您是否使用Windows边栏,可能会有一个小工具可用于媒体播放器控件...

o / s?因为linxu gconf可以做到。

相关:superuser.com/questions/278369/…

#1 楼

我很确定不可能做您想做的事。媒体键不发送组合键;相反,它们在HID中具有自己的使用ID。请参阅此文档(媒体密钥位于“使用者页面”(0X0C)中)。如果要使用组合键模拟它们,则必须在软件中进行。

#2 楼

Windows
AutoHotkey

AutoHotkey(AHK)是Windows的免费开源宏创建和自动化软件,允许用户自动执行重复性任务。它由一种脚本语言驱动,该脚本语言最初旨在提供键盘快捷键(也称为热键),随着时间的流逝,它逐渐发展成为一种成熟的脚本语言。

http://ahkscript.org/
要了解AHK,我建议检查其网站,快速参考中提到的页面,尤其是至少浏览一下AutoHotkey Beginner Tutorial。不要忘记自己下载,安装和摆弄它。还有一个有用的论坛。
示例
在这种情况下,您应该特别关注以下页面:热键(鼠标,操纵杆和键盘快捷键),键列表,鼠标按钮和操纵杆控件以及Send / SendRaw / SendInput / SendPlay / SendEvent:发送键和单击。然后您将能够汇编简单的AHK脚本,例如像这样:
^!Left::Send   {Media_Prev}
^!Down::Send   {Media_Play_Pause}
^!Right::Send  {Media_Next}
+^!Left::Send  {Volume_Down}
+^!Down::Send  {Volume_Mute}
+^!Right::Send {Volume_Up}

^!.::
MsgBox, 0, , Hello AHK world!
return

您在此定义以下操作:



Ctrl + Alt +↓发送播放/暂停


Ctrl + Alt +→发送下一个


Ctrl + Shift + Alt +←发送降低音量


Ctrl + Shift + Alt +↓发送静音



Ctrl + Alt +。调用问候AHK世界的消息框(仅用于显示以return结尾的非单行键盘命令映射)

用法
您创建.ahk文件,将上面的代码粘贴到其中(当然,没有无用的MsgBox),保存并双击运行它。您将在systray中获得H图标,使您可以与脚本进行交互,尤其是:暂停热键,暂停脚本(此处无用)或仅退出它。为了更好的方便,我建议编译这样的脚本。您可以使用文件上的右键鼠标并选择“编译脚本”来执行此操作。然后,您将获得.exe文件(相当大,但是就像完整的自动热键一样),您可以与其他人共享该文件或将其添加到例如自动启动中。
通过注册表的“ Scancode Map” / KeyTweak
重新映射您可以阅读AutoHotkey的“重新映射键和按钮”页面,了解有关将键分配给键,重新映射的其他方法。在您的情况下,它可能没有用(除非您准备“丢失”某些键),但仍然值得一读。 (然后,您应该弄清楚为什么我的示例中没有使用AHK重映射。)
让我引用它(不使用blockquote保留格式)并在此过程中修复一些链接:
<quote>
优点

注册表重映射通常比AutoHotkey的重映射更加纯净和有效。例如,它可以在各种游戏中使用,没有已知的alt-tab问题,并且能够触发AutoHotkey的钩子热键(而AutoHotkey的重新映射需要解决方法)。
如果您选择创建注册表手动输入(如下所述),绝对不需要外部软件即可重新映射键盘。即使您使用KeyTweak为您创建注册表项,KeyTweak也不需要一直保持运行状态(与AutoHotkey不同)。

缺点

注册表重映射是相对永久的:需要重新启动才能撤消更改或使新更改生效。
它的作用是全局的:它无法创建特定于特定用户,应用程序或区域设置的重新映射。
它不能发送由Shift,Control,Alt或AltGr修改过的击键。例如,它不能将小写字符重新映射为大写字符。
它仅支持键盘(AutoHotkey具有鼠标重映射和一些有限的操纵杆重映射)。

如何将更改应用于注册表
至少有两种方法可以通过注册表重新映射密钥:

使用KeyTweak之类的程序(免费软件)以可视方式重新映射密钥。它将为您更改注册表。
通过创建.reg文件(纯文本)并将其加载到注册表中来手动重新映射密钥。这在www.autohotkey.com/forum/post-56216.html#56216



</quote>
EventGhost
中得到了证明。适用于MS Windows的可扩展自动化工具。它可以使用不同的输入设备(例如红外或无线遥控器)来触发宏,这些宏可以控制计算机及其连接的硬件。因此,它可用于通过普通用户遥控器控制Media-PC。但是它的可能用途远不止于此。
http://www.eventghost.org/
还没有尝试过,但看起来很有趣并且有点相关,所以我认为在这里值得一提。
一些超级用户可能还记得Girder,不幸的是,很久以前它就停止了免费软件的开发。 EventGhost似乎有点相似。我不再拥有AverMedia的TVPhone98,但是通过Girder使用遥控器很有趣。

评论


如果快捷方式不起作用,则可能是Chrome应用(例如Google音乐)正在劫持它们。看看Chrome扩展程序页面的底部,有一个“键盘快捷键”链接,您可以在其中禁用它们。

– isanae
17年4月5日在0:45

您可能还想补充一点,某些防热系统将AutoHotkey视为作弊手段,因此在游戏时不起作用,或者彻头彻尾地使您被禁。

– Darkhog
17年5月7日在20:35

KeyTweak似乎是通往简单解决方案的最短途径...

– O'Rooney
17年7月4日在22:18

通过将.ahk文件放入自动启动文件夹中,也可以实现自动启动(运行:shell:startup)

– N4ppeL
18-09-27在14:20

我设法让Autohotkey做到了:^ Right :: Media_Next

– Sam Tolton
19年8月15日在9:25

#3 楼

如果您有一些无用的键(例如,滚动锁定或暂停键,或用于调用上下文菜单的键,或者右侧的Windows键,否则)可以将其重新映射到媒体键。

Windows:带有Sharpkeys。

Mac:带有Karabiner

#4 楼

我不怪您不想安装额外的软件,但是AutoHotKey是一个程序,可以让您编写按键的脚本。

AutoHotkey是Windows的免费开源工具。有了它,您可以:



通过发送击键和单击鼠标来使几乎任何东西自动化。您可以
用手编写鼠标或键盘宏,也可以使用宏记录器。
为键盘,操纵杆和鼠标创建热键。实际上,任何
键,按钮或组合都可以成为
热键。
键入时请展开缩写。例如,键入“ btw”可以
自动产生“顺便说一句”。
创建自定义数据输入表单,用户界面和菜单栏。有关详细信息,请参见
GUI。
重新映射键盘,操纵杆和鼠标上的键和按钮。
通过WinLIRC客户端脚本响应来自手持式遥控器的信号。
运行现有的AutoIt v2脚本,并通过新功能对其进行增强。
将任何脚本转换为可以在未安装AutoHotkey的计算机上运行的EXE文件。



评论


此外,有点不对劲,您的媒体播放器是否带有键盘快捷键?即iTunes的快捷方式列表很大。

– tombull89
2011年5月4日在10:37

我也将为此使用AutoHotKey +1。以下是一些似乎模仿媒体密钥的脚本:autohotkey.com/forum/topic7135.html

–slhck
2011年5月4日上午10:41

@ Ivo,.bat文件是我编程能力的极限,所以很遗憾,要我写一个示例脚本将需要一段时间。

– tombull89
2011年5月4日,11:18

如果要使用免费的操作系统,则可以在xorg中使用xmodmap。由于我阅读了Jeff Atwood的博客,并且知道他丢弃Windows的几率接近零,因此没有发布答案。

– CarlF
2011年5月4日,12:42

AutoHotkey非常好。但是它的学习曲线太陡了。我不想花很多时间学习使用工具来完成简单的任务。

–卡尔马留斯
2012年10月13日在20:40

#5 楼

许多媒体播放器应用程序都支持“全局热键”,这些组合键使您可以从计算机上的任何位置播放/暂停,进入下一首曲目等。 (许多Ctrl / Alt / Shift / Option组合已经被其他软件使用,但是Win / Super / Meta键组合相对开放。)例如,我正在运行Songbird并且我已经将Win + NumPad0映射为播放/暂停,而Win + NumPad4和Win + NumPad6分别为上一首和下一首。

检查您喜欢的媒体播放器是否本机支持全局热键(如果没有,那就换个更好的)。

评论


在许多方面,如果目标仅是媒体控制,那么这实际上是最好的解决方案。 (Foobar2000也支持全局热键)

–DetlevCM
2015年5月31日13:50

#6 楼

正如其他人所说,在这种情况下,AutoHotkey可以提供很大的帮助。例如,此脚本将把上一个/下一个按钮重新映射到Winkey + ,将音量调低/上调到Winkey + [/],并将静音切换到Winkey + \。对于播放/暂停,默认情况下,空格键在YouTube和MPC-HC / MPC-BE / VLC之类的桌面播放器中都默认起作用。仅对于Windows Media Player,您可以将Ctrl + P(播放暂停的默认设置)重新映射到Space。

; AutoHotkey Multimedia Keys
#,::Send {Media_Prev}
#.::Send {Media_Next}
#\::Send {Volume_Mute}
#]::Send {Volume_Up}
#[::Send {Volume_Down}
#IfWinActive ahk_class WMPlayerApp
Space::Send {Media_Play_Pause}



现在您的键盘具有多媒体键了:)

#7 楼

这不是您问题的完整答案,因为它可能太具体了,但其中可能包含一些有用的信息,因此我将其传递给我:

我使用fluxbox和ogg123这样做-这在.fluxbox / keys中

# Control ogg123
Mod4 p :Exec killall -STOP ogg123       # pauses ogg123 
Shift Mod4 p :Exec killall -CONT ogg123 # unpauses ogg123
Mod4 o :Exec killall -INT ogg123        # skips tracks in ogg123
Mod4 Shift o :Exec killall ogg123       # stops ogg123

# Control volume
Mod4 = :Exec amixer sset Master,0 1+
Mod4 - :Exec amixer sset Master,0 1-
Shift Mod4 = :Exec amixer sset Master,0 toggle


#8 楼

在Windows 8上,您可以在控制面板中找到“键盘”。从那里打开Microsoft鼠标和键盘中心。在“键盘”的“基本设置”下,有一个特殊键列表。单击其中之一,然后单击“查看所有命令”。在下面,“媒体命令”包括“下一个曲目”,“上一个曲目”和“播放/暂停”。

Windows自己的音乐应用程序对我来说很好用。

我有一个Microsoft键盘,所以我不知道Microsoft鼠标和键盘中心是否可以与其他键盘。

#9 楼

我认为WMP密钥可能是一个解决方案,但它仅适用于Windows Media Player。

WMP密钥是什么?
WMP密钥是Windows Media Player的全局热键支持插件。 />安装
Close Windows Media Plyer
Download latest version of installer (wmpkeys.msi)
Double click wmpkeys.msi for installation
Launch Windows Media Player
Turn on plugin in Windows Media Plyer menu



#10 楼

我发现一个应用程序可以在Windows 7中执行几乎所有功能,并且在解锁台式机后可以正常运行。而且它很容易使用。

http://sourceforge.net/projects/hotkeyp/?source=typ_redirect。

我发现的唯一缺点是,当台式机被锁定时,例如我从睡眠状态回来并且计算机被锁定并且正在播放大声的音乐时,它将无法工作。多媒体键盘可以从那里静音。但是使用此应用程序,您需要先解锁。

#11 楼

Windows 10具有相当强大的语音识别。进行设置并激活它,然后使用以下命令来控制媒体:

switch [name of open media software]
next
previous
pause
play
volume, press right
volume, press left


您无需说出软件的完整名称:switch media player足以说明切换到Windows Media Player; switch cast足以切换到Windows的“投射到设备”媒体投射工具。

要找出可以在打开的窗口中使用的命令,可以将鼠标悬停在按钮上方,并检查工具提示。如果没有工具提示,则可以说show numbers,并且数字矩阵将覆盖屏幕上所有可操作的元素。

#12 楼

我发现“ Snip”软件不仅可以显示当前播放的歌曲,还可以控制播放器。它目前支持:Spotify,iTunes,Winamp,foobar2000,VLC,Google Play音乐桌面播放器,Quod Libet

看看https://github.com/dlrudie/Snip

评论


当然,这总是在尝试帮助的时候。我和他处于同样的境地。找到了这个线程。接受的答案对我毫无用处,我在进一步搜索并找到了不同的解决方案。十年前互联网使用会更好。您的评论当然也可以增加价值,对吗?

– Richo
18年2月23日在10:20

我很高兴这个线程可以帮助您解决自己的问题。问题是,SuperUser是关于特定问题和特定答案的。因为在您的情况下使用第三方软件是可以接受的,所以您有另一个问题。如果没有针对您特定问题的问题,您可以实际发布自己的问题,然后自己回答。这是完全可以接受甚至鼓励的,而且更有可能赢得更多声誉。不要讨厌这个游戏,了解它。

–music2myear
18年2月23日在16:48

#13 楼

另一个选项(适用于笔记本电脑)是在Windows 10中设置触控板的手指手势。
设置>设备>触摸板
这是我设置媒体播放器的方法,因为我没有媒体键。

虽然这并不是要求的,但该解决方案非常有用,因为您不需要任何其他软件。有些人可能会觉得它比键盘快捷键更方便。