Media Keys ไม่ทำงานบน Ubuntu 17.10


21

ฉันใช้การติดตั้ง Ubuntu 17.10 ใหม่เอี่ยมสวยบน Thinkpad T470s

เมื่อใดก็ตามที่ฉันกดปุ่มสื่อปุ่มใดปุ่มหนึ่ง (เล่น / หยุดชั่วคราวข้าม ฯลฯ ) บนแป้นพิมพ์หรือชุดหูฟังบลูทู ธ ของฉันฉันเห็นไอคอนนี้:

ป๊อปอัปบนคีย์สื่อระบุว่าไม่อนุญาตให้ดำเนินการ

กระพริบบนจอภาพ แต่ไม่มีเครื่องเล่นสื่อของฉันตอบสนอง

กุญแจได้รับการยอมรับในshowkey:

~$ sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

xevแต่พวกเขาจะไม่แสดงขึ้นใน


ฉันมีปัญหาที่คล้ายกัน ยกเว้นว่ามันใช้งานได้ก่อนที่ฉันจะติดตั้ง Kubuntu 17.10.1 ใหม่
ภายใน

pulseaudio ในเทอร์มินัลของคุณมีข้อความที่น่ากลัวหรือไม่? การเพิ่ม swh-plugins ช่วยได้หรือไม่?
โคเวอเนอร์

สัญลักษณ์นี้หมายความว่าสภาพแวดล้อมเดสก์ท็อปรู้จักรหัสสื่อ แต่ไม่มีการลงทะเบียนแอปพลิเคชันในฐานะผู้ใช้คำสั่งสื่อ คุณเล่น / เล่นสื่อใดอยู่ (ณ เวลานั้น) คุณสามารถดูการแมปแป้นพิมพ์ลัดของ GNOME gnome-control-center keyboard shortcutsได้
David Foerster

ฉันต้องการควบคุมโคดี้ด้วยเมาส์อากาศ mx3 ในศูนย์ควบคุมคำพังเพยฉันไม่ทำการปรับคีย์สื่อสำหรับเล่น / หยุดเล่นชั่วคราว / ถัดไป / ก่อนหน้าและตอนนี้ฉันสามารถใช้ปุ่มเหล่านี้ในโคดีได้ แต่ความรวดเร็วและการย้อนกลับอย่างรวดเร็วไม่ทำงานที่นี่ไอคอนด้านบนมาและฉันไม่สามารถมองเห็นว่าฉันสามารถปิดการใช้งานได้ในศูนย์ควบคุมคำพังเพย

คำตอบ:


21

ปัญหาทั้งหมดนี้ดูเหมือนว่า "ไม่ใช่ข้อผิดพลาด แต่เป็นฟีเจอร์" จาก Gnome

ในระยะสั้น: เมื่อคุณกดปุ่มสื่อมันจะสร้างรหัสที่จะแปลเป็นคำสั่ง สมมติว่าคุณกดปุ่มเล่น / หยุดชั่วคราว มันสร้างรหัสคีย์ 162 และคำสั่ง XF86AudioPlay

ตอนนี้เกือบทุกแอปพลิเคชั่นสื่อที่อาจรอเหตุการณ์นี้ (ไม่ว่าจะเป็น VLC, totem, kodi, spotify ฯลฯ ) คาดว่าจะได้รับคำสั่ง XF86AudioPlay ที่บริสุทธิ์ และสิ่งที่ Gnome ทำ มันดักคำสั่งนี้และแปลมันเป็นคำสั่งของตัวเอง "เล่น" ด้วยเหตุนี้ทั้ง xev และ xbindkeys จึงไม่แสดงเหตุการณ์นี้อย่างถูกต้อง - พวกเขาไม่เคยได้รับคำสั่งที่พวกเขาเข้าใจ

เมื่อคุณกดปุ่มสื่อ Gnome จะได้รับคำสั่งและตรวจสอบว่ามีแอพใดที่ได้รับการยอมรับว่ามีความสามารถในการรับคำสั่งนี้หรือไม่ หากมี (สมมุติว่า totem, rhytmbox หรือ VLC) มันส่ง "play" ที่ควรใช้ หากไม่มีแอปที่รับรู้ว่าสามารถรับคำสั่งนี้ Gnome จะแสดงสัญลักษณ์ที่แนบมากับโพสต์แรกและจะไม่ส่งคำสั่งใด ๆ

การแก้ปัญหานั้นง่าย - ทำให้ Gnome ไม่สามารถดักจับเหตุการณ์สำคัญของสื่อ ติดตั้ง dconf-editor, ไปที่ org.gnome.settings-daemon.plugins.media-keys และเปลี่ยนปุ่มใด ๆ ที่ควรจะทำงานจาก XF86SomeExample (เช่น, XF86AudioPlay) เป็น none ('') วิธีนี้แอพใดควรได้รับคำสั่งคีย์โดยตรง


1
มันใช้งานได้ดี หากคุณปิดใช้งาน Play / Pause ใน Gnome Settings-Keyboard-Media Keys Kodi สามารถใช้งานได้ แต่สำหรับการกรอไปข้างหน้าและข้างหลังอย่างรวดเร็วยังคงมีสัญลักษณ์ "ไม่ทำงาน" จากด้านบนปรากฏขึ้น แต่ฉันไม่รู้ว่าจะปิดใช้งานอย่างไร ไม่ได้ระบุ Fast FF / BW ในปุ่มสื่อ

นี่คือซอสลับที่ฉันต้องการ นี่คือการรวมกันของplayerctlและxbindkeysตอนนี้แป้นพิมพ์ของฉันสามารถควบคุมผู้เล่นทั้งหมดของฉันได้ไม่เพียง แต่ Rhythmbox
เอเดรียน

ฉันเริ่มใหม่อีกครั้งหลังจากทำการเปลี่ยนแปลงเหล่านี้ (การเข้าสู่ระบบและออกมีแนวโน้มมากพอ) เพื่อให้ทำงานได้
Salami

1
ยังคงใช้ได้กับ Ubuntu 18.04 และอย่างน้อยสำหรับฉันก็ไม่จำเป็นต้องรีสตาร์ทหรือออกจากระบบ
N1mr0d

18

หากคีย์มีเดียของแป้นพิมพ์ไม่ทำงานจากเดสก์ท็อป Ubuntu ของคุณคุณสามารถใช้การสนับสนุน D-Bus เพื่อส่งคำสั่งที่เหมาะสมไปยัง Spotify ตรวจสอบคำสั่งต่อไปนี้จากคอนโซล:

เล่น / หยุดชั่วคราว

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

ต่อไป

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

ก่อน

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

เปิดใช้งานปุ่มทางลัดสื่อ

จะผูกเหล่านี้ไปที่แป้นพิมพ์ให้ไปที่การตั้งค่า> คีย์บอร์ด> ลัด> ลัดที่กำหนดเองแล้ว“เพิ่ม” +ด้วย ใช้คำสั่งอย่างใดอย่างหนึ่งข้างต้นจากนั้นกดปุ่มที่คุณต้องการผูกกับคำสั่งใหม่

ป้อนคำอธิบายรูปภาพที่นี่

แหล่ง

https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/


ยอดเยี่ยมนี่คือสิ่งที่ฉันกำลังมองหา ขอบคุณมาก!
Josh Crozier

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 14.04 ยกเว้นฉันใช้ Compiz ดังนั้นฉันต้องใช้แอปเพล็ต "คำสั่ง" ของ CompizConfig เครื่องมือจัดการการตั้งค่าเพื่อกำหนดทางลัด
Tyler Collier

สิ่งนี้ใช้ได้กับ Ubuntu 18.04, linux kernel รุ่น 4.15.0-51-generic, โดยมี Spotify รุ่น 1.1.5.153.gf614956d ขอบคุณ!
Gormador

สิ่งนี้ได้ผลกับฉันถ้าฉันทำตามคำแนะนำของ darkdude
totymedli

คุณสามารถทำให้การทำงานนี้กับผู้เล่นอื่น ๆ กว่า Spotify เพียงแค่เปลี่ยนspotifyไปvlc, rhythmboxฯลฯ ในคำสั่ง
totymedli

6

ฉันพบว่าด้วย Ubuntu 18.04 LTS ตั้งแต่ 2019/2/1 สิ่งที่ฉันต้องทำคือ:

  • ติดตั้ง dconf-editor
  • นำทางไปยัง org / gnome / settings-daemon / plugins / media-keys
  • สำหรับแต่ละคีย์ไม่ทำงาน:
    • ยกเลิกการเลือก "ใช้ค่าเริ่มต้น"
    • กดใช้
    • ตรวจสอบอีกครั้ง "ใช้ค่าเริ่มต้น"
    • กดใช้อีกครั้ง

คีย์สื่อที่เป็นปัญหาควรทำงานได้ทันที

การใช้ไม่มีค่าตามที่ darkdude แนะนำไม่ได้ผลสำหรับฉัน


เมื่อฉันเปิด dconf-editor ฉันพบค่าเริ่มต้นที่ไม่ได้เลือกไว้สำหรับการเล่น / หยุดชั่วคราวแทร็กก่อนหน้าและถัดไป การตรวจสอบค่าเริ่มต้นสำหรับสามปุ่มเหล่านี้ช่วยแก้ไขปัญหาของฉันได้
307

ฉันไม่เข้าใจจริงๆว่าทำไมสลับ "ใช้ค่าเริ่มต้น" ทำงานได้ แต่ก็ใช้ได้สำหรับฉันเช่นกัน +1
Miroslav Glamuzina

4

การรวมกันของสองคำตอบที่ได้ผลสำหรับฉัน ฉันใช้ Ubuntu 18.04 กับการทดสอบคีย์บอร์ด

~$ sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

แต่เมื่อฉันไปที่กิจกรรม -> แป้นพิมพ์และพยายามทำทุกอย่างด้วย Play / Next / ก่อนหน้ามันไม่ทำงานเลย เมื่อฉันปิดการใช้งานการเชื่อมโยงคีย์เริ่มต้น (เรียกใช้กล่องโต้ตอบสำหรับการเชื่อมโยงคีย์กด backspace และคลิกบันทึก) และสร้างใหม่ใช้งานได้ประโยชน์มากคือคำตอบจาก @foamboarder

ตอนนี้ดูเหมือนว่าภาพหน้าจอนี้จากการตั้งค่าทางลัดทั้งหมดทำงานได้ดีในขณะนี้แม้หลังจากปลุกคอมพิวเตอร์จากโหมดสลีป


1
+1 เพราะสิ่งนี้ได้ผลในที่สุดสำหรับฉัน แต่คุณควรจะรวมคำสั่งที่คุณใช้ในแป้นพิมพ์ลัดแบบกำหนดเอง: dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPauseและ ... Previousและ ... และ ...Next
bitinerant

1

การใช้คำตอบข้างต้นโดย @ Václavทำให้ฉันใน Ubuntu 18.04 ซึ่งเขาพูด

"... ปิดการเชื่อมโยงคีย์เริ่มต้น (เรียกใช้กล่องโต้ตอบสำหรับการเชื่อมโยงคีย์กด backspace แล้วคลิกบันทึก) และสร้างใหม่"

ฉันใช้ Rhythmbox ต่อไปนี้เป็นคำสั่งที่ฉันใส่สำหรับ Custom Shorcut สำหรับ Rhythmbox:

สำหรับก่อนหน้า:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous`  

สำหรับถัดไป:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next`  

สำหรับการเล่น / หยุด:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause`  

หวังว่านี่จะช่วยใครซักคนในหนึ่งวัน


2
ฉันติดตั้งplayerctlแล้วและสามารถค้นหาและควบคุมเครื่องเล่นสื่อส่วนใหญ่ที่ฉันใช้โดยอัตโนมัติ
เอเดรีย

1
rhythmbox-client --play-pause, rhythmbox-client --next,rhythmbox-client --previous
Ctrl-C

0

ดูเหมือนว่าจะไม่จับคู่รหัสคีย์ คุณสามารถแมปคีย์ด้วยตนเองตามที่อธิบายไว้ในเอกสารประกอบของ ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html

  1. เปิดภาพรวมกิจกรรมและเริ่มพิมพ์คีย์บอร์ด
  2. คลิกที่คีย์บอร์ดเพื่อเปิดแผง
  3. เลือกแท็บทางลัด
  4. เลือกหมวดหมู่ในบานหน้าต่างด้านซ้ายและแถวสำหรับการกระทำที่ต้องการทางด้านขวา นิยามทางลัดปัจจุบันจะเปลี่ยนเป็นเร่งใหม่ ...
  5. กดคีย์ผสมที่ต้องการค้างไว้หรือกด Backspace เพื่อล้าง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.