切换到平板电脑模式(在Gnome中)

我有一个2合1笔记本电脑,屏幕翻转整整360度变成平板电脑(我有联想Yoga 3 Pro,但现在有很多类似的设备)。 我正在运行Ubuntu GNOME(15.10,但我更新到GNOME 3.18 以获得自动旋转和自动屏幕调光工作 ),并且已经解决了大部分问题,但无法找到将其转换为function齐全的平板电脑的方法。

问题1

屏幕键盘只会弹出一些特定于GNOME的UI组件,例如在活动界面中搜索或登录时。我从辅助function选项中启用了屏幕键盘,但它似乎不会影响任何内容。

问题2

下一步是禁用主键盘。 理想情况下,当屏幕旋转超过180度标记时会自动发生这种情况,但我会选择顶部面板中的一个按钮来禁用键盘。 即使是键盘快捷键也可以工作,只要有一种方法可以在以后重新启用键盘。

我很难找到任何关于的信息:

(A) inspecting the lid sensor(s) (B) disabling the keyboard in any way (C) detecting when you're in an input (D) enabling an onscreen keyboard. 

如果那里还没有解决方案的话,如果有办法将它们组合在一起,我可能会破解一些东西,特别是B (至少通过命令行)和D

我也在prolem 1中受苦,但是有一个名为“Slide for Keyboard”的插件可用,这部分地解决了这个问题。 如果激活,此插件会在从屏幕底部进行边缘滑动时显示键盘。 这是链接: https : //extensions.gnome.org/extension/993/slide-for-keyboard/

您可能需要另一个键盘布局用于垂直视图。 您可以使用XML为此定义自己的键盘布局。 看看目录/ usr / share / caribou / layouts

使用与某些现有布局中相同的XML语法。 我使用德语布局,我的垂直键盘配置如下所示:

                                                                                                                                                                                                                                                                                              

我刚删除了一些几乎未使用的密钥。

然后在垂直(左或右)旋转时触发以下脚本:

 gsettings set org.gnome.shell.keyboard keyboard-type  

并使用正常布局触发相同的脚本进行正常和反向旋转。

对于问题2,编写脚本以首先切换键盘。 脚本应如下所示:

 #!/bin/bash device='AT Translated Set 2 keyboard' oldstate=$(xinput list-props "$device" | grep 'Device Enabled' | rev | cut -b 1) newstate=1 if [ "$oldstate" = "1" ]; then newstate=0; fi xinput set-prop "$device" 'Device Enabled' "$newstate" 

而“AT Translated Set 2 keyboard”是键盘的名称。 你的名字也许相似。 使用该命令搜索它

 xinput list | grep keyboard 

并尝试禁用和重新启用打印设备。 (首先安装’Slide for Keyboard’,这样你仍然可以输入命令行)

您应该将此脚本放在热键上或作为应用程序列表中的启动器,因为如果脚本位于键盘快捷方式上,您可能无法重新启用键盘。