使用centos7.5版本系统的时候,接触摸屏的情况下,点击屏幕老是会触发屏幕虚拟键盘弹出。原本触摸屏下虚拟键盘的作用是便于输入,可以在不用外接键盘的情况下,直接用屏幕键盘作为输入,可是当想把屏幕键盘关掉却发现并不是那么简单。
关闭屏幕键盘的主要原因是运行用户程序时,在触屏界面下操作程序界面,在不点击输入框的情况下,点击界面图标/文字,屏幕虚拟键盘也总会偶尔弹出,影响用户体验。要关掉屏幕键盘,首选项自然是打开控制面板,centos系统下,依次打开桌面左上角应用程序->系统工具->设置->通用辅助功能->打字->屏幕键盘,将其选择关闭。

关闭该功能后,重启系统,查看设置保存成功,可以屏幕键盘还是会弹出。
系统设置不通,首先想到屏幕键盘应该是个应用程序,如果能卸载该应用也是可以的。首先用yum search命令搜索keyboard,得到相关包信息如下。

[root@localhost ~]# yum search keyboard
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
============================================================================================== N/S matched: keyboard ==============================================================================================
system-config-keyboard.noarch : A graphical interface for modifying the keyboard
system-config-keyboard-base.noarch : system-config-keyboard base components
xkeyboard-config.noarch : X Keyboard Extension configuration data
xkeyboard-config-devel.noarch : Development files for xkeyboard-config
xorg-x11-drv-keyboard.x86_64 : Xorg X11 keyboard input driver
caribou.i686 : A simplified in-place on-screen keyboard
caribou.x86_64 : A simplified in-place on-screen keyboard
caribou-antler.x86_64 : Keyboard implementation for caribou
gnome-shell-extension-windowsNavigator.noarch : Support for keyboard selection of windows and workspaces in GNOME Shell
iok.x86_64 : Indic Onscreen Virtual Keyboard
kbd.x86_64 : Tools for configuring the console (keyboard, virtual terminals, etc.)
keybinder3.i686 : A library for registering global keyboard shortcuts
keybinder3.x86_64 : A library for registering global keyboard shortcuts
langtable.noarch : Guessing reasonable defaults for locale, keyboard layout, territory, and language.
libgnomekbd.i686 : A keyboard configuration library
libgnomekbd.x86_64 : A keyboard configuration library
libxklavier.i686 : High-level API for X Keyboard Extension
libxklavier.x86_64 : High-level API for X Keyboard Extension
python2-caribou.noarch : Keyboard UI for caribou

从搜索信息看,caribou包是与屏幕键盘相关的,用yum info caribou命令查看该包是已经安装了的。卸载该包是发现因为图形界面相关包依赖于caribou,卸载该软件包会导致图形界面相关软件也被卸载,故此法不可行。
从google上检索了下,并没有必要卸载对应软件包,只需禁用其开机启动即可。查看caribou软件包的自启动文件为 /etc/xdg/autostart/caribou-autostart.desktop,将这个文件删除后,重启系统,屏幕键盘依旧会弹出。
禁用caribou开机自启后,从进程信息中并不能查看到caribou相关进程了,分析屏幕键盘与它无关。接下来用top命令查看进程资源占用信息,触发屏幕键盘后,重复快速点击虚拟键盘的按键,能明显看到gnome-shell进程的CPU资源占用明显升高,因此,屏幕键盘是由gnome-shell程序生成控制的。gnome-shell软件包就庞大多了,它是窗口管理器、应用启动器、桌面布局的集合,想卸载它除非不用桌面环境了。
继续检索吧,查到一个可行的方案,就是改gnome-shell包的源码,重新编译gnome-shell软件包,或者给gnome-shell添加扩展插件。

--- gnome-shell-3.22.2.orig/js/ui/keyboard.js
+++ gnome-shell-3.22.2/js/ui/keyboard.js
@@ -254,8 +254,7 @@ const Keyboard = new Lang.Class({},_sync: function () {
-        this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD) ||
-                               this._lastDeviceIsTouchscreen();
+        this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);if (!this._enableKeyboard && !this._keyboard)return;if (this._enableKeyboard && this._keyboard &&

下载gnome-shell源码包,用rpmbuild工具编译时发现依赖包较多,编译配置麻烦,相比较而言,添加扩展插件的方案改动较小,另外想关闭/打开屏幕键盘使用起来也更简单。针对屏蔽虚拟键盘功能,有人写出了一个插件:https://extensions.gnome.org/extension/1326/block-caribou/,下载该gonme-shell扩展插件文件cariboublocker@git.keringar.xyz.v1.shell-extension.zip查看,是一个zip压缩文件。
回到centos系统,用sudo gnome-tweak-tool命令打开优化控制面板,选择扩展->安装shell扩展,选中下载的文件,发现控制面板中多了一个"Block caribou"选项,将该选项打开。

重启之后,发现扩展插件的配置生效了,屏幕虚拟键盘不再弹出了。

Centos禁止屏幕虚拟键盘弹出相关推荐

  1. php手机网页弹出软键盘代码,Html5页面上如何禁止手机虚拟键盘弹出

    工作中遇到如下需求,点击输入框弹出自定义弹窗,输入框是input标签: 但是在移动端,input会默认触发手机的虚拟键盘,如何阻止手机虚拟键盘弹起呢?目前我试过有两个方案,一个是给input添加rea ...

  2. html5手机底部输入框,html5 虚拟键盘弹出挡住底部的输入框解决方案

    问题描述: 我们使用 h5 做移动网站开发时,如果文本框在页面的下方,当输入信息弹出的软键盘会将输入框挡住(Android 会有这个问题,IOS会自动将整个页面上移),IOS中软键盘关闭后,页面上移的 ...

  3. Android页面监听虚拟键盘弹出、收起

    js 移动端关于页面布局,如果底部有 position: fixed 的盒子, 又有input,当软键盘弹出收起都会影响页面布局. 如图: 页面这时候Android可以监听resize事件,代码如下, ...

  4. 【JS篇】禁止手机默认键盘弹出

    开发过程中由于业务需求,需要通过点击input弹出自定义弹层,但input获得焦点时,会默认弹出手机默认键盘,此时就需要屏蔽手机默认键盘的弹出,尝试过使用readonly属性,但使用该属性也会同时屏蔽 ...

  5. android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置

    本文章重点谈下如何实现,结合以下demo,来谈谈输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置 1.先看下demo的场景,这是个登录界面,因为界面元素比较多,导致在输入法弹出时,下面的登 ...

  6. Android 禁止键盘弹出 关闭键盘 禁用键盘 禁用输入法 关闭输入法

    Android 禁止键盘弹出   公司App的需求是:EditText接收扫码枪的输入,或者自定义的数字输入界面,不要弹出键盘:   而当EditText接收到扫码枪数据时,获取到焦点,就会弹出键盘, ...

  7. 移动端选择时间时禁止软键盘弹出

    今天在做移动端时 遇到了尴尬的问题 选择时间时 手机自带的软键盘将时间插件顶了上去 很别扭 因此在网上找了下 我前端使的是element-ui 前端: <el-date-picker v-mod ...

  8. 【vant ui 双向输入框禁止手机键盘弹出】

    vant ui 双向输入框禁止手机键盘弹出 <van-field readOnly @focus="noBomBox" :formatter="formatterN ...

  9. 苹果手机屏幕尺寸和弹出键盘高度总结

    最近做一个苹果手机界面,遇到输入框被弹出键盘挡住的问题,安卓手机不会出现这种情况,于是就总结了一下苹果手机的屏幕尺寸和弹出键盘的大小. iPhoneX 屏幕大小:5.8寸 屏幕尺寸:375 x 812 ...

  10. android dialog隐藏虚拟按键,关于此框架在BottomSheetDialogFragment使用时,华为手机底部虚拟按键弹出与隐藏时输入框位置不贴键盘...

    我这边试过还是不行,而且我们ui是要dialog不全屏的,下面附上代码 public void onStart() { super.onStart(); Dialog dialog = getDial ...

最新文章

  1. CISCO CCNA RIP
  2. 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
  3. PAT甲级1152 Google Recruitment :[C++题解]判质数
  4. JDK与JRE及其在Eclipse中的使用
  5. 浅析 Linux 初始化 init 系统,第 2 部分: UpStart
  6. mysql_connect和mysql_pconnect区别
  7. 抖音升级老年人防沉迷提醒机制 覆盖多个使用场景
  8. Linux下的硬件驱动——USB设备(下)
  9. pat1057 stack
  10. 已移植到loongarch64的libffi源码目录
  11. python类的构造函数self_初学python class 注意构造函数__init__(self) | 学步园
  12. 2019年计算机一级考试pdf,2019年计算机一级考试试题及答案.pdf
  13. 02 | 给你一张知识地图,计算机组成原理应该这么学
  14. 京东商城(mysql+python)
  15. 大写金额转换小写数字金额(美图2017线下笔试题)
  16. xlwings对excle文档设置条件格式
  17. iis7.5如何将应用程序池的启动模式(startMode)从onDemand(需要时)更改为AlwaysRunning(一直运行)?
  18. 硬盘主引导记录错误问题
  19. PreScan里动力学模型的2D和3D的区别
  20. 微信支付 Verify the signature and get the Wechatpay certificate corresponding to serialnumber[X] is empt

热门文章

  1. 什么是CAPL编程语言
  2. 易语言数据类型与c 对照,详解易语言中的数据类型
  3. 营业执照生成_营业执照丢失补办要哪些资料?营业执照补办流程什么?你想知道的都在这里!...
  4. uni-app:uni.navigateTo 封装页面跳转传参
  5. 蓝桥杯省赛——杨辉三角java
  6. Linux上的oracle11g安装(提供安装包链接)以及其他问题注解
  7. bochs上网镜像怎么上网_【bochs win10镜像可上网版】bochs win10镜像img下载 完整版-趣致软件园...
  8. 工业交换机芯片选择需要注意什么事项呢?
  9. 上海工程技术大学c语言商店存货管理系统,商店存货管理系统课程设计.doc
  10. Idea 远程调试服务器