You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kivy的Window.softinput_mode在树莓派上是否支持?如何解决键盘遮挡?

解决树莓派Kivy GUI软键盘遮挡TextInput的问题

我来帮你搞定这个困扰~首先得理清核心问题:你当前用的是系统级的停靠式键盘(通过config.ini里的dock模式调用),而Kivy的Window.softinput_mode只对Kivy自带的软键盘生效,所以直接加代码没反应。下面给你两种针对性解决方案:

方案一:改用Kivy自带软键盘,启用softinput_mode

如果想让Kivy自动处理键盘弹出时的界面调整,需要切换到Kivy内置的软键盘:

  1. 找到Kivy的配置文件,路径一般是~/.kivy/config.ini
  2. 打开文件后定位到[input]板块,把keyboard_mode的值从dock改成softinput
  3. 在你的代码里保留这段设置(确保在App启动前执行):
from kivy.core.window import Window
Window.softinput_mode = 'pan'  # 也可以选'resize',根据需求切换

这样当TextInput获得焦点时,Kivy会弹出自带软键盘,并按照你设置的模式自动平移界面或者缩小窗口,完美避开输入框遮挡问题。

方案二:调整系统停靠键盘的高度(保留dock模式)

如果你更习惯用系统的停靠键盘,我们可以直接修改它的高度:
树莓派默认的虚拟键盘是matchbox-keyboard,调整步骤如下:

  1. 打开终端,输入命令编辑配置文件:
sudo nano /etc/matchbox/matchbox-keyboard.conf
  1. 在文件里找到Height参数,默认值可能是40%(占屏幕高度的比例),改成你想要的数值,比如25%或者固定像素值200
  2. 按Ctrl+O保存,Ctrl+X退出,然后重启树莓派或者重启键盘服务:
sudo systemctl restart matchbox-keyboard.service

如果你的系统用的是其他虚拟键盘(比如florence),可以打开它的图形设置界面,直接在窗口大小选项里调整高度即可。

内容的提问来源于stack exchange,提问作者Jason You

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:29:32