所以我安装了 ubuntu,解决了声音问题和其他一些问题,但是当我将屏幕向后旋转以使笔记本电脑处于平板电脑模式时,触摸板仍然处于活动状态。Ubuntu 会自动禁用按键(我认为这是在我升级到 15.10 时发生的),但它不会禁用鼠标垫。在平板电脑模式下,我也没有屏幕键盘。
我尝试查找,但找到的都是其他笔记本电脑(主要是联想和戴尔型号)的,而且我对 acpi 的东西了解不够多,无法弄清楚如何让它在我的笔记本电脑上工作。有人有什么建议吗?我知道如何从命令行手动禁用触摸板并启用屏幕键盘,但我希望当我将屏幕向后旋转时它会自动发生。
答案1
理想情况下,我们可以对某个事件做出响应并让其自动发生,但这似乎仍然是一个悬而未决的问题:
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1535008
另请参阅:https://askubuntu.com/a/732830/519324
因此我将结合以下答案:
1. 查找键盘和触控板 ID
使用以下命令查找键盘/触控板或任何您想要禁用的设备的 ID。我的键盘 ID 为 12,触控板 ID 为 13。记下来。
xinput list
2. 查找您的显示 ID
运行以下命令查找已连接的屏幕,它是后面带有“已连接”的 ID。我的是“eDP1”。
xrandr
3. 编写平板模式脚本
sudo nano /usr/local/bin/tablet-mode.sh
填写以下脚本。将 12 和 13 更改为您的键盘/触控板 ID,将 eDP1 更改为您的显示器 ID。
#!/bin/bash
xinput set-int-prop 12 "Device Enabled" 8 0 #Disable Keyboard
xinput set-int-prop 13 "Device Enabled" 8 0 #Disable Pad
xrandr --output eDP1 --rotate inverted #Rotate screen
onboard & #Turn on onscreen keyboard
赋予其可执行权限:
sudo chmod +x /usr/local/bin/tablet-mode.sh
4. 编写笔记本模式脚本
sudo nano /usr/local/bin/laptop-mode.sh
填充:
#!/bin/bash
xinput set-int-prop 12 "Device Enabled" 8 1 #Enable Keyboard
xinput set-int-prop 13 "Device Enabled" 8 1 #Enable Pad
xrandr --output eDP1 --rotate normal #Rotate screen back
killall onboard #Turn off onscreen keyboard
赋予其可执行权限:
sudo chmod +x /usr/local/bin/laptop-mode.sh
5. 创建平板模式图标
sudo nano /usr/share/applications/tablet-mode.desktop
填充:
[Desktop Entry]
Type=Application
Terminal=false
Name=Tablet Mode
Icon=/usr/share/icons/Adwaita/32x32/actions/media-playback-stop.png
Exec=/usr/local/bin/tablet-mode.sh
6. 创建笔记本电脑模式图标
sudo nano /usr/share/applications/laptop-mode.desktop
填充:
[Desktop Entry]
Type=Application
Terminal=false
Name=Laptop Mode
Icon=/usr/share/icons/Adwaita/32x32/actions/media-playback-stop.png
Exec=/usr/local/bin/laptop-mode.sh
您可能需要重新登录才能获取图标。
答案2
我的 Pavilion X360 也遇到了类似的问题,因此我采取了以下解决方法:禁用键盘和触摸板,并旋转屏幕,以便将其用作平板电脑。这可能对您有用。
首先我创建了一个图标。
sudo vim /usr/share/applications/Keyboard-OFF.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Tablet Mode
Icon=/usr/share/icons/Adwaita/32x32/actions/media-playback-stop.png
Exec=/bin/KeyboardOff.sh
随意更改我用来左右暂停停止的图标,这样我就可以向不同方向旋转屏幕并将它们固定到栏上。
然后
xinput list
找到你的键盘/触控板的 ID,或者你想禁用的任何东西,记下来。我的键盘是 12,触控板是 13
用于显示运行
xrandr
找到你的显示器我的是eDP1
然后
sudo vim /bin/KeyboardOff.sh
将 12 和 13 更改为您的 ID 将 eDP1 更改为您的显示器
#!/bin/bash
echo "EnterPasswordHere" | sudo -S xinput set-int-prop 12 "Device Enabled" 8 0 #Disable Keyboard
echo "EnterPasswordHere" | sudo -S xinput set-int-prop 13 "Device Enabled" 8 0 #Disable Pad
echo "EnterPasswordHEre" | sudo -S xrandr --output eDP1 --rotate inverted
onboard & #Turn on onscreen keyboard
echo ""
echo "Keyboard is off"
然后创建并固定另一个以将其重新打开
sudo vim /usr/share/applications/Keyboard-ON.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Laptop Mode On
Icon=/usr/share/icons/Adwaita/32x32/actions/media-playback-pause.png
Exec=/bin/KeyboardOn.sh
sudo vim /bin/KeyboardOn.sh
#!/bin/bash
echo "YourPasswordHere" | sudo -S xinput set-int-prop 12 "Device Enabled" 8 1
echo "YourPasswordHere" | sudo -S xinput set-int-prop 13 "Device Enabled" 8 1
echo "YourPasswordHere" | sudo -S xrandr --output eDP1 --rotate normal
echo ""
echo "Keyboard is back on"
exit
记得将 12 和 13 以及 eDP1 更改为您的键盘/键盘,并在末尾显示 0 或 1 来打开和关闭它,您还可以通过将 --rotate normal 更改为 --rotate right 或 left 来创建更多图标以向左和向右旋转
我知道这并不能具体回答你的问题,但我发现选择这些而不是进入平板电脑模式似乎更容易,因为平板电脑模式现在似乎有点不稳定。
希望这对你或其他遇到此问题的人有所帮助。抱歉我的回答有点粗鲁。