同一键盘在 Ubuntu 12.04 中一直运行良好(尽管是在不同的笔记本电脑上)。现在我在一台新笔记本电脑上安装了 13.10,我的外置 USB 键盘出现了一些恼人的问题,特别是多媒体功能。
问题 1:
这 ”计算器“ 或者 ”www/互联网“按钮没有任何作用。如果我进入快捷方式控制面板并尝试将“启动计算器”绑定到新的加速器,按下计算器按钮根本不起作用。它只是没有检测到我按下了它。
问题2:
这提高音量和音量减小按键有点用——但是一旦我轻按一次或两次,它就会一直按下按键,迫使音量调到最大或静音。我必须拔下 USB 线再插上才能停止。
我猜想这与 evdev 有关,但我不知道如何修复它。我尝试使用以下步骤进行故障排除https://wiki.ubuntu.com/Hotkeys/Troubleshooting但是当我跑步时sudo evtest
按下多媒体键(常规键会有反馈)却没有任何反应。
笔记:我的笔记本电脑有一个带音量控制的内置键盘,它们可以正常工作。
输出lsusb
:
总线 002 设备 002:ID 8087:8000 Intel 公司 总线 002 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线 001 设备 002:ID 8087:8008 Intel 公司。 总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线 004 设备 001:ID 1d6b:0003 Linux Foundation 3.0 根集线器 总线 003 设备 005:ID 8087:07da Intel Corp. 总线 003 设备 008:ID 1e54:2030 TypeMatrix 2030 USB 键盘 总线 003 设备 006:ID 059f:0828 LaCie, Ltd 总线 003 设备 004:ID 1a40:0201 Terminus Technology Inc. FE 2.1 7 端口集线器 总线 003 设备 003:ID 046d:c52b Logitech, Inc. Unifying 接收器 总线 003 设备 002:ID 174f:1474 Syntek 总线 003 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器
lsmod 的输出:
使用的模块大小 bbswitch 13943 0 parport_pc 32701 0 ppdev 17671 0 rfcomm 69070 12 孟加拉国经济伙伴关系 19564 2 snd_hda_codec_realtek 55704 1 snd_hda_codec_hdmi 41117 1 binfmt_misc 17468 1 hid_generic 12548 0 usb_存储 62062 1 joydev 17377 0 uvcvideo 80885 0 videobuf2_vmalloc 13216 1 uvcvideo videobuf2_memops 13362 1 videobuf2_vmalloc hid_logitech_dj 18581 0 videobuf2_core 40469 1 uvcvideo videodev 133390 2 uvcvideo,videobuf2_core usbhid 53014 0 28267 0 hid 105818 5 hid_generic,usbhid,hid_logitech_dj 蓝牙 371880 22 bnep,btusb,rfcomm x86_pkg_temp_thermal 14162 0 核心温度 13435 0 kvm_intel 138538 0 kvm 431315 1 kvm_intel crct10dif_pclmul 14289 0 crc32_pclmul 13113 0 ghash_clmulni_intel 13259 0 aesni_intel 55624 2 aes_x86_64 17131 1 aesni_intel lrw 13257 1 aesni_intel gf128mul 14951 1 轻量 glue_helper 13990 1 aesni_intel ablk_helper 13597 1 aesni_intel cryptd 20329 3 ghash_clmulni_intel,aesni_intel,ablk_helper snd_hda_intel 48171 7 snd_hda_codec 188738 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel snd_hwdep 13602 1 snd_hda_codec snd_pcm 102033 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel arc4 12608 2 snd_page_alloc 18710 2 snd_pcm,snd_hda_intel snd_seq_midi 13324 0 snd_seq_midi_event 14899 1 snd_seq_midi 韋爾德虚拟机 237440 0 mac80211 596969 1 iwldvm snd_rawmidi 30095 1 snd_seq_midi iwlwifi 165398 1 iwldvm snd_seq 61560 2 snd_seq_midi_event,snd_seq_midi 微码 23518 0 snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 29433 2 snd_pcm,snd_seq snd 69141 24 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi i915 655752 6 psmouse 97626 0 严重_原始 13413 0 cfg80211 479757 3 iwlwifi,mac80211,iwldvm drm_kms_helper 52651 1 i915 mei_me 18421 0 drm 296739 5 i915,drm_kms_helper lpc_ich 21080 0 mei 77692 1 mei_me soundcore 12680 1 秒 i2c_algo_bit 13413 1 i915 ideapad_laptop 18342 0 稀疏键映射 13948 1 ideapad_laptop wmi 19070 0 视频 19318 1 i915 mac_hid 13205 0 17759 0 parport 42299 3 lp,ppdev,parport_pc alx 32255 0 mdio 13807 1 alx ahci 25819 3 libahci 31898 1 ahci
2013 年 7 月 28 日更新:
Ubuntu 14.04 中仍存在问题,尽管 WWW、Mail 和计算器媒体键现在似乎可以工作了。音量增大/减小问题仍然存在。
答案1
我觉得这像是 USB 问题。您可以尝试以下方法:使用修改后的hid.h
值(usb2.0 驱动程序)构建您自己的内核,以允许 USB 2.0 更加宽松。我以前一直这样做,直到我的 Perixx 游戏鼠标的内核 3.11 推出。
使用修改器构建新内核隐藏文件价值 :
1)打开终端(Ctrl-Alt-T)
2)启动命令:
sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev
它会安装内核构建所需的软件包。apt-get remove <packages>
之后您可以根据需要卸载它们。
3)输入以下命令为内核源文件创建目录:
mkdir ~/source
cd ~/source
apt-get source linux-image-$(uname -r)
4)类型:
cd linux
按标签自动填充名称,然后按进入。
5)启动:
gedit include/linux/hid.h
寻找 (Ctrl + F) 该行#define HID_MAX_USAGES
并将其值更改为'64000'
。
6)启动:
cp -vi /boot/config-`uname -r` .config
复制当前系统的配置文件。
7) (可选)为了加快构建过程,您可以调整并发级别。 发射 :
export CONCURRENCY_LEVEL=#
替换#
为您的 CPU 核心数 + 1(双核为“3”,四核为“5”,…)
8)启动:
make-kpkg clean
准备构建过程所需要的目录。
9)发布:
fakeroot make-kpkg --initrd --append-to-version=-sk kernel-image kernel-headers
这将启动内核构建过程。这可能需要一段时间(根据硬件的不同,可能需要 1 小时到 8 小时)。如果该过程因某种原因中断,您应该启动命令rm ~/source
并从步骤 3 重新开始。内核二进制文件.deb将放置在〜/来源。
要安装新内核:
1)打开 nautilus(文件资源管理器)并转到/lib/模块。
2)打开终端并启动:
cd ~/source
3)输入以下命令并按**Tab自动填充内核版本,此处命名为 (KERNEL_VERSION) :**
sudo dpkg -i linux-image-
sudo dpkg -i linux-headers-
这两个命令(一旦被填充标签)必须以.deb
4)启动:
sudo update-initramfs -c -k KERNEL_NAME
您必须用包含修饰符内核的目录使用的名称替换 KERNEL_NAME(在 nautilus 中应以“-sk”结尾)。
5)启动:
sudo update-grub
sudo update-burg
(如果您使用 BURG也是如此)。
6)重新启动计算机。
您现在可以运行自定义内核了!恭喜
如果这不起作用,则问题不是由 HID(usb2.0 驱动程序)引起的,我不知道如何帮助您:)