Khóa phương tiện không hoạt động trên Ubuntu 17.10


20

Tôi đang chạy bản cài đặt Ubuntu 17.10 hoàn toàn mới trên Thinkpad T470s.

Bất cứ khi nào tôi nhấn một trong các phím phương tiện (phát / tạm dừng, bỏ qua, v.v.) trên bất kỳ bàn phím hoặc tai nghe bluetooth nào tôi đều thấy biểu tượng này:

cửa sổ bật lên trên khóa phương tiện cho biết không có hành động nào được cho phép

flash trên màn hình nhưng không có người chơi phương tiện truyền thông nào của tôi phản ứng.

Các khóa được nhận dạng trong 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

Nhưng họ không xuất hiện trong xev.


Tôi có một vấn đề tương tự. Ngoại trừ việc nó đã hoạt động trước khi tôi cài đặt lại Kubfox mới 17.10.1
bên trong

Liệu pulseaudio trong thiết bị đầu cuối của bạn cung cấp bất kỳ thông điệp đáng sợ? Việc thêm swh-plugin có giúp ích không?
giao ước

Biểu tượng này có nghĩa là môi trường máy tính để bàn nhận ra khóa phương tiện nhưng không có ứng dụng nào tự đăng ký là người dùng lệnh phương tiện. Những trình phát đa phương tiện nào đã làm / bạn đã chạy (tại thời điểm đó)? Bạn cũng có thể xem sơ đồ phím tắt của bàn phím Gnome gnome-control-center keyboard shortcuts.
David Foerster

Tôi muốn điều khiển kodi bằng chuột không khí mx3. Trong trung tâm điều khiển gnome, tôi đã mất cân bằng các phím phương tiện để tạm dừng phát / phát / tiếp theo / trước và bây giờ tôi có thể sử dụng chúng trong kodi. Nhưng foward nhanh và lùi nhanh không hoạt động, ở đây biểu tượng ở trên xuất hiện và tôi không thể thấy nơi tôi có thể vô hiệu hóa chúng trong trung tâm điều khiển gnome.

Câu trả lời:


20

Toàn bộ vấn đề này trông giống như "nó không phải là lỗi, đó là TÍNH NĂNG" từ Gnome.

Nói tóm lại: khi bạn nhấn một nút phương tiện, nó sẽ tạo ra một mã khóa sau đó được dịch thành một lệnh. Giả sử bạn nhấn nút Phát / Tạm dừng. Nó tạo ra một mã khóa 162 và một lệnh XF86AudioPlay.

Bây giờ hầu như mọi ứng dụng truyền thông có thể đang chờ sự kiện này (có thể là VLC, totem, kodi, spotify, v.v.) đều mong đợi nhận được lệnh XF86AudioPlay thuần túy. Và Gnome làm gì? Nó chặn lệnh này và dịch nó thành lệnh "play" của chính nó. Bởi vì điều này cả xev và xbindkey đều không hiển thị đúng sự kiện này - họ không bao giờ nhận được lệnh họ có thể hiểu.

Khi bạn nhấn nút phương tiện, Gnome sẽ nhận lệnh và kiểm tra xem có ứng dụng nào được công nhận là có khả năng nhận lệnh này không. Nếu có (giả sử totem, rhytmbox, có thể là VLC) thì nó sẽ gửi "play" nên hoạt động. Nếu không có ứng dụng nào được công nhận là có khả năng nhận lệnh này, Gnome sẽ hiển thị dấu hiệu được đính kèm với bài đăng đầu tiên và sẽ không gửi bất kỳ lệnh nào ở bất cứ đâu.

Giải pháp rất đơn giản - làm cho Gnome không thể chặn các sự kiện quan trọng của phương tiện truyền thông. Cài đặt trình soạn thảo dconf, truy cập org.gnome.sinstall-daemon.plugins.media-key và thay đổi bất kỳ nút nào sẽ hoạt động từ XF86SomeExample (ví dụ XF86AudioPlay:) thành none (''). Bằng cách này, bất kỳ ứng dụng sẽ nhận được lệnh chính trực tiếp.


1
Điều này làm việc tuyệt vời. Nếu bạn tắt Phát / Tạm dừng trong Cài đặt Gnome-Bàn phím-Phương tiện, Kodi có thể sử dụng nó. Nhưng để tiến nhanh và lùi nhanh, vẫn còn biểu tượng "không hoạt động" từ phía trên xuất hiện nhưng tôi không biết phải tắt cái gì. FF / BW nhanh không được đề cập trong các phím phương tiện.

Đây là nước sốt bí mật tôi cần. Điều này, cộng với sự kết hợp playerctlxbindkeysvà bây giờ bàn phím của tôi có thể kiểm soát tất cả người chơi của tôi, không chỉ Rhybeatbox.
Adrian

Tôi cũng đã khởi động lại sau khi thực hiện những thay đổi này (có thể đăng nhập và đăng xuất) để chúng hoạt động
Salami

1
Điều này vẫn hoạt động cho Ubuntu 18.04 và ít nhất với tôi không cần phải khởi động lại hoặc thậm chí đăng xuất
N1mr0d

17

Nếu các phím phương tiện bàn phím không hoạt động từ máy tính để bàn Ubuntu của bạn, bạn có thể sử dụng hỗ trợ D-Bus để gửi các lệnh thích hợp tới Spotify. Xác thực các lệnh sau từ bàn điều khiển:

Tạm dừng chơi

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

Kế tiếp

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

Trước

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

Bật phím tắt phương tiện truyền thông

Để buộc những thứ này vào bàn phím, hãy đi tới Cài đặt> Bàn phím> Phím tắt> Phím tắt tùy chỉnh, sau đó, Thêm Add +. Sử dụng một trong các lệnh trên, sau đó nhấn phím mà bạn muốn buộc vào lệnh mới.

nhập mô tả hình ảnh ở đây

Nguồn

https://fabianlee.org/2016/05/25/ubfox-eneac-media-keys-for-spotify/


Tuyệt vời, đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn nhiều!
Josh Crozier

Điều này làm việc với tôi trong Ubuntu 14.04, ngoại trừ tôi sử dụng Compiz nên tôi phải sử dụng applet "Lệnh" của Trình quản lý cài đặt CompizConfig để gán các phím tắt.
Tyler Collier

Điều này hoạt động trên Ubuntu 18.04, phiên bản kernel linux 4.15.0-51, với phiên bản Spotify 1.1.5.153.gf614956d. Cảm ơn!
Gormador

Điều này làm việc cho tôi nếu tôi cũng làm những gì câu trả lời của darkdude gợi ý.
totymedli

Bạn có thể làm công việc này với người chơi khác so với Spotify, chỉ cần thay đổi spotifyđể vlc, rhythmbox, vv trong lệnh.
totymedli

6

Tôi thấy rằng, với Ubuntu 18.04 LTS kể từ 2019/2/1, tất cả những gì tôi cần làm là:

  • cài đặt dcs-biên tập
  • điều hướng đến org / gnome / settings-daemon / plugins / media-key
  • cho mỗi khóa không hoạt động:
    • bỏ chọn "Sử dụng giá trị mặc định"
    • nhấn áp dụng
    • kiểm tra lại "Sử dụng giá trị mặc định"
    • nhấn áp dụng một lần nữa

Khóa phương tiện trong câu hỏi bây giờ sẽ hoạt động ngay lập tức.

Sử dụng không có giá trị, theo khuyến nghị của darkdude, đã không làm việc cho tôi.


Khi tôi mở trình soạn thảo dconf, tôi thấy các mặc định đã không được chọn để phát / tạm dừng, bản nhạc trước và tiếp theo. Kiểm tra mặc định cho ba khóa này đã khắc phục vấn đề của tôi.
dericke

Tôi thực sự không hiểu tại sao việc bật "Sử dụng giá trị mặc định" lại hiệu quả, nhưng nó cũng hoạt động với tôi +1
Miroslav Glamuzina

3

kết hợp hai câu trả lời cuối cùng làm việc cho tôi. Tôi có Ubuntu 18.04 công việc kiểm tra bàn phím

~$ 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

nhưng khi tôi vào Hoạt động -> Bàn phím và cố gắng làm bất cứ điều gì với Play / Next / Trước thì nó không hoạt động. Khi tôi hủy kích hoạt liên kết khóa mặc định (gọi hộp thoại cho liên kết khóa, nhấn backspace và nhấp vào lưu) và tạo thương hiệu mới, nó hoạt động, rất hữu ích là câu trả lời từ @foamboarder

Bây giờ có vẻ như ảnh chụp màn hình này từ thiết lập phím tắt tất cả đều hoạt động tốt ngay cả sau khi đánh thức máy tính từ chế độ ngủ


1
+1 vì điều này cuối cùng cũng có hiệu quả với tôi, nhưng bạn nên bao gồm các lệnh bạn đã sử dụng trong các phím tắt tùy chỉnh: dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPausevà ... Previousvà ...Next
bitinerant

1

Sử dụng câu trả lời trên của @ Václav đã làm việc cho tôi trên Ubuntu 18.04, nơi ông nói

"... Đã hủy kích hoạt liên kết khóa mặc định (gọi hộp thoại để liên kết khóa, nhấn backspace và nhấp vào lưu) và tạo thương hiệu mới".

Tôi sử dụng Rhybeatbox, đây là các lệnh tôi đã đặt cho mỗi Shorcut tùy chỉnh cho Rhybeatbox:

Cho trước:

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

Cho tiếp theo:

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

Để chơi / dừng:

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

Hy vọng điều này sẽ giúp ai đó một ngày


2
Tôi đã cài đặt playerctlvà nó có thể tự động tìm và kiểm soát hầu hết các trình phát phương tiện tôi sử dụng.
Adrian

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

0

Các mã khóa dường như không được ánh xạ tương ứng. Bạn có thể ánh xạ các khóa theo cách thủ công như được mô tả trong tài liệu ubfox: https://help.ubfox.com/urdy/ubfox-help/keyboard-shortcut-set.html

  1. Mở tổng quan Hoạt động và bắt đầu gõ Bàn phím.
  2. Nhấp vào Bàn phím để mở bảng điều khiển.
  3. Chọn tab Phím tắt.
  4. Chọn một danh mục trong khung bên trái và hàng cho hành động mong muốn ở bên phải. Định nghĩa phím tắt hiện tại sẽ thay đổi thành Máy gia tốc mới
  5. Giữ tổ hợp phím mong muốn hoặc nhấn Backspace để xóa.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.