Xmodmap - 如何使用 ctrl 作为修饰符?

Xmodmap - 如何使用 ctrl 作为修饰符?

基本键盘布局:

  • 11
  • Shift+ 1!

我想要:Ctrl+1¹. (上标一个字符)。以下代码允许我输入¹,但只能使用Shift+ 1

xmodmap -e "keycode  10 = 1 onesuperior"

最后,我想保留Shift+1!Ctrl+1¹

答案1

  • 我认为这与以下内容非常相关:

    如何指定使用 AltGr 作为修饰键的键盘快捷键?

    保留Right AltAltGrISO_Level3_Shift尝试将其用作Alt修饰符。

    您的情况是相反的:保留Right CtrlLeft Ctrl作为Control修饰符,并将其扩展以用于级别转换。

  • 我无法让它在两个函数中发挥作用,一个试验是通过添加actions(无效)

    key <RCTL> {
             type= "ONE_LEVEL",
             symbols[Group1]= [ ISO_Level5_Shift ],
             actions[Group1]= [ SetMods(modifiers=Control) ]
    };
    

    xkb - 使用虚拟键和 ISO_Level3_Shift 键时出现问题但它仅以一种方式起作用。

    可能,非常了解 XKB 的人可以进行这样的设置。

  • 对我有用的一个设置:(无按键重复)

    1. 安装和设置xbindkeys&xautomation如下如何更改键盘上按键的功能?(如何创建自定义键盘命令/快捷键?)
    2. 将此行添加到~/.xbindkeysrc

      "usleep 150000; xte 'keyup Control_L' 'str ¹' 'keydown Control_L'"
        m:0x4 + c:10
        control + 1
      

      对我来说,我有¹AlgGr所以我也可以使用它:

      "usleep 150000; xte 'keyup Control_L' 'keydown ISO_Level3_Shift' 'key 1' 'keyup ISO_Level3_Shift' 'keydown Control_L'"
      
    3. 重启xbindkeys守护进程

      pkill xbindkeys;xbindkeys
      

答案2

您可以使用xev命令,然后按下Ctrl键,然后查看键码,例如我的键码是“键码 37” Ctrl

但是,我认为上标在编辑器、终端/控制台以及文字处理器以外的任何系统中都不起作用。上标和下标存在于文字编辑器(LibreOffice、Ms Word 等)中,但例如在 Latex 中,我们使用下划线“_”表示下标,^ 表示上标。

相关内容