Există mai multe instrumente care pot face acest lucru, cum ar fi KMonad, Instrumente de interceptare, și cu cheie.
Am avut un succes total cu cu cheie
sub Wayland, așa că descriu ce am făcut cu asta. Vă propun să citiți scurtul README pentru inspirație. Diamonul poate face mult mai mult decât ceea ce se folosește aici.
Soluția prezentă face ceea ce vreau, dar ocolește utilizarea AltGr
ocol. Se tratează Majuscule
la fel de Control
peste tot, cu excepția în h,j,k,l
, pe care îl schimbă în taste săgeți.
1. INSTALARE
eu construiesc cu cheie
de la sursă, pentru că a fost ușor. Următoarele rânduri instalează mai întâi dependențe (inclusiv compilatorul C), descarcă sursa, o construiește și o instalează și o activează ca serviciu și o pornește și o rulează la pornire.
Când ați terminat, vă va spune unde a instalat ce, astfel încât să îl puteți șterge pentru dezinstalare. Puteți șterge codul sursă după instalare.
sudo apt install cmake libudev-dev
clona git https://github.com/rvaiya/keyd
tastată cd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd
2. GĂSIȚI NUMELE TASTATURII PE CARE VREI SĂ REMAPAȚI
Ar trebui să găsiți numele tastaturii, astfel încât să putem face o remapare doar pentru asta. Alerga
sudo keyd -m
și apăsați câteva taste. Va afișa numele tastaturii și tastele apăsate. Notați numele. A mea a fost Tastatură AT Translated Set 2
.
3. FAZĂ UN FIȘIER DE CONFIGURARE
Oriunde, creați un fișier de configurare numit orice. O vom muta mai târziu. Să zicem că folosești ~/my_keyboard.conf
.
În ea, puneți următoarele. #'ed sunt comentarii care explică comportamentul definit (este actualizat pentru v2.1.1. Sper că nu am făcut nicio greșeală):
[ID-uri]
*
[principal]
### STRAT PRINCIPAL
# Faceți ca capslock să activeze al doilea strat:
capslock = layer(movement_layer)
### AL DOILEA STRAT (numit „strat_mișcare”)
# Definiți noul strat, care în timp ce este activ
# în mod implicit tratează fiecare tastă ca și cum ar fi apăsat Control,
# (":C" înseamnă că stratul ar trebui să moștenească stratul de control),
# și suprascrie această implicită numai pentru h, j, k și l, care
# sunt mapate la indicații de orientare.
[stratul_mișcării:C]
h = stânga
j = jos
k = sus
l = corect
# În concluzie, în stratul implicit principal, totul este standard, cu excepția
# când este apăsat CapsLock, atunci al doilea strat este activat.
# Când al doilea strat este activat, totul în afară de h, j, k, l
# acționează ca și cum controlul este menținut --- de exemplu, c copiează și v lipește,
# pe care o dorim, în timp ce ținem apăsat CapsLock.)
4. COPIAȚI ȘI REDENIMITE FIȘIERUL DE CONFIGURARE ȘI TASTA RESTART
În continuare, copiem configurația în locația potrivită și o denumim corect, și anume în funcție de tastatura pe care dorim să o remapăm.
sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf
Apoi repornim cu cheie
deci încarcă noua configurație:
sudo systemctl restart keyd
Acum ești în funcțiune :)
5. UN SFAT: CREAȚI UN ALIAS PENTRU A COPIA CONFIGURAȚII ȘI REPORNITĂ TASTA
Am ajuns să mă joc mult cu fișierele de configurare. Le-am editat într-un subdirector al folderului meu de acasă, apoi le-am copiat și le-am repornit.
Pentru a face acest lucru mai puțin o bătaie de cap, în ~/.bash_aliases
, Am adăugat
alias rekeyd='sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf && sudo systemctl restart keyd'