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


12

Các phím tắt âm lượng, giảm âm lượng và tăng âm lượng của tôi đang hoạt động, nhưng các phím trước, tiếp theo và phát / tạm dừng của tôi thì không.

Tôi đã thử giải pháp được đăng ở đây , nhưng dường như đó không phải là vấn đề. Tất cả các org.gnome.settings-daemon.plugins.media-keyscài đặt của tôi dường như được tiền tố thích hợp bởi XF86:

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

Đây là đầu ra của việc nhấn trước đó, tiếp theo, phát / tạm dừng và tắt tiếng theo trình tự:

$ xev
MappingNotify event, serial 39, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 39, synthetic NO, window 0x3600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 40, synthetic NO, window 0x3600001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
$ sudo showkey -k
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode 165 press
keycode 165 release
keycode 163 press
keycode 163 release
keycode 164 press
keycode 164 release
keycode 113 press
keycode 113 release
$ sudo showkey -s
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
0xe0 0x10 0xe0 0x90 
0xe0 0x19 0xe0 0x99 
0xe0 0x22 0xe0 0xa2 
0xe0 0x20 0xe0 0xa0 

Làm thế nào tôi có thể sửa lỗi này?

/ e1

Tôi quyết định xem xét thêm một chút. Rõ ràng, nếu bạn có bàn phím USB, bạn cần sử dụng evtestthay vìshowkey để có được các scancodes thích hợp:

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Power Button
/dev/input/event1:  Power Button
/dev/input/event2:  CYKB16 USB Keyboard
/dev/input/event3:  CYKB16 USB Keyboard
/dev/input/event4:  USB Optical Mouse
/dev/input/event5:  HDA ATI HDMI HDMI/DP,pcm=3
/dev/input/event6:  HDA ATI HDMI HDMI/DP,pcm=7
/dev/input/event7:  HDA ATI HDMI HDMI/DP,pcm=8
/dev/input/event8:  HDA ATI HDMI HDMI/DP,pcm=9
/dev/input/event9:  HDA ATI HDMI HDMI/DP,pcm=10
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=11
/dev/input/event11: HDA Intel PCH Front Mic
/dev/input/event12: HDA Intel PCH Rear Mic
/dev/input/event13: HDA Intel PCH Line
/dev/input/event14: HDA Intel PCH Line Out Front
/dev/input/event15: HDA Intel PCH Line Out Surround
/dev/input/event16: HDA Intel PCH Line Out CLFE
/dev/input/event17: HDA Intel PCH Line Out Side
/dev/input/event18: HDA Intel PCH Front Headphone
/dev/input/event19: Eee PC WMI hotkeys
Select the device event number [0-19]: 3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1130 product 0x7979 version 0x110
Input device name: "CYKB16 USB Keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 128 (KEY_STOP)
    Event code 140 (KEY_CALC)
    Event code 142 (KEY_SLEEP)
    Event code 143 (KEY_WAKEUP)
    Event code 144 (KEY_FILE)
    Event code 155 (KEY_MAIL)
    Event code 156 (KEY_BOOKMARKS)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 171 (KEY_CONFIG)
    Event code 172 (KEY_HOMEPAGE)
    Event code 173 (KEY_REFRESH)
    Event code 217 (KEY_SEARCH)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1484332277.304213, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b6
Event: time 1484332277.304213, type 1 (EV_KEY), code 165 (KEY_PREVIOUSSONG), value 1
Event: time 1484332277.304213, -------------- SYN_REPORT ------------
Event: time 1484332277.304231, type 1 (EV_KEY), code 165 (KEY_PREVIOUSSONG), value 0
Event: time 1484332277.304231, -------------- SYN_REPORT ------------
Event: time 1484332277.640192, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b5
Event: time 1484332277.640192, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 1
Event: time 1484332277.640192, -------------- SYN_REPORT ------------
Event: time 1484332277.640207, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 0
Event: time 1484332277.640207, -------------- SYN_REPORT ------------
Event: time 1484332277.951137, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00cd
Event: time 1484332277.951137, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1
Event: time 1484332277.951137, -------------- SYN_REPORT ------------
Event: time 1484332277.951153, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 0
Event: time 1484332277.951153, -------------- SYN_REPORT ------------

Tôi đã có thể xác minh rằng các khóa của tôi đã hoạt động bằng cách ánh xạ lại chúng vào các chữ cái :

$ cat /etc/udev/hwdb.d/90-custom-keyboard.hwdb 
evdev:input:b0003v1130p7979*
 KEYBOARD_KEY_c00cd=a
 KEYBOARD_KEY_c00b6=b
 KEYBOARD_KEY_c00b5=c
$ sudo udevadm --debug hwdb --update
$ sudo udevadm trigger

Bây giờ tôi có thể nhập các chữ cái bằng các phím trước, tiếp theo và phát / tạm dừng. Tiếp theo, tôi đã sử dụng xdotoolđể kiểm tra các phím ra:

$ xdotool key XF86AudioLowerVolume
$ xdotool key XF86AudioRaiseVolume

cả hai đều hoạt động, nhưng không ai trong số những người sau đây làm bất cứ điều gì

$ xdotool key XF86AudioPlay
$ xdotool key XF86AudioNext
$ xdotool key XF86AudioPrev

Điều này khiến tôi nghĩ rằng Unity đang thả bóng với sự tích hợp trình phát đa phương tiện của mình, bằng cách nào đó. Tôi không chắc chắn làm thế nào để kiểm tra xem Unity đang làm điều đúng đắn đằng sau hậu trường. Có ý kiến ​​gì không?

/ e2

$ sudo lsusb -d 1130:7979
Bus 001 Device 003: ID 1130:7979 Tenx Technology, Inc. 
$ sudo lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 7: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
        |__ Port 7: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 5: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 5: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 6: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

/ e3

$ unity --version
unity 7.4.0

/e 4

$ uname -a
Linux urithiru 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

/ e5

$ banshee --version
Banshee 2.6.2 (2.6.2) http://banshee.fm
Copyright 2005-2017 Novell, Inc. and Contributors.
$ vlc --version
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
VLC version 2.2.2 Weatherwax (2.2.2-0-g6259d80)
Compiled by buildd on lgw01-10.buildd (Mar 28 2016 02:49:24)
Compiler: gcc version 5.3.1 20160323 (Ubuntu 5.3.1-13ubuntu1)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.

Nếu bạn muốn phiên bản văn bản của danh sách đường dẫn GSinstall đó, bạn có thể lấy một phiên bản với dconf dump /org/gnome/settings-daemon/plugins/media-keys/. (Đây có thể là một cách đáng gờm để lưu và khôi phục dữ liệu GSinstall / DConf.) :-)
David Foerster

Đó không phải là Unity: đó là mô-đun phần cứng. Bạn có phần cứng bàn phím nào ???
Fabby

2
@Fabby Bàn phím hoạt động hoàn hảo với 14.04. Tôi sẽ liên hệ với bộ phận hỗ trợ để xem có gì đặc biệt về 16.04 không.
Jeffrey

1
@JacobVlijm: Một ý tưởng tốt hơn là nên sao lưu cơ sở dữ liệu Dconf cho các phím truyền thông sẽ là dconf dump, dconf reset -fvà (khôi phục) dconf load.
David foerster

1
@DavidFoerster Tôi đã đảm bảo đóng tất cả các trình phát phương tiện trước khi mở một cái mới, vẫn không hoạt động. VLC sẽ không cho phép tôi đặt các nút phát / tạm dừng, nút tiếp theo hoặc trước đó làm các phím nóng toàn cầu cho các hành động đó. Tuy nhiên, tôi đã có thể đặt ALT + Phát / Tạm dừng, ALT + Tiếp theo và ALT + Trước đó là các phím nóng.
Jeffrey

Câu trả lời:


4

Các phím đa phương tiện làm việc (với Rhythmbox). Chúng không hoạt động với banshee hoặc VLC vì có lỗi với banshee 2.6.2VLC 2.2.2 trong Ubuntu 16.04.

Một cách giải quyết cho VLC là thiết lập một phím nóng toàn cầu .


Một khám phá thú vị khác: Dường như đây có thể là một lỗi duy nhất. Chúng hoạt động tốt với vỏ gnome.
Jeffrey

Sử dụng ubfox-gnome-desktop, tôi nhận thấy rằng việc mở hai phiên bản Spotify cũng làm cho các phím phương tiện bị trục trặc.
Jan M.

0

Như @Jeffrey nói trong câu trả lời của mình, các phím phương tiện hoạt động với rybeatbox v.3.3. Chúng cũng hoạt động trong totem v.3.18.1 mà không cần điều chỉnh.

Cũng được biết là hoạt động với bàn phím đa phương tiện không dây 2.4GHz Rosewill RKM-1600RF (RF6560)

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.