Android上Chrome网页浏览器中的VSCode:如何使{[]}工作?

ocebsuys  于 2023-05-04  发布在  Go
关注(0)|答案(2)|浏览(266)

我在RPi 4 B/8 GB上部署了一个VSCode服务器,以便在浏览器中从Android平板电脑访问VSCode,而无需安装任何termux。在我的情况下,termux上的VScode不是一个选择,因为我正在开发需要额外系统权限的系统附近容器工作负载。

  • VSCode服务器是:coder/code-server
  • 平板电脑是三星Tab S7+与三星的键盘盖.
  • 最新的Chrome应用程序版本。
  • tablet使用terminus通过SSH隧道运行到VSCode服务器端口的端口转发。
  • 我用的是标准的104键的键盘布局;我已转储布局并将其保存为.local/share/code-server/User/keyboardLayout.json

不幸的是,这不适用于AltGr相关的键。在启用开发者密钥绑定(sic!)输出,我能够在按AltGr+8时捕获此输出,它应该对应于[

这表明Chromium实际上发送了[密钥,但使用的是AltRight而不是AltGr。(顺便说一句,Android上的Firefox实际上发送AltGr,但有其他怪癖,使其完全不适合浏览器中的VSCode。
不幸的是,我找不到任何VSCode或Electron文档来说明布局JSON模式是如何工作的,以及如何解决AltGr甚至没有发送的情况。
我怎样才能修复这个问题并使键盘布局正常工作?最好是,任何修复不仅应该在文本编辑器中工作,而且还应该在终端中工作。

vvppvyoh

vvppvyoh1#

我在使用Gitpod的VSCode中使用物理键盘的Android平板电脑遇到了类似的问题,我的问题与VSCode在使用AltGr时执行Alt的键绑定命令有关。对我来说,解决方案是删除所有冲突的Alt +命令绑定。这是我的keybindings.json,用于重置数字键。

[
    {
        "key": "alt+1",
        "command": "-workbench.action.openEditorAtIndex1"
    },
    {
        "key": "alt+2",
        "command": "-workbench.action.openEditorAtIndex2"
    },
    {
        "key": "alt+3",
        "command": "-workbench.action.openEditorAtIndex3"
    },
    {
        "key": "alt+4",
        "command": "-workbench.action.openEditorAtIndex4"
    },
    {
        "key": "alt+5",
        "command": "-workbench.action.openEditorAtIndex5"
    },
    {
        "key": "alt+6",
        "command": "-workbench.action.openEditorAtIndex6"
    },
    {
        "key": "alt+7",
        "command": "-workbench.action.openEditorAtIndex7"
    },
    {
        "key": "alt+8",
        "command": "-workbench.action.openEditorAtIndex8"
    },
    {
        "key": "alt+9",
        "command": "-workbench.action.openEditorAtIndex9"
    },
    {
        "key": "alt+0",
        "command": "-workbench.action.lastEditorInGroup"
    }
]
sd2nnvve

sd2nnvve2#

在我的例子中,Shift+AltRight将给予AltGr功能。我在Android平板电脑上的 Chrome 上使用 VSCode for Web 进行编码。在物理键盘上,键帽实际上是Alt Gr

相关问题