如何通过使用 !@#$%^&*() 和 Shift 或 Num Lock 键切换 1234567890 来更改键盘布局?

如何通过使用 !@#$%^&*() 和 Shift 或 Num Lock 键切换 1234567890 来更改键盘布局?

我想做的是,不用按Shift+1Shift+分别2查看!@,而是默认使用! @ # $ % ^ & * ( )而不是1 2 3 4 5 6 7 8 9 0,如果我关闭了它,也许NumLock它可能是1 2 3 4 5 6 7 8 9 0。但如果NumLock关闭了,我会! @ # $ % ^ & * ( )在第一行中使用 ,如果我使用 键,我就可以访问数字Shift

有人能引导我走上正确的道路吗?

// Begin: Insert 42lx by [email protected]
// This file is called 42lx and must be placed into the following linux folder:
// /usr/share/X11/xkb/symbols
partial alphanumeric_keys
xkb_symbols "basic" {
    name[Group1]= "US/ASCII";
    key <AE01> { [   1,          exclam,           exclamdown,      onesuperior ] };
    key <AE02> { [   2,              at,          twosuperior, dead_doubleacute ] };
    key <AE03> { [   3,      numbersign,        threesuperior,      dead_macron ] };
    key <AE04> { [   4,          dollar,             currency,         sterling ] };
    key <AE05> { [   5,         percent,             EuroSign,     dead_cedilla ] };
    key <AE06> { [   6, dead_circumflex,           onequarter,      asciicircum ] };
    key <AE07> { [   7,       ampersand,              onehalf,        dead_horn ] };
    key <AE08> { [   8,        asterisk,        threequarters,      dead_ogonek ] };
    key <AE09> { [   9,       parenleft,  leftsinglequotemark,       dead_breve ] };
    key <AE10> { [   0,      parenright, rightsinglequotemark,   dead_abovering ] };
    modifier_map Shift   { Num_Lock };
    //modifier_map Shift  { Shift_L, Shift_R };
    //modifier_map Mod2   { Num_Lock };
    // key <NMLK> {    [ Num_Lock  ]   };
};
// End: Insert 42lx by [email protected]

我还将插入以下代码:

// /usr/share/X11/xkb/rules/evdev.xml
// It will be inserted at line ... this code in evdev.xml:
    <!-- Begin: Insert 42lx by [email protected] -->
    <layout>
      <configItem>
        <name>42lx</name>
        <shortDescription>42lx.com</shortDescription>
        <description>42lx English (US): switch between numbers and signs at the
        first line, below function keys with Num Lock, Left and Right
        Shift.</description>
        <languageList>
          <iso639Id>eng</iso639Id>
          <iso639Id>por</iso639Id>
        </languageList>
      </configItem>
      <variantList/>
    </layout>
    <!-- End: Insert 42lx by [email protected] -->

我已经看过了关联这个,但这里缺少了一些东西。

答案1

您可以使用重新映射守护进程密钥请参阅这个答案了解安装、使用和提示。

安装后,使用下面的配置(显然要加上4-的行0)。配置用于f12在两个层之间切换,一个层中1-3正常起作用(默认main层),另一个层中它们的作用就像按下 shift 一样(我称之为f12layer)。您可以使用除 之外的其他东西f12。运行keyd -m,按下要用作切换的键,记下名称,更改并重新加载配置。

[ids]

*

[main]

f12 = toggle(f12layer)

[f12layer]

f12 = toggle(f12layer)
1 = S-1
2 = S-2
3 = S-3

相关内容