Un altro approccio è usare xmodmap
. Aggiungi quanto segue al tuo ~/.Xmodmap
:
keycode 134 = ISO_Level3_Shift Multi_key
Questo è case sensitive. Il tasto alt destro ( AltGr) sulla mia tastiera sembra avere il codice chiave 134. Se questo non funziona, la probabile spiegazione è che la tua tastiera usa un numero diverso per quel tasto. Per scoprirlo, eseguirlo xev
, premere il tasto che si desidera utilizzare e cercare la parte che dice "codice chiave XXX".
Ovviamente puoi usare qualsiasi tasto per lo scopo; per esempio,
keycode 38 = a Multi_key
farebbe in modo che la achiave fungesse da chiave di composizione (solo) quando spostata. L'incapacità di digitare il capitale Come sarebbe un evidente danno, quindi forse vuoi fare qualcos'altro ☺
Uso Shift + Shift con un trucco:
keysym Shift_L = Shift_L Multi_key
keysym Shift_R = Shift_R Multi_key
Questo fa sì che il tasto Maiusc sinistro funzioni come tasto Maiusc sinistro e il tasto Maiusc destro come tasto Maiusc destro, tranne che se si tiene premuto un tasto Maiusc, ogni tasto Maiusc si comporta come Compose. Alcuni scenari per illustrare:
Se si preme lo spostamento a sinistra, si preme lo spostamento a destra, si rilascia lo spostamento a destra e si rilascia lo spostamento a sinistra — si ottiene lo stesso effetto di se si fosse premuto un Composetasto fisico (le vecchie tastiere Sun avevano quelle, IIRC). Quindi in particolare:
- ShiftShift+ :+ )produce uno smiley, ☺ (almeno con il mio
~/.XCompose
)
- ShiftShift+ a+ aproduce & aring; carattere, "å".
Se premi lo spostamento a sinistra, premi lo spostamento a destra, quindi rilascia i due tasti di spostamento nell'ordine opposto, otterrai lo stesso effetto di cui sopra.
Se si preme lo spostamento a sinistra e lo si rilascia nuovamente (senza spostamento a destra interveniente), si ottengono due eventi da tastiera:
- un
KeyPress
evento perShift_L
- un
KeyRelease
evento perMulti_key
Questo perché quando si rilascia il tasto Maiusc sinistro, viene tenuto premuto un tasto Maiusc (quello sinistro -_-), quindi il tasto viene trattato come se Multi_key
fosse tutto ciò che ha mai fatto. Ciò non mi ha causato alcun problema evidente, ma forse un'applicazione vecchia e buggy potrebbe soffocare sul disadattamento KeyPress
vs.KeyRelease
Si noti inoltre che l'interazione tra i tasti one-shot, i tasti modificatori e i tasti di stato (es a. ShiftE Caps Lock) interagiscono in modo divertente. Se si desidera utilizzare lo stesso tasto sia come tasto BLOC MAIUSC sia (quando si tiene premuto MAIUSC) un tasto di composizione, è possibile ottenere effetti funky. Mi sembra di ricordare che ottieni tutti gli effetti applicabili, che probabilmente non è quello che vuoi, ma sentiti libero di provarlo.
AltGr
+Shift
(quarto livello di spostamento) invece del meno comuneShift
+AltGr
(ora Compose), e questo losystemsettings
mantiene.