使上/下箭头、Pos1、End、Del ...更容易

gue*_*tli 5 keyboard dvorak colemak

我用十根手指打字,食指放在“F”和“J”上。

这样我就可以快速、轻松地使用 QWERTZ 布局输入字母表。

但许多其他按键很难触及。例如:

Pos1、End、Del、向上/向下箭头、向上/向下翻页、ESC、退格键。

有没有办法让这些键可用,同时将食指保持在“F”和“J”上?

我对“A”到“Z”感到满意,并且不想切换到不同的布局(例如Colemak

也许通过将 CapsLock 设为一个新的修饰符,以便(例如)CapsLock-u 为向上箭头,CapsLock-n 为向下箭头?

我使用 Ubuntu Linux。

我创建了一个后续问题:Hyper-key u --> Like Arrow-Up

更新

我找到了一个很好的解决方案:input-remapper。看我的小文章十飞指(盲打更舒服)

UnK*_*OWn 4

arch wiki 链接,我按照步骤操作,并成功在“Arch Linux”和“Ubuntu 20.04”操作系统中保持大写锁定键 + u、h、j、n 等键。此方法允许使用 Shift+Caps+h 键突出显示文本,如链接中所述。

在继续之前,请阅读注意事项和准备工作链接

步骤1

/usr/share/X11/xkb/types/complete
在 Ubuntu 20.04 中编辑文件Original Content

default xkb_types "complete" {
    include "basic"
    include "mousekeys"
    include "pc"
    include "iso9995"
    include "level5"
    include "extra"
    include "numpad"
};
Run Code Online (Sandbox Code Playgroud)

编辑后

default xkb_types "complete" {
    include "basic"
    include "mousekeys"
    include "pc"
    include "iso9995"
    include "level5"
    include "extra"
    include "numpad"
    
       type "CUST_CAPSLOCK" {
       modifiers= Shift+Lock; 
       map[Shift] = Level2;            //maps shift and no Lock. Shift+Alt goes here, too, because Alt isn't in modifiers.
       map[Lock] = Level3;
       map[Shift+Lock] = Level3;       //maps shift and Lock. Shift+Lock+Alt goes here, too.
       level_name[Level1]= "Base";
       level_name[Level2]= "Shift";
       level_name[Level3]= "Lock";
   };
};
Run Code Online (Sandbox Code Playgroud)

第2步

编辑文件/usr/share/X11/xkb/compat/complete

编辑后

default xkb_compatibility "complete" {
    include "basic"
    augment "iso9995"
    augment "mousekeys"
    augment "accessx(full)"
    augment "misc"
    augment "xfree86"
    augment "level5"
    augment "caps(caps_lock)"
    
       interpret Caps_Lock+AnyOfOrNone(all) {
       action= SetMods(modifiers=Lock);
   };
};
Run Code Online (Sandbox Code Playgroud)

步骤3

使用实际符号文件编辑文件/usr/share/X11/xkb/symbols/us#change 。us

部分内容已修改

    key <AC05> {    [     g,    G       ]   };
//  key <AC06> {    [     h,    H       ]   };
    key <AC06> {
       type= "CUST_CAPSLOCK",
       symbols[Group1]= [               h,               H,               Left],
       actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<LEFT>, clearmods=Lock) ]
  };
    key <AC07> {    [     j,    J       ]   };
    key <AC08> {    [     k,    K       ]   };
Run Code Online (Sandbox Code Playgroud)

同样,根据您的要求编辑符号文件。关键符号可以通过以下方式获得

xev | grep keysym命令

$ xev | grep keysym
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
    state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
    state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
$ 
Run Code Online (Sandbox Code Playgroud)

步骤 4
运行以下命令立即应用更改

sudo udevadm trigger --subsystem-match=input --action=change
Run Code Online (Sandbox Code Playgroud)

上述命令的来源是https://askubuntu.com/a/1075707/739431


归档时间:

查看次数:

499 次

最近记录:

3 年,3 月 前