Puncte:4

Remapează o combinație de taste la o altă combinație, de ex. AltGr+C -> Ctrl+C, sub Wayland

drapel in

Practic vreau să întreb această întrebare, dar pentru GNOME pe Wayland. Aceasta înseamnă că răspunsurile implicând Tasta automată și xbindkeys nu va funcționa, deoarece niciunul nu funcționează sub Wayland.

Fundal:

Aș dori să remapez câteva chei pentru a le folosi în cele din urmă mai bine Majuscule.

Planul meu este să cartografiez Majuscule la AltGr, și apoi urmează acest pentru a obține combinații de taste asemănătoare vim. Pe Wayland, această remapare se poate face prin fișiere XKB (vezi linkul).

Cu toate acestea, aș dori și eu să folosesc Majuscule pentru copiere/lipire. În prezent, îl am mapat către Ctrl (folosind fișiere XKB). Asta face CapsLock + C funcționează fără probleme în întregul sistem și aș dori să păstrez acest lucru.

Deci: Cu Majuscule mapat la AltGr, Aș dori Capslock (= AltGr) + C a acționa ca Ctrl + C.

Intrebarea mea:

Sub Wayland, pot să mă leg cumva AltGr + C la Ctrl + C?

(Fără doar relegare AltGr la Ctrl, deoarece asta ar învinge scopul)

Un exemplu alternativ cu Q

În fișierul XKB pentru latină /usr/share/X11/xkb/symbols/latin, următorul comportament este definit pentru my Q cheie:

cheie <AD01> { [ q, Q, at, Greek_OMEGA ] };

Aceasta afirmă că cheia are patru ieșiri posibile:

  1. Presat singur, produce q.
  2. Apăsat cu Schimb, produce Q.
  3. Apăsat cu AltGr, produce @.
  4. Apăsat cu AltGr + Shift, produce Ω.

În esență, ceea ce mi-aș dori să obțin este atunci când Q este presat cu AltGr, nu produce @ dar Ctrl + Q.

vanadium avatar
drapel cn
Partea „cel mai bun răspuns” din https://itectec.com/ubuntu/ubuntu-configure-caps-lock-as-altgr-and-arrows-like-in-vim/, schimbarea xkb, va funcționa și pe Wayland.
drapel in
@vanadium Vă mulțumesc, da, pe care îl cunosc și îl folosesc deja. Am adăugat acum detalii pentru a clarifica întrebarea. Dacă XKB poate fi folosit în scopul descris, aceasta ar fi o veste excelentă! Din păcate, nu am nicio idee cu ce sintaxă să experimentez.
vanadium avatar
drapel cn
OK, specificul este mai clar acum. Această modificare specifică va necesita o soluție de „tastare falsă”. Există `ydotool` și, posibil, alte instrumente. Legarea se poate face din managerul de ferestre în loc de `xmodmap`. Nu am experiență, așa că de aceea nu pot dezvolta acest lucru într-un răspuns pentru moment.
Puncte:2
drapel in

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'

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.