You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 23.04下USB键盘间歇性失灵及虚拟键盘回车键失效问题求助

Ubuntu 23.04下USB键盘间歇性失灵及虚拟键盘回车键失效问题求助

看起来你在从Ubuntu 22.04一路升级到23.04后,遇到了两个挺闹心的键盘问题——USB键盘解锁桌面后时不时失灵,重启才好;虚拟键盘能用但回车键完全失效,终端操作都成了难题。我来给你分享几个排查和解决的实用方法:

一、解决USB键盘解锁后间歇性失灵的问题

  • 临时修复:重新加载USB驱动模块
    如果当下键盘失灵又不想重启,可以试试卸载并重新加载USB HID驱动模块,终端执行(要是现在没法用物理键盘,试试用鼠标打开终端,用虚拟键盘输入命令,或者复制粘贴):

    sudo modprobe -r usbhid && sudo modprobe usbhid
    

    这个操作相当于给USB外设“刷新”一下识别状态,很多时候能快速恢复键盘功能。

  • 禁用USB端口节能优化
    Ubuntu默认的USB节能设置可能导致唤醒桌面后设备休眠,你可以通过TLP工具调整:

    1. 先安装TLP(如果没装的话):
      sudo apt install tlp
      
    2. 编辑TLP配置文件:
      sudo nano /etc/default/tlp
      
    3. 找到USB_AUTOSUSPEND选项,把它的值改成0(关闭USB自动休眠),按Ctrl+O保存,Ctrl+X退出。
    4. 重启TLP服务生效:
      sudo systemctl restart tlp
      
  • 添加udev规则强制识别键盘
    可以通过udev规则让系统更稳定地识别你的USB键盘:

    1. 先获取键盘的厂商和产品ID,插着键盘执行:
      lsusb
      
      找到你的USB键盘条目,比如Bus 001 Device 003: ID 1234:5678 XXX Keyboard,这里的1234idVendor5678idProduct
    2. 创建udev规则文件:
      sudo nano /etc/udev/rules.d/99-usb-keyboard.rules
      
    3. 写入以下内容(替换成你自己的ID):
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/$kernel/power/control'"
      
    4. 重载udev规则:
      sudo udevadm control --reload-rules && sudo udevadm trigger
      

二、解决虚拟键盘回车键失效的问题

  • 重置屏幕键盘设置
    打开系统设置,进入“无障碍”->“屏幕键盘”,先关闭屏幕键盘再重新打开,或者看看有没有“重置默认设置”的选项,恢复初始配置试试。

  • 重置GNOME键盘配置(GNOME桌面适用)
    如果是GNOME桌面环境,可能是键盘映射配置出了问题,终端执行:

    dconf reset -f /org/gnome/desktop/input-sources/
    

    执行完后注销再登录,或者重启GNOME桌面:

    gnome-shell --replace
    
  • 更换终端模拟器测试
    要是只有在默认终端里虚拟键盘回车失效,可以试试安装其他终端工具,比如:

    sudo apt install konsole
    

    打开Konsole后用虚拟键盘试试回车键是否正常,以此判断是终端的问题还是系统虚拟键盘的问题。

如果以上方法都没解决,建议你收集一些日志信息帮助进一步排查:

  • 当USB键盘失灵时,执行dmesg | grep -i usb查看USB相关的错误日志;
  • 查看系统启动后的键盘相关日志:journalctl -b | grep -i keyboard

备注:内容来源于stack exchange,提问作者user1051028

火山引擎 最新活动