我的终端一直存在烦人的问题阿拉克里蒂。在 macOS 中,最近更新后,按下数字键盘上的输入键时,它并没有给出我所期望的结果。
普通键盘输入。
❯ whoami
aaron
数字键盘输入。
❯ whoami^C
其中一个与其他不同。^C
相当于ctrl + c
。这是退出大多数 cli 应用程序的方式。如果我在密码后使用此回车键(例如登录 ssh 时),则问题会更加严重。建立连接后,它会立即断开终端会话。这看起来像是客户端或服务器的问题,而不是我的键盘的问题。经过数小时查看各种日志和网络数据包捕获以隔离此问题后,我仍然不确定发生了什么。这是一个难以识别的问题,尤其是当几周前这一切都按预期工作时。
sw_vers
ProductName: macOS
ProductVersion: 14.3
答案1
修复 alacritty
检查在键盘上打字时发生的情况。更多信息
alacritty --print-events
[3.734266542s] [INFO ] [alacritty] winit event: WindowEvent { window_id: WindowId(WindowId(4905463248)), event: KeyboardInput { device_id: DeviceId(DeviceId), event: KeyEvent { physical_key: Code(Enter), logical_key: Named(Enter), text: None, location: Standard, state: Released, repeat: false, platform_specific: KeyEventExtra { text_with_all_modifiers: Some("\r"), key_without_modifiers: Named(Enter) } }, is_synthetic: false } }
....
[5.825335959s] [INFO ] [alacritty] winit event: WindowEvent { window_id: WindowId(WindowId(4905463248)), event: KeyboardInput { device_id: DeviceId(DeviceId), event: KeyEvent { physical_key: Code(NumpadEnter), logical_key: Named(Enter), text: Some("\r"), location: Numpad, state: Pressed, repeat: false, platform_specific: KeyEventExtra { text_with_all_modifiers: Some("\u{3}"), key_without_modifiers: Named(Enter) } }, is_synthetic: false } }
尝试隔离这个问题花费的时间比我预期的要长得多。
编辑 alacritty 配置。
nvim ~/.config/alacritty/alacritty.toml
添加
[[keyboard.bindings]]
key = "NumpadEnter"
chars = "\r"
这解决了我遇到问题的一个应用程序 Alacritty 的问题。
测试数字键盘输入。
❯ whoami
aaron