我的键盘没有“媒体”键;没有它们,我可以控制媒体吗?


113

我的USB键盘没有“媒体”键 -即用于播放,停止,下一个,上一个,提高/降低音量等的专用键。

键盘媒体键

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

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

就像Ctrl+ Alt+ Shift+ F12什么隐晦这样呢?


此外,取决于您是否使用Windows侧栏,可能还有一个小工具可用于媒体播放器控件...
tombull89 2011年

o / s?对于linxu gconf可以做到。
Sirex

Answers:


16

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


链接关闭了:(
Csorgo

@Csorgo链接已修复。
mrjink

160

视窗

自动热键

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

http://ahkscript.org/

要了解AHK,我建议检查其站点快速参考中提到的页面,尤其是至少浏览一下AutoHotkey Beginner Tutorial。不要忘记自己下载,安装和摆弄它。还有一个有用的论坛

在这种情况下,您应该特别查看以下页面:热键(鼠标,操纵杆和键盘快捷键)键列表,鼠标按钮和操纵杆控件以及Send / SendRaw / SendInput / SendPlay / SendEvent:发送键和单击。然后,您将可以汇编简单的AHK脚本,例如:

^!Left :: Send {Media_Prev}
^!Down ::发送{Media_Play_Pause}
^!Right ::发送{Media_Next}
+ ^!左::发送{Volume_Down}
+ ^!Down ::发送{音量_静音}
+ ^!Right ::发送{Volume_Up}

^!。::
MsgBox,0,,AHK世界,您好!
返回

在这里,您定义以下操作:

  • Ctrl+ Alt+ 发送Previous
  • Ctrl+ Alt+ 发送Play/Pause
  • Ctrl+ Alt+ 发送Next
  • Ctrl+ Shift+ Alt+ 发送Volume Down
  • Ctrl+ Shift+ Alt+ 发送Mute
  • Ctrl+ Shift+ Alt+ 发送Volume Up
  • Ctrl+ Alt+ .调用消息框问候AHK世界(只是为了显示非ONELINE键的命令映射结束瓦特/ 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具有鼠标重新映射和一些有限的操纵杆重新映射)。

如何将更改应用于注册表

至少有两种方法可以通过注册表重新映射键:

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

</quote>

事件鬼

EventGhost是适用于MS Windows的高级,易于使用和可扩展的自动化工具。它可以使用不同的输入设备(例如红外或无线遥控器)来触发宏,这些宏可以控制计算机及其连接的硬件。因此,它可用于通过普通用户遥控器控制Media-PC。但是它的可能用途远不止于此。

http://www.eventghost.org/

还没有尝试过,但是看起来很有趣并且有点相关,所以我认为在这里值得一提。

一些超级用户可能还记得Girder,不幸的是,它很久以前就停止成为免费软件。EventGhost似乎有点相似。我不再拥有AverMedia的TVPhone98,但通过Girder使用遥控器很有趣。


4
@przemoc非常好,也许您想在超级用户博客的博客文章中对此进行详细说明?
伊沃·弗利普斯

1
@IvoFlipse我有一天可以,但是如果有最后期限,我会立即退出。:)
przemoc

截止日期是您准备就绪的时间:-)
Ivo Flipse

2
@ivo曾经获得过博客吗?
杰夫·阿特伍德

1
@Jeff:不。我真的很抱歉,但是以某种方式,我从未设法将它变成更详尽的文章。在我的回答中,仍然非常缺乏与Linux相关的讨论。
przemoc 2012年

10

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

Windows:带有Sharpkeys

Mac:带有Karabiner


7

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

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

  • 通过发送击键和鼠标单击来自动化几乎所有东西。您可以手动编写鼠标或键盘宏,也可以使用宏记录器。

  • 为键盘,操纵杆和鼠标创建热键。实际上,任何键,按钮或组合都可以成为热键。

  • 在键入缩写词时将其展开。例如,键入“ btw”可以自动生成“顺便说一句”。

  • 创建自定义数据输入表单,用户界面和菜单栏。有关详细信息,请参见GUI。

  • 重新映射键盘,游戏杆和鼠标上的键和按钮。

  • 通过WinLIRC客户端脚本响应来自手持式遥控器的信号。

  • 运行现有的AutoIt v2脚本,并通过新功能对其进行增强。

  • 将任何脚本转换为可以在未安装AutoHotkey的计算机上运行的EXE文件。


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

我也将为此使用AutoHotKey +1。下面是一些脚本,似乎效仿媒体键:autohotkey.com/forum/topic7135.html
slhck

2
如果您真正解释了如何做,这将是很有帮助的;-)
Ivo Flipse

@ Ivo,.bat文件是我编程能力的极限,所以很遗憾,要我写一个示例脚本还要花一点时间。
tombull89'5

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

4

许多媒体播放器应用程序都支持“全局热键”,这些组合键使您可以从计算机上的任何位置播放/暂停,进入下一首曲目等。(许多Ctrl/ Alt/ Shift/ Option组合已经被其他软件声明,但是Win/ Super/ Meta键组合是相对开放的。)

例如,我正在运行Songbird,并已将Win+ 映射NumPad0为播放/暂停,而Win+ NumPad4Win+ NumPad6分别为上一首和下一首。

检查您喜欢的媒体播放器是否本机支持全局热键(如果支持,则获得更好的效果)。


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

2

正如其他人所说,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}

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


1

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

我使用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

1

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

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

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


1

我认为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

1

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

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

我发现的唯一缺点是,当台式机锁定时,比如说我从睡眠中回来并且计算机被锁定,并且播放大声的音乐时,它将无法正常工作。多媒体键盘可以从那里静音。但是,有了这个程序,您需要先解锁。


1

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,数字矩阵将覆盖屏幕上所有可操作的元素。


1

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

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


OP特别要求提供不涉及安装软件的解决方案。另外,这个问题已有6年以上的历史了,已经接受了答案。因此,您的答案听起来像是您所链接软件的广告。
music2myear18年

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

我很高兴这个线程可以帮助您解决自己的问题。问题是,SuperUser是关于特定问题和特定答案的。因为在您的情况下使用第三方软件是可以接受的,所以您有另一个问题。如果没有针对您的特定问题的问题,您可以实际发布自己的问题,然后自己回答。这是完全可以接受甚至受到鼓励的,而且更有可能获得更多的声誉。不要讨厌这个游戏,了解它。
music2myear18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.