CapsLockããŒã䜿çšããŠããéãEscã«é£çµ¡ããã®ã¯ããããã§ãã
ãã©ã·ãäžã«åããã匱ãå°æã§Ctrl / Cmd / WinãæŒãã®ã¯ããããã§ãã
PgUpãPgDnãHomeãEndã«ç»ãã®ã«ããããããŠãããŒãžãã¹ã¯ããŒã«ããŠã³ããã ãã§ãæ¯åæãåããã
ã¿ã€ããã¹ããããã³ã«éå±ããŠãBackspaceãã¿ã³ãæ¢ããŠããŒããŒããæã£ãŠèŠãŠãã ããã

ä»æ¥ã¯ããããã®èŠçãæ°žé ã«åãé€ãæ¹æ³ãåŠã³ãŸãã
ãªãããã ããªã®ã§ããïŒ
å°ãªãããŒãæŒããŸãã ããæŒãããŒã«æãè¿ã¥ããªãããã«ããããã æã®ç²ãã軜æžããŸãã ã©ããèŠããããããããã çµå±ãããéãå°å·ããããã«ã
å°å·çšã®å€ãã®ã¬ã€ã¢ãŠãïŒDvorakãColemakãªã©ïŒã¯ãããŒã®ã¬ã€ã¢ãŠããå€§å¹ ã«æ¹åããã¹ãã¬ãããå°ãªãããå¿ èŠãããå Žæã®è¿ãã«é 眮ããŸãã ãããåæã«ã圌ãã¯ä¿®é£Ÿåãã¹ãã·ã£ã«ãå®å šã«å¿ããŸãã æåãšã³ãã³ãããŒïŒEnterãBackspaceãTabãEscãDeleteïŒã ãããŠãçŸç¶ãã©ã®ããã«æ¹åããããèããŸãã
ãã®èšäºã§ã¯ãæãåçŽãªå€æŽãããããé¢çœãæ·±ããã¥ãŒãã³ã°ã«ç§»è¡ããŸãã ãããŠãè¯ãæ ç»ã®æåŸã®ããã«ãç§ã¯èªè ã«æ¬¡ã«äœããã¹ãããèãããããã¹ãŠã®ããã«æ¢è£œã®ã¬ã·ããäžããããšã¯ããŸããã æçµçã«ã¯ãçæ³çã§æ®éçãªãœãªã¥ãŒã·ã§ã³ã¯ãªããããŒããŒããã¬ã€ã¢ãŠããã仲éãããŸããã
ã¯ãªããã«ã®æåã®ã¹ããã
æšæºã¬ã€ã¢ãŠãã¯èªåã§å€æŽããå¿ èŠããããŸãã ãããè¡ãã«ã¯å€ãã®æ¹æ³ããããŸãã ããã§ã¯èª°ããšããŸããã¯ãªibusãFcitxãSCIMãUIMã䜿çšãããšã¯æããªãã®ã§ã誰ããæšæºã®XããŒããŒãæ¡åŒµæ©èœã§ããXKBã䜿çšãããšä»®å®ããŸãã ä»åŸã®Waylandãã¹ã¯ãããã§ã¯ãXKBãããŒããŒããšXorgã®è²¬ä»»ãè² ãå¯èœæ§ãé«ãããšã«æ³šæããŠãã ããã çªç¶XWaylandã§äœæ¥ããŠããåããèŠããªäººãããå Žåãç§ã説æããããšãããªãã«åœ¹ç«ã€ãªããããªãã®å°è±¡ãå ±æããŠãã ããã Canonicalã®ä»£æ¿æ¹æ³ã§ããWayland Mirã«ã€ããŠã¯äœãèšããŸããããããŒããŒãã€ã³ã¿ã©ã¯ã·ã§ã³ãµãã·ã¹ãã ãæžãæããããšã¯ã»ãšãã©ãããŸããã
æåã«é ã«æµ®ãã¶ã®ã¯ãäœããã®ã°ã©ãã£ã«ã«ãŠãŒãã£ãªãã£ã䜿çšããããšã§ãã æ£çŽã«èšããšããã®æé ãã¹ãããããŠãããã«xmodmapã䜿çšããŸããã 以äžã«ããã®ã¢ãããŒãã®äœãåé¡ã§ãã©ã®ããã«æ£ããè¡ããã説æããŸãã
Xmodmapã¯ãããšãã°ãã¬ã€ã€ãŒã®äº€æãèš±å¯ããŸãã ãããŠïŒãããã¯ãè¡æ«ã«å¿ é ã®ã»ãã³ãã³ããã¯ãå¿ èŠãšããªãçŸä»£èšèªã§ããã°ã©ã ãã人ã«ãšã£ãŠç¹ã«äŸ¿å©ã§ãã JavaScriptã§ããããã¯å¿ èŠãããŸããã ãããŠããã®ç°¡åãªã³ãã³ãã¯åœ¹ç«ã¡ãŸãïŒ
$ xmodmap -e "keycode 47 = colon semicolon Cyrillic_zhe Cyrillic_ZHE"
.xsessionãŸãã¯.xinitrcããå®è¡ããå¿ èŠããããŸãã åŒçšç¬Šã§å²ãŸããæåŸã®2ã€ã®åŒæ°ã¯ã亀æäžã«æåwãšfã倱ãããªãããã«ããã®ã«åœ¹ç«ã¡ãŸãã
ãã ããããšãã°ãããã¯ããš`ãå ¥ãæ¿ããŸãïŒ
$ xmodmap -e "keycode 49 = asciitilde grave Cyrillic_io Cyrillic_IO"
ã¬ã€ã¢ãŠãåãæ¿ã
Altãé »ç¹ã«äœ¿çšããå¿ èŠããããŸããïŒ çªç¶ã§ã¯ãªãããGimpãLibreOfficeãªã©ã®ã¡ãã¥ãŒãè±å¯ãªã€ã³ã¿ãŒãã§ã€ã¹ã§ã®ã¿ãããè¡ãå¿ èŠãããå Žåã¯ãAltGrãšããŠç¥ãããå³Altã¹ã€ãããšããŠäœ¿çšã§ããŸãã
$ setxkbmap -layout us,ru -option grp:toggle
EscãšCapsLock
å€ãã®å ŽåãVimã䜿çšããããã³ã³ãœãŒã«ã§viã®çµã¿åããã䜿çšãããã©ãŒã©ã ã§å°ãèªã人ã¯ãCapsLockããŒã§Escapeã䜿çšããããšã奜ã¿ãŸãã
$ xmodmap -e "clear lock" $ xmodmap -e "keycode 0x42 = Escape"
åãããšãå°ãç°¡åã«ã§ããŸãïŒ
setxkbmap -option caps:escape
ãŸãã¯ã次ã®ããã«ãé«é³ã§ã®å¯Ÿå¿ã®å Žåã«CapsLockãå€ããšã¹ã±ãŒãã®å Žæã«ä¿æããŸãã
setxkbmap -option caps:swapescape
ãããã®äžæè°ãªãã©ã¡ãŒã¿ãŒãã©ãããæ¥ãã®ãã«ã€ããŠã¯ãå°ãåŸã§ç¢ºèªããŸãã
è±
åã«ãã£ãããšãæ£ãããªãã£ããšèšã£ãããããããé©ãã§ãããã setxkbmapã¯ãŸã äœããããŸããããxmodmapã¯XKBã®åã«ç»å Žããäºææ§ã®ããã«ã®ã¿ååšããŸãã ããã ãã§ãªãã圌ã¯ããŒã®ååã«ã€ããŠäœãç¥ããªãã圌ã®ä»äºã®æ§æãšåçã¯äžå¯è§£ãªä»¥äžã§ãããããŒã³ãŒããšããŒã·ã ã翻蚳ããå Žåã«ãã£ãŠã¯å ã«æ»ããŸãã ãããç解ããããšã¯æå³ããããŸãããããæç¹ã§æ»ã«ããã¹ãŠã®ããªãã¯ãå¥ã®ãŠãŒãã£ãªãã£ã®å©ããåããŠç¹°ãè¿ãå¿ èŠããããããªãã¯åæºãããã¹ãŠã«ããããããã2æ¬ã®äººå·®ãæã§åã³å°å·ãããŸãã
ãã®ããããã¹ãŠãå¿ èŠãªããŒããããããããããŒã ã©ã€ã³ïŒASDF JKL;ïŒã«ããæãå šå¡ã«å±ããªãããšãç解ãå§ãããŸã§ããã°ãããç¬éãŸã§ãã¹ãŠæ©èœããŸãã
ããšãã°ãMod4修食åã§ããWinãšããæå®ã®ããŒããã䜿çšããŸãã ããŒããŒãäžã«ããã®ã¯ããŸã䟿å©ã§ã¯ãããŸãããã€ãŸããå·ŠAltãšCtrlã®éã§ãã
æ£ããæ¹æ³
ããããã¹ãŠãxkbcompã§è¡ãã®ã¯æ£ããããšã§ãã ãŠãŒãã£ãªãã£ã®ååã¯ã人éã®ããã«ããã®æ©èœã«ã€ããŠã»ãšãã©æ å ±ãæäŸããŸããã äŒãããããšããã§ã¯ããã€ããªåœ¢åŒã®ããŒããŒãã¬ã€ã¢ãŠãã®ããã¹ãèšè¿°ã翻蚳ããŸãã ãããå®éã«ã¯ãããããããŒãããŸãã å©ããåããŠã®ã¿ãæ¢ã«è¡ã£ãããšãè¡ãæ¹æ³ãç解ããŠã¿ãŸãããã
ã€ã³ã¿ãŒãããäžã®å€ãã®ãŠãŒã¶ãŒã¯ã/ usr / share / X11 / xkb / symbolsã«ãããã¡ã€ã«ãã€ãŸãusãpcãruãå€æŽããããšãæšå¥šããŠããŸãã ãããããªãã§ãã ããã ãããã¯ãã·ã¹ãã å šäœã«äžåºŠã«äœçšãããã¡ã€ã«ã§ãã ä»ã®ãŠãŒã¶ãŒïŒçªç¶æã£ãŠããå ŽåïŒãããã³ããã«äœãããããå ŽåããŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããããšããé£ãããªããŸãã å€æŽãããã¡ã€ã«ãããã«çœ®ããŠã¯ãªãããevdev.xmlã«äœããæžãå¿ èŠã¯ãããŸããã
éèŠïŒçªç¶äœãééã£ãããšãããå Žåã¯ãXãåèµ·åãããšåœ¹ç«ã¡ãŸãã ããç°¡åãªæ¹æ³ããããŸãããã©ã¡ãŒã¿ãªãã§setxkbmapã³ãã³ããå®è¡ãããšãã»ãšãã©ãã¹ãŠã®èšå®ãããã©ã«ãã®ã¬ã€ã¢ãŠãã«ãªã»ãããããŸãã
ãŸããçŸåšã®ã¬ã€ã¢ãŠãèšå®ã確èªããå¿ èŠããããŸãããã¹ãŠã®æäœã®åã«ãããè¡ãå¿ èŠããããŸãã
$ setxkbmap -layout us,ru -print
åºåã¯æ¬¡ã®ããã«ãªããŸãã
xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+ru:2+inet(evdev)" }; xkb_geometry { include "pc(pc104)" }; };
ããããã¹ãŠããã¡ã€ã«ã«æžã蟌ã¿ãXDGã®æ瀺ã«åŸã£ãŠã/ .config / xkb / myã«é 眮ããŸãã
ãã®ãã¡ã€ã«ã§ã¯ãxkb_symbolsè¡ã«æãé¢å¿ããããæ®ãã¯å€æŽãããŸããã äžæ¬åŒ§ãå±éãããã®è¡ã次ã®ããã«å€æŽããŸãã
xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_geometry { include "pc(pc104)" }; xkb_symbols "my" { include "pc+us+ru:2+inet(evdev)" key <AC10> { [ colon, semicolon ] }; key <TLDE> { [ asciitilde, grave ] }; }; };
ããŠãããªãã®æã亀差ãããŠããã®æ§æãããŒãããŠãã ããïŒ
$ xkbcomp $HOME/.config/xkb/my $DISPLAY
ãã£ãŠã¿ãŸãã æåwrittenãæžããããŒãæŒããšãèšå·ãå°å·ãããŸãïŒã§ã¯ãªããà ãæŒããšããã«ãããå°å·ãããShiftãæŒããšããã¹ãŠãéã«ãªããæ£ããè»éã«ä¹ã£ãŠããŸãã
Cyrillic_zhe Cyrillic_ZHEãããã«æ°ã«ããå¿ èŠã¯ãããŸããããã¹ãŠããã®ããã«æ©èœããããšã«æ³šæããŠãã ããã
ç¶ããŸãããã ç§ãã¡ã¯äœãããŸãããïŒ ãã©ã¡ãŒã¿ãæå®ããŠsetxkbmap -optionãå®è¡ããŸããã 圌ãäœãå€ãããèŠãŠã¿ãŸãããã
$ setxkbmap -print | grep symbols xkb_symbols { include "pc+us+ru:2+inet(evdev)" }; $ setxkbmap -option caps:escape $ setxkbmap -print | grep symbols xkb_symbols { include "pc+us+ru:2+inet(evdev)+capslock(escape)" };
ããŠãä»ã§ã¯ããã€ãã®ãªãã·ã§ã³ãå«ããããšã§ã¬ã€ã¢ãŠããå€åããŠããããšãæããã«ãªã£ãããã§ãã
myãã¡ã€ã«ã§ãæ¢åã®ã€ã³ã¯ã«ãŒãã®çŽåŸã«ãxkb_symbolsã»ã¯ã·ã§ã³ã«æ¬¡ã®è¡ãè¿œå ããŸãã
include "capslock(escape)"
ãã®æ§æãã¡ã€ã«ã®ä»ã®å Žæã®ã»ãã³ãã³ãšã¯ç°ãªããã€ã³ã¯ã«ãŒãåŸã®ã»ãã³ãã³ã¯äžèŠã§ããããšã«æ³šæããŠãã ããã
ããèŠããšãããã2ã€ã®èšé²æ¹æ³ã¯åãã§ããããšãããããŸãã
include "pc+us+ru:2+inet(evdev)" include "capslock(escape)"
include "pc+us+ru:2+inet(evdev)+capslock(escape)"
ãã®å Žåãæåã®æ¹ãã¯ããã«æçœã§ãã
ããã¯ã©ãããæå³ã§ããïŒ ã¬ã€ã¢ãŠããèªã¿èŸŒã¿ãqwertyïŒxkb_keycodesïŒã104åã®ããŒïŒxkb_geometryïŒãæåãåå®çŸ©ãããšããŸãã åæã«ãã·ã³ãã«ã»ã¯ã·ã§ã³ã«ãããã€ãã®æ§æãã¡ã€ã«pcãusãruãå«ããŸãã 圌ãã¯ã©ãã«æšªããã£ãŠããŸããã圌ããèŠãããšãã§ããŸããïŒ åœç¶ããããã¯ãã¹ãŠ/ usr / share / X11 / xkb / symbolsã«ãããŸãã ç¹ã«ç§ãã¡ããã§ã«ãã£ãããããã£ãšéå¿çãªããšãããã€ãããªããããããèŠãã®ã¯äŸ¿å©ã§ãã
ããŠãCapsLockãšEscapeã亀æããå¿ èŠããããšå€æãããã¡ã€ã«ã¯ã©ãã«ãããŸããïŒ ã¯ãããããŸãã 次ã®ããã«ãªããŸãã
partial hidden modifier_keys xkb_symbols "swapescape" { key <CAPS> { [ Escape ] }; key <ESC> { [ Caps_Lock ] }; }; partial hidden modifier_keys xkb_symbols "escape" { key <CAPS> { [ Escape ] }; };
éšåãšã¯äœã§ããïŒ ããã¯ãå¥ã®ã¬ã€ã¢ãŠãã«å«ããããšãã§ããã¬ã€ã¢ãŠãã®äžéšã§ãã äžéšã®æ§æãã¡ã€ã«ã§ã¯ãå¯å€§ãªèè ãã³ã¡ã³ããè¿œå ããŸããã ãããããŸã£ããããã§ã¯ãããŸããã
ããŒã·ã£ã«ãäœæããŠããªã³ã«ããªãã®ã¯ãªãã§ããïŒ æ®å¿µãªããšã«ãç§ã¯èª¬æã«åŸã£ãŠãããããããšããããšãèªããæºåãã§ããŠããŸãããããŸããããŸããã§ããã
çè«çã«ãããè¡ãæ¹æ³
ã¬ã€ã¢ãŠããã¡ã€ã«ã§ã¯ãxkb_keymapå
šäœãé
眮ããå¿
èŠã¯ãããŸãããxkb_symbolsã»ã¯ã·ã§ã³ã ãã§ååã§ãã
ããŠã³ããŒãã¯æ¬¡ã®ã³ãã³ãã§å®è¡ããå¿ èŠããããŸãã
æ®å¿µãªãããsetxkbmapã®åºåã¯ã1ã€ã®å Žåãé€ããŠãã©ã®ãã©ã¡ãŒã¿ãŒãããå€æŽãããŸããã
ããããæ®å¿µãªããããã®åºåãxkbcompã«è»¢éããå Žåããšã©ãŒãã¹ããŒãããŸãã
äžéšã®äººã ã¯ã$ DISPLAYã®ä»£ããã«$ {DISPLAY %%ãæžãããšãå§ããŠããŸãã*}
xkb_symbols "my" { include "pc+us+ru:2+inet(evdev)" key <AC10> { [ colon, semicolon ] }; key <TLDE> { [ asciitilde, grave ] }; };
ããŠã³ããŒãã¯æ¬¡ã®ã³ãã³ãã§å®è¡ããå¿ èŠããããŸãã
setxkbmap -I$HOME/.config/xkb my -print | xkbcomp - $DISPLAY
æ®å¿µãªãããsetxkbmapã®åºåã¯ã1ã€ã®å Žåãé€ããŠãã©ã®ãã©ã¡ãŒã¿ãŒãããå€æŽãããŸããã
setxkbmap -I$HOME/.config/xkb -symbols my -print
ããããæ®å¿µãªããããã®åºåãxkbcompã«è»¢éããå Žåããšã©ãŒãã¹ããŒãããŸãã
äžéšã®äººã ã¯ã$ DISPLAYã®ä»£ããã«$ {DISPLAY %%ãæžãããšãå§ããŠããŸãã*}
PS Habrauser kodx ã¯ããããæ£ããè¡ãæ¹æ³ã èŠã€ããŸããã
ããªãŒé¡
CapsLockã«éããããããŸããã ã³ã³ãããŒã«ãå¿ èŠã§ãã
ã©ããã£ãŠïŒ ããã¯ã©ã®ããã«å¯èœã§ããïŒ éæ³ã®æãæ¥ãŸããã
ãŸããCapsLockãã¯ãªãã¯ãããšãã«ããããxkb_symbolsã»ã¯ã·ã§ã³ã«è¿œå ããŠLCTLãååŸããŸãã
replace key <CAPS> { [ Control_L ] }; replace key <LCTL> { [ Caps_Lock ] };
2çªç®ã®è¡ã¯ãå€ãå·ŠCtrlããŒãæŒããšããæªãç¿æ £ãåãé€ãããã«å¿ èŠã§ãã ããããããã«åãããããšãã§ããŸãïŒ
replace key <LCTL> { [ VoidSymbol ] };
次ã«ã
$ xcape -t 1000 -e "Control_L=Escape"
xcapeã¯
ãã®æ¹æ³ã®æ¬ ç¹ã®1ã€ã¯ãEscapeãæŒãããšã§ã¯ãªããããŒãæŸãããšã§æ©èœããããšã§ãã ãã®é 延ã¯äžéšã®äººã«ãšã£ãŠã¯ã²ã©ããã®ã§ã¯ãããŸãããã誰ãã«ãšã£ãŠã¯éèŠã§ãã ãããŠèª°ãã劥åããŸãã
ããŒãã¹
ããããçš®é¡ã®äŸ¿å©ã§ããããŸããªæåã«ã€ããŠã¯ã Compose Keyãªã©ããããŸããããã¯ãç»é¢ã«è¡šç€ºãããUnicodeæåã«å¯Ÿå¿ããç¹å®ã®ã·ãŒã±ã³ã¹ãæŒããŠæŸããåŸã«æŒãããšãã§ããŸãã ããšãã°ãäžé£ã®ããŒã¹ãããŒã¯ãCompose ooãã¯Â°ã衚瀺ããŸãã Compose cccpã¯ãæäŸããŸã ã é¢çœãã§ãã å€ãã®èšå·ãããããããããã£ããã£ããããããã«çµã¿åãããéžæãããŸããã»ãšãã©ã®å ŽåãæŒãé åºã¯éèŠã§ã¯ãããŸãããããšãã°ããCompose e =ããšãCompose = eãã¯äž¡æ¹ãšãâ¬ãäžããŸãã æšæºçãªçµã¿åããã®å®å šãªãªã¹ãã¯ããã«ãããŸãããŸããã/ .XComposeãã¡ã€ã«ã§ç¬èªã®çµã¿åãããå²ãåœãŠãããšãã§ããŸãã
ãããŠãæ£ããCtrlãComposeãšããŠæ©èœãããããã«ã次ã®è¡ããã¡ã€ã«ã«è¿œå ã§ããŸãã
include "compose(rctrl)"
éã§ãéã§
èªè ãå®éšãããããã«ãèšå®å šäœãæå³çã«å ¬éããŸããã ããã«ããã€ãã®ã¢ã€ãã¢ããããŸãã
-FããŒãæŒããŠã HJKLãéåžžã®ç¢å°ã®ããã«æ©èœãããŸãã
-ããŒããŒãã®å·Šååã§å³Shiftã ãã§ã¬ãžã¹ã¿ãã·ããããå³ã§å·Šã·ããã§ã¬ãžã¹ã¿ãã·ããããŸãã ããã¯æã«ãšã£ãŠéåžžã«äŸ¿å©ã§ãããæ £ããŠããŸããïŒã³ã¡ã³ãã®ããŒã«ããã ïŒã
-å·Šã®Shiftãåºå®ããå¿ èŠããªããäžåºŠæŒããŠæŸãã ãã§ååã§ããããšã確èªããŠãããããšãã°ããŒ5ãæŒããŠã ïŒ èšå·ãå°å·ããŸãïŒãã³ãïŒã©ããïŒã
-1ã€ã®ããŒã«2ã€ã®ç°ãªã修食åãæãã
ãããå ±æããŠãã ããã é¢çœãã¢ã€ãã¢ãèããŠããããã§ãã
PSçªç¶èª°ããããªããä»ã®èª°ãã®ããŒããŒãã«åº§ããšããã«ãã¹ãŠãæ£ãããªããšèšããªããç§ã¯ãããèšããŸãïŒå人ã家ã«ã©ããé転ããã®ãå©ããããã«ãã³ãã¬ãŒãã移ããšããããªãã¯åããèªããŸãã ãã³ãã¬ãŒã§ãã€ããã§ããã®ã¯ããã«æ¥œããã
åãã§å°å·ããŠã泚æããŠãã ããïŒ