在 Electron Kiosk 模式下显示屏幕键盘

Posted

技术标签:

【中文标题】在 Electron Kiosk 模式下显示屏幕键盘【英文标题】:Show onscreen keyboard in Electron Kiosk Mode 【发布时间】:2021-10-15 02:34:04 【问题描述】:

我正在Kiosk 模式 下使用Electron 开发应用程序。 该应用程序将在 Ubuntu 触摸屏上运行。

问题在于,当用户触摸文本字段时,Ubuntu 触摸键盘会显示在 Electron 应用程序下方,因此用户无法输入任何内容。

有没有办法让键盘停留在 Electron 应用上方?

非常感谢

【问题讨论】:

所以基本上你希望键盘保持在所有其他应用程序(不仅仅是电子应用程序)之上? 没错。但最重要的是在 Kiosk 模式下键盘始终位于 Electron 之上 @Packa 参考 【参考方案1】:

没有提供太多关于键盘本身的信息(我假设键盘是与父窗口平行运行的子窗口)。

当您从主进程(很可能是 main.js)加载窗口时,您可以将一系列设置应用于窗口。在 BrowserWindow 中,您可以通过如下方式向窗口添加设置:

const electron = require('electron');
const app, BrowserWindow = electron;

      function createKeyboard ()    // I am assuming you create the keyboard like so:
      const win = new BrowserWindow(
          //custom windows settings goes here e.g width:100 etc
          alwaysOnTop: true //this keeps the window on top of the screen at all times
        
      )
    win.show();
      win.loadFile('src/index.html');
    

通过这样做,您可以使您的键盘窗口始终位于所有其他应用程序和 Electron 应用程序的顶部。这仅在 Windows 10 上进行了测试,但在 Linux 上应该也能正常工作。如果此代码与您使用的代码不同,请告诉我,我会尝试更新问题。

更多信息,请查看website。

【讨论】:

以上是关于在 Electron Kiosk 模式下显示屏幕键盘的主要内容,如果未能解决你的问题,请参考以下文章

屏幕固定模式下未显示蓝牙配对对话框

Android 8.1(API 27) - 重启后键盘未在Kiosk模式应用中显示

关于 Chrome Kiosk 模式

在 OS X 上使用 cocos2d 捕获显示(以及 Kiosk 模式问题)?

js浏览器退出kiosk模式最小化

Windows 10 kiosk 模式:启动桌面应用程序但无法设置音量