AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[xkb](ubuntu)

Martin Hope
Simon
Asked: 2020-12-14 07:02:13 +0800 CST

使用 xkbcomp 的键盘映射中令人费解的现象

  • 0

ctrl为了实现左键和键的低级交换capsLock,我使用xkbcomp如下:

首先获取当前的键盘布局:

 xkbcomp $DISPLAY output.xkb

然后我将 2 行output.xkb从

<LCTL> = 62;
...
<CAPS> = 66; 

至

<CAPS> = 62;
...
<LCTL> = 66;

然后运行

xkbcomp output.xkb $DISPLAY

使其生效。它在大多数桌面应用程序中都能完美运行。但问题在于vscode. 实际上它在正常模式下也可以正常工作vscode,但是当我尝试更改快捷键vscode并提示我按新键更改快捷键时,我按下capsLock键盘上的键并vscode认为我同时按下了ctrl+ capsLock。这不是我所期望的,vscode不应该知道我的capsLock键,它应该只知道我按下了ctrl键,因为XServer应该只告诉vscode我按下了ctrl键。我认为是因为我的配置不完整,所以vscode仍然可以检测到我的capsLock密钥。谁能告诉我如何完全交换ctrland capsLock?xmodmap不应该是解决方案,因为它基于xkbcomp并且功能有限。

keyboard-layout xkb
  • 1 个回答
  • 192 Views
Martin Hope
Mattii
Asked: 2020-12-10 05:46:17 +0800 CST

如何使用组合 unicode 符号制作自定义 xkb 布局?

  • 1

我正在尝试为一种名为 Pilaga 的语言进行自定义布局。我需要通过组合这个 unicode char U+0062 U+0336 来制作这个符号“b̶”

现在我尝试使用 xkb 将此符号添加到自定义布局时遇到问题。在 <AB05> 键中,我尝试使用 + 连接符号,但没有成功。

我已经看过一些问题,例如如何为键盘布局组合 Unicode 字符?或自定义 xkb 布局,其中一个键创建两个 unicode 代码点,但不幸的是我无法解决这两个问题

// Modified for a real Spanish keyboard by Jon Tombs.

default  partial alphanumeric_keys
xkb_symbols "basic" {

    include "latin(type4)"

    name[Group1]="Pilaga";

 key <AE01>    { [         1,     exclam,          bar,   exclamdown ]    };
    key <AE03>    { [         3, numbersign, periodcentered,   sterling ]    };
    key <AE04>    { [         4,     dollar,   asciitilde,       dollar ]    };
    key <AE06>    { [         6,  ampersand,      notsign,  fiveeighths ]    };
    key <AE11>    { [apostrophe,   question,    backslash, questiondown ]    };
    key <AE12>    { [questiondown, exclamdown, dead_cedilla, dead_ogonek]    };

    key <AD11>    { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]    };
    key <AD12>    { [      plus,   asterisk,   asciitilde,  dead_macron ]    };

    key <AC10>    { [    ntilde,     Ntilde,   asciitilde, dead_doubleacute ] };
    key <AC11>    { [ braceleft, bracketleft, dead_circumflex, braceleft]    };
    key <TLDE>    { [       bar,     degree,      notsign,      notsign ]    };

    key <BKSL>    { [braceright, bracketright, dead_grave,   braceright ]    };

    key <AB01> {[z, Z, U0295 ]};
    key <AB02> {[x, X, U02BC ]};
    key <AB03> {[c, C, U010D ]};

    key <AB05> {[b, B, U0062+U0336 ]};

    key <AC07> {[j, J, U03BB]};


    include "level3(ralt_switch)"
};


// EXTRAS:
 
partial alphanumeric_keys
    xkb_symbols "sun_type6" {
    include "sun_vndr/es(sun_type6)"
};

我正在使用 Ubuntu 20.04,我愿意尝试除 xkb 之外的其他替代方案

keyboard-layout unicode xkb 20.04
  • 1 个回答
  • 262 Views
Martin Hope
Simon
Asked: 2020-11-04 17:16:31 +0800 CST

键映射:组合键到组合键

  • 0

简而言之,我想将 Ctrl+H/L 映射到 Ctrl+Left/Right autokey,而xbindkeys+ xdotool/xvkbd不起作用。详情如下:

我现在autokey用来实现映射,效果很好,但在某些应用程序中它无法工作,因为它autokey是一个高级应用程序。所以我想实现一个低级的键映射。

应用程序不能这样做xmodmap,xkb因为 Ctrl+Left/Right 不是键符。我试过xbindkeys+ xdotool。以下配置脚本xbindkeys不起作用:(为了简化问题,我将键映射到“a”而不是 Ctrl+Left/Right)

#.xbindkeys
"xdotool key a"
Control+h

我认为这是因为按下的键会影响 的执行xdotool,因为以下工作:

#.xbindkeys
"xdotool key --clearmodifier a"
Control+h+Release

但是我就是不想在松开按键的时候触发命令,我想让它在按键的时候立即生效,所以我把配置改成:

#.xbindkeys
"xdotool keyup h; xdotool key --clearmodifier a"
Control+h

这个配置还是可以的,但是不能实现自动重复,就是长按键盘不松开,命令只执行一次。我也尝试过xvkbd,但现在确实有效:

#.xbindkeys
"xvkbd -text 'a'"
Control+h

谁能给我一些帮助来实现我的关键地图?

keyboard-layout shortcut-keys xkb xdotool
  • 1 个回答
  • 465 Views
Martin Hope
kontrollanten
Asked: 2020-09-12 14:02:34 +0800 CST

在 Ubuntu 20.04 中重新映射一个键,Wayland

  • 3

我想我现在已经在整个互联网上寻找答案,但我找不到它。

我有一个键盘,其中波浪号键应映射到条形/管道键。在 Wayland 之前,我使用了这个配置

➜  ~ xmodmap -e "keycode 49 = less greater bar bar bar"

但是现在这个配置在终端窗口中不起作用,出于某种奇怪的原因。据我了解,它根本不应该在韦兰工作。

据我了解setxkbmap是要走的路。我试过setxkbmap -option "tlde:bar"了,但它根本没有任何效果。我该如何走得更远?

更新

➜  ~ setxkbmap -query
rules:      evdev
model:      pc105
layout:     us

➜  ~ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'se')]

➜  ~ echo $DESKTOP_SESSION
ubuntu-wayland

➜  ~ echo $XDG_CURRENT_DESKTOP
ubuntu:GNOME
gnome keyboard xkb xmodmap wayland
  • 1 个回答
  • 2095 Views
Martin Hope
Frank Nocke
Asked: 2020-08-04 05:26:13 +0800 CST

使用 altGr 添加/更改 xkb 符号

  • 3

我正在运行 Ubuntu MATE 20.04 并阅读了许多关于 xkb 的理论,例如我设法改变了altGr-,从·到(更大,更大胆)•:

$> testing keys... öäü…·
$> cp de de_frank  (yes, coming from a German keyboard)
    OLD   key <AB08>  { [ comma,  semicolon, periodcentered,  multiply  ] };
    NEW   key <AB08>  { [ comma,  semicolon,          U2022,  multiply  ] };
$> setxkbmap de_frank
$> testing key... öäü…• good :)

问题/问题:

我想替换 altGr- shift- 9from ±to ?( U1F600 )

shift确实适用于像-这样的琐碎键3,但我不知道在哪里可以找到文件中的正确位置。Line :115 (在我的例子中,Ubuntu MATE 20.04)对9带有任何修饰符的键没有任何影响:

< key <AE09> { [ 9, parenright, bracketright, NoSymbol, fiveeighths, plusminus, bracketleft, NoSymbol ] };

> key <AE09> { [ 9, parenright, bracketright, NoSymbol, U1F600, U1F600, U1F600, NoSymbol ] };

穿上UF1600,比如说,shift-3(通常是美元符号)不是问题。所以问题不在于使用相当奇特的 unicode。

我猜,用于altGr- shift-的设置9来自其他地方,我的更改所在的“部分”从未被包含在内,或者后者被覆盖,我并没有完全看透所有这些的关系和优先级......


可能有用:

$>  setxkbmap -print -verbose 10

Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     de_frank
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+de_frank+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+de_frank+inet(evdev)"   };
    xkb_geometry  { include "pc(pc105)" };
};
keyboard-layout xkb
  • 1 个回答
  • 748 Views
Martin Hope
Gellweiler
Asked: 2020-07-11 13:10:21 +0800 CST

在 ubuntu 20 中修改键盘布局

  • 0

我的 hp 笔记本电脑有一个德文键盘,似乎是美式键盘的相关版本。因此,它缺少<>|通常位于德语键盘上 l-shift 右侧的键。

这显然很烦人,到目前为止,我还没有找到可以生成<or的替代键组合>。似乎有一个名为 E2 的键盘布局非常适合我的键盘(https://de.wikipedia.org/wiki/Tastaturbelegung#Tastaturbelegung_E2)。但是,开箱即用的 Ubuntu 20 似乎不支持它。

那么有谁知道我如何获得 linux 的 E2 布局,或者我如何为<和>. 我在网上找到的关于如何自定义键盘布局的教程似乎已经过时,我无法让它们在 Ubuntu 20 中工作。

这是我尝试过的:

我尝试按照本教程https://help.ubuntu.com/community/Custom%20keyboard%20layout%20definitions进行操作。

我试图重新映射ALTGR-Y到<并ALTGR-X使用>xkb。

我目前正在使用键盘布局German (Macinthosh),所以我编辑了/usr/share/X11/xkb/symbols/macintosh_vndr/de文件。

在 xkb_symobls “基本”部分中,我添加了以下映射:

    key <AB01> {        [         y,    Y,      less,   guillemotleft           ]       };
    key <AB02> {        [         x,    X,      greater,        guillemotright          ]       };

然后我重新启动,但ALGR-Y仍然ALTGR-X给我错误的字符。:(

更多信息:

$ setxkbmap -print -verbose 10

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     de,us
variant:    mac,
options:    caps:escape
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwertz)
types:      complete
compat:     complete
symbols:    pc+de(mac)+us:2+inet(evdev)+capslock(escape)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwertz)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+de(mac)+us:2+inet(evdev)+capslock(escape)"  };
    xkb_geometry  { include "pc(pc105)" };
};

cat /usr/share/X11/xkb/symbols/macintosh_vndr/de

// [email protected]   very close to MacOS map

default partial alphanumeric_keys 
xkb_symbols "basic" {

    // Describes the differences between a very simple US/ASCII
    // keyboard and a simple German keyboard.

    include "latin"
    name[Group1]= "Germany - Mac";

    key <TLDE> {    [ dead_circumflex,  degree,    notsign      ]};
    key <AE01> {    [         1,    exclam,  exclamdown,   at       ]};
    key <AE02> {    [     2,    quotedbl,  twosuperior          ]};
    key <AE03> {    [     3,    section,  threesuperior,sterling    ]};
    key <AE04> {    [     4,    dollar,  onequarter,    currency    ]};
    key <AE05> {    [     5,    percent,  bracketleft           ]};
    key <AE06> {    [     6,    ampersand,  bracketright        ]};
    key <AE07> {    [     7,    slash,        bar,    backslash     ]};
    key <AE08> {    [     8,    parenleft,  braceleft,    asciitilde    ]};
    key <AE09> {    [     9,    parenright, braceright          ]};
    key <AE10> {    [     0,    equal,  braceright, degree      ]};
    key <AE11> {    [    ssharp,    question,  backslash,   questiondown    ]};
    key <AE12> {    [ dead_acute,   dead_grave,  dead_cedilla       ]};

    key <AD01> {    [     q,    Q, guillemotleft,guillemotright ]   };
    key <AD03> {    [     e,    E,   EuroSign           ]   };
    key <AD04> {    [         r,    R,  registered          ]   };
    key <AD05> {    [     t,    T       ]   };
    key <AD06> {    [     z,    Z       ]   };
    key <AD07> {    [     u,    U, diaeresis,    Aacute     ]   };
    key <AD08> {    [     i,    I,      slash,    Ucircumflex   ]   };
    key <AD09> {    [         o,    O,      oslash,   Ooblique  ]   };
    key <AD11> {    [ udiaeresis,   Udiaeresis,  periodcentered, degree ]};
    key <AD12> {    [      plus,    asterisk,  asciitilde           ]}; 
    key <AC01> {    [         a,    A,      aring,    Aring     ]   };
    key <AC04> {    [     f,    F       ]   };
    key <AC05> {    [     g,    G,  copyright           ]   };
    key <AC06> {    [         h,    H,  ordfeminine         ]   };
    key <AC09> {    [     l,    L,  at          ]   };
    key <AC10> {    [ odiaeresis,   Odiaeresis,  dead_acute         ]};
    key <AC11> {    [ adiaeresis,   Adiaeresis,  dead_circumflex        ]};

    key <LSGT> {    [      less,    greater,        bar         ]};
    key <AB01> {    [     y,    Y,  less,   guillemotleft       ]};
    key <AB02> {    [     x,    X,  greater,    guillemotright  ]};
    key <AB06> {    [         n,    N, asciitilde           ]   };
    key <AB07> {    [     m,    M,   mu         ]   };
    key <AB08> {    [     comma,    semicolon   ]   };
    key <AB09> {    [    period,    colon,  periodcentered, division    ]};
    key <AB10> {    [     minus,    underscore  ]   };
    key <BKSL> {    [ numbersign,   apostrophe,  dead_grave         ]};

    key <BKSL> {    [ numbersign,   apostrophe,  dead_grave         ]};


    include "kpdl(comma)"
    include "level3(ralt_switch)"
};

partial alphanumeric_keys 
xkb_symbols "Sundeadkeys" {
    // modify the default German layout to use Sun dead keys
    include "macintosh_vndr/de(basic)"
    name[Group1]= "Germany - Mac, Sun dead keys";

    key <TLDE> {    [ SunFA_Circum, degree,      notsign            ]};
    key <AE12> {    [ SunFA_Acute,  SunFA_Grave, SunFA_Cedilla      ]};
    key <AD11> {    [ udiaeresis,   Udiaeresis,  SunFA_Diaeresis        ]};
    key <AD12> {    [       plus,   asterisk,    SunFA_Tilde,  dead_macron  ]};
    key <AC10> {    [ odiaeresis,   Odiaeresis,  SunFA_Acute        ]};
    key <AC11> {    [ adiaeresis,   Adiaeresis,  SunFA_Circum       ]};

    key <BKSL> {    [ numbersign,   acute,       SunFA_Grave        ]};
};

partial alphanumeric_keys 
xkb_symbols "sundeadkeys" {
    include "macintosh_vndr/de(Sundeadkeys)"
};

partial alphanumeric_keys 
xkb_symbols "nodeadkeys" {
    // modify the default German layout to not have any dead keys
    include "macintosh_vndr/de(basic)"
    name[Group1]= "Germany - Mac, no dead keys";

    key <TLDE> {    [ asciicircum,  degree,    notsign          ]};
    key <AE12> {    [ acute,    grave,  cedilla             ]};
    key <AD11> {    [ udiaeresis,   Udiaeresis,  diaeresis          ]};
    key <AD12> {    [      plus,    asterisk,  asciitilde,  macron      ]};
    key <AC10> {    [ odiaeresis,   Odiaeresis,  acute          ]};
    key <AC11> {    [ adiaeresis,   Adiaeresis,  asciicircum        ]};

    key <BKSL> {    [ numbersign,   apostrophe,  grave          ]};
};
keyboard-layout xkb
  • 1 个回答
  • 800 Views
Martin Hope
To Do
Asked: 2020-05-10 12:19:23 +0800 CST

双语戴尔笔记本电脑的键盘型号

  • 0

我的键盘型号与系统使用的型号不匹配,因此 Enter 键上方的键无法正常工作。这发生在我不得不“重置”我的~/.config文件夹以解决另一个问题之后。

这是 Gnome 中的键盘布局: 在此处输入图像描述

这是我实际的物理键盘: 在此处输入图像描述

我尝试使用sudo dpkg-reconfigure keyboard-configuration,但我不知道要设置什么布局。此外,我不记得在第一次安装 Ubuntu 时更改了此设置。

如何设置它以使 Enter 键上方的键起作用?

keyboard xkb
  • 1 个回答
  • 152 Views
Martin Hope
Daniel A. Thompson
Asked: 2020-01-06 12:55:18 +0800 CST

如何完全禁用多媒体键?18.04 LTS

  • 3

我使用 gnome-shell 3.28.4 安装了全新的 vanilla 18.04 LTS。我正在使用有线 Apple 铝制键盘:

在此处输入图像描述 我想在各种最终用户应用程序(Firefox、CLion 等)中使用顶行 F 键作为键盘快捷键,但每当我按下其中任何一个时,gnome/X11 堆栈中的某些东西(我假设)正在拦截它们并将它们解释为“媒体”键。据我所知,这样的 F 行按键不会传递给任何应用程序。

例如,如果我按 F5,我希望 Firefox 重新加载当前网页,或者让 CLion 触发构建,但是,唯一发生的事情是屏幕上覆盖了以下巨大图标:

在此处输入图像描述

我玩过gnome-tweaks设置应用程序,但无济于事。我也环顾四周dconf-editor,但我不熟悉它,也没有改变任何东西,因为我不知道我在做什么。

我做了很多搜索,但我得到的唯一点击似乎来自那些媒体不工作的人(他们希望他们工作)。需要明确的是,我想完全禁用媒体键。

有谁知道如何做到这一点?谢谢!

更新1:输出cat /usr/share/X11/xkb/symbols/pc:

daniel@legolas:~$  cat /usr/share/X11/xkb/symbols/pc
default  partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

    key <ESC>  {    [ Escape        ]   };

    // The extra key on many European keyboards:
    key <LSGT> {    [ less, greater, bar, brokenbar ] };

    // The following keys are common to all layouts.
    key <BKSL> {    [ backslash,    bar ]   };
    key <SPCE> {    [    space      ]   };

    include "srvr_ctrl(fkey2vt)"
    include "pc(editing)"
    include "keypad(x11)"

    key <BKSP> {    [ BackSpace, BackSpace  ]   };

    key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
    key <RTRN> {    [ Return        ]   };

    key <CAPS> {    [ Caps_Lock     ]   };
    key <NMLK> {    [ Num_Lock      ]   };

    key <LFSH> {    [ Shift_L       ]   };
    key <LCTL> {    [ Control_L     ]   };
    key <LWIN> {    [ Super_L       ]   };

    key <RTSH> {    [ Shift_R       ]   };
    key <RCTL> {    [ Control_R     ]   };
    key <RWIN> {    [ Super_R       ]   };
    key <MENU> {    [ Menu          ]   };

    // Beginning of modifier mappings.
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod2   { Num_Lock };
    modifier_map Mod4   { Super_L, Super_R };

    // Fake keys for virtual<->real modifiers mapping:
    key <LVL3> {    [ ISO_Level3_Shift  ]   };
    key <MDSW> {    [ Mode_switch       ]   };
    modifier_map Mod5   { <LVL3>, <MDSW> };

    key <ALT>  {    [ NoSymbol, Alt_L   ]   };
    include "altwin(meta_alt)"

    key <META> {    [ NoSymbol, Meta_L  ]   };
    modifier_map Mod1   { <META> };

    key <SUPR> {    [ NoSymbol, Super_L ]   };
    modifier_map Mod4   { <SUPR> };

    key <HYPR> {    [ NoSymbol, Hyper_L ]   };
    modifier_map Mod4   { <HYPR> };
    // End of modifier mappings.

    key <OUTP> { [ XF86Display ] };
    key <KITG> { [ XF86KbdLightOnOff ] };
    key <KIDN> { [ XF86KbdBrightnessDown ] };
    key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
    key <PRSC> {
    type= "PC_ALT_LEVEL2",
    symbols[Group1]= [ Print, Sys_Req ]
    };
    key <SCLK> {    [  Scroll_Lock      ]   };
    key <PAUS> {
    type= "PC_CONTROL_LEVEL2",
    symbols[Group1]= [ Pause, Break ]
    };
    key  <INS> {    [  Insert       ]   };
    key <HOME> {    [  Home         ]   };
    key <PGUP> {    [  Prior        ]   };
    key <DELE> {    [  Delete       ]   };
    key  <END> {    [  End          ]   };
    key <PGDN> {    [  Next         ]   };

    key   <UP> {    [  Up           ]   };
    key <LEFT> {    [  Left         ]   };
    key <DOWN> {    [  Down         ]   };
    key <RGHT> {    [  Right        ]   };
};
gnome keyboard xkb xmodmap media-buttons
  • 2 个回答
  • 4249 Views
Martin Hope
bjohas
Asked: 2019-11-10 14:21:33 +0800 CST

使用 xkb 重新分配修饰键

  • 3

有人对如何在 xkb 中更改修饰键有很好的说明(通过将修改后的 xkb 文件放在 /usr/share/X11/xkb 中)。

解释一下:我可以在 xmodmap 中制作我想要的布局。这是标准的美国布局(适用于笔记本电脑),但修改键交换了轮次(通常的 ctrl 与 capslock;alt 与 windows 等,见下文)。但是,当我使用 xkbcomp 输出此布局时,生成的键盘布局似乎不完整(并且也有错误):即重新启动和重新加载该布局与再次运行 xmodmap 不同。不知道为什么会这样——但我认为最简单的可能是从头开始为 xkb 编写这个(而不是通过 xmodmap -> xkb)。

那么- 是否有人对如何重新分配 xkb 文件中的修饰键有明确的说明?我基本上是想走美式布局,做如下调换:

  • 大写锁定->超
  • (转移)
  • ctrl --> 超级
  • (fn)
  • 窗口 --> alt/meta
  • alt --> 控制
  • (空间)
  • altgr --> 控制
  • ctrl --> 超
  • (左箭头)

在此列表中,第一个标签是笔记本电脑上的物理键(从大写锁定方向逆时针方向键);(...) 中显示的未修改键;第二个标签是所需的功能。

我想要生成的是实际的 xkb 文件(即 US + 那些修饰符),然后我可以将其放入 /usr/share/X11/xkb 并从 /usr/share/X11/xkb/rules/evdev 链接。 xml,以便我可以在需要时简单地切换到此布局。

(我想在 xkb 中而不是在 xmodmap 中执行此操作的原因是因为 xkb 可以处理不同窗口中的不同布局,而我还没有找到使用 xmodmap 执行此操作的方法,这似乎总是在系统范围内。)

PS。在 xmodmap 中,这将是:

clear control
clear lock
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5

! 66/CapsLk
! Shift
! 37/Ctrl - Fn - 133/Win - 64/Alt - Space - 108/AltGr - 105/Ctrl

keycode  66 = Hyper_L Hyper_L Hyper_L Hyper_L
keycode  37 = Super_L Super_L Super_L Super_L
keycode 133 = Alt_L Alt_L Alt_L Alt_L
keycode  64 = Control_L Control_L Control_L Control_L
keycode 108 = Control_R Control_R Control_R Control_R
keycode 105 = Hyper_R Hyper_R Hyper_R Hyper_R

add control = Control_L Control_R
add mod1 = Alt_R Alt_L
add mod2 = Num_Lock
add mod3 = Hyper_L Hyper_R
add mod4 = Super_L

那么我如何在 xkb 中实现同样的效果呢?

聚苯乙烯。我也对 Alt vs. Meta 感到困惑——有人可以解释一下它的重要性吗?xkb? (或一般的 Ubuntu?)我曾假设 alt=meta (在 emacs 中)但似乎有区别。它是什么?

编辑。进一步研究后,我假设我的 xkb 文件(进入 /usr/share/X11/xkb/symbols)看起来像这样:

partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    include "us(basic)"
    name[Group1]= "enHT (English, US, Hyper-Terminal)";

    key <CAPS> { [ Hyper_L, Hyper_L ] };
// Map Ctrl to the left Alt key, Alt to the left Win key,
// and Super to the left Ctrl key.
    replace key <LALT> { [ Control_L, Control_L ] };
    replace key <LWIN> { [ Alt_L, Meta_L ] };
    replace key <LCTL> { [ Super_L ] };
    modifier_map Mod1    { <LWIN> };
    modifier_map Mod4    { <LCTL> };
    modifier_map Mod5    { <CAPS> };
    modifier_map Control { <LALT> };

};

但是,文件中的说明似乎不起作用(即使包括一般的美国键盘布局)。所以可能一些基本的东西是错误的。

keyboard keyboard-layout xorg shortcut-keys xkb
  • 1 个回答
  • 3330 Views
Martin Hope
UNIm95
Asked: 2019-09-09 04:18:11 +0800 CST

自己的键盘布局

  • 0

在这里我问了一个问题,如何编辑键盘布局并找到工作解决方案Ubuntus 12.04-16.04
但现在我遇到了问题Ubuntu 18.04。
最新更新后,重新配置或完全更换 package xkb-data。
所以我需要重新编辑所有配置,以使我修改后的键盘布局正常工作。

我的问题很简单:
是否xkb-data有一些conf.d目录可以放置我的布局?

keyboard keyboard-layout xkb
  • 1 个回答
  • 54 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve