Remapare taste (CapsLock) în Ubuntu

Încerc să lucrez ocazional si pe Ubuntu și am o problemă: pe Windows folosesc autohotkey pentru a remapa CapsLock pe o combinație (ctrl+insert).

Singurele informații găsite până acum sunt despre cum pot remapa orice altă tastă pe CapsLock, dar nimic despre cum aș putea remapa o combinație de taste. Inițial am crezut că xmodmap este ce am nevoie, dar se pare că nu…

Am găsit o altă aplicație care îmi simulează apăsarea tastelor pe rând, ceea ce cu siguranță nu e ceea ce am nevoie…

În Autohotkey folosesc combinația asta:

Capslock::^Insert

Idei? Se poate? Nu se poate?

Mulțumesc

Cred ca asta [1] e ce ai nevoie. Din cate stiu eu xmodmap nu prea mai exista pe Ubuntu si a fost inlocuit cu xkb. Nu folosesc remapari, dar din nou, “cred” ca asta iti trebuie :slight_smile:

  1. https://help.ubuntu.com/community/Custom%20keyboard%20layout%20definitions

LE. welcome to the dark side!

Xkb este și mai criptic. Evident că trebuie să citesc zeci de pagini de manual pentru a putea face un lucru banal…

Sunt doar în vizită, nu stau mult! :smiley:

/usr/share/X11/xkb/symbols/pc

key <FK09> { [Print] };
key <FK10> { [Scroll_Lock] };

Then clear the xkb settings cache:

rm -rf /var/lib/xkb/*

Era un exemplu pe SO [1] din ce am vazut eu, bine, tie iti trebuiesc alte mappinguri, dar sunt sigur ca le gasesti matale :slight_smile:

  1. How can I remap keyboard keys? - Ask Ubuntu

Asa zicem toti :slight_smile:

1 Like

Păi tocmai asta e problema. Am găsit și eu articolele astea (și altele) dar toate prezentau cum să schimbi o tastă cu o alta. Ori eu vreau să schimb o combinație de taste cu o tastă :slight_smile:

Pai si :

key <CAPS> { [ Control_Insert ] };

Not gonna do it? :slight_smile: Adica vrei sa apesi CAPS si sa-ti trigger-uie Control + Insert, right?

Am reușit! :smiley:

Primul pas: xbindkeys permite rularea unui program.
Al doilea pas: xvkbd permite emularea unui eveniment.

Combinate, dau cam așa:

"xvkbd -xsendevent -text "\[Control]\[Insert]""
Caps_Lock

Ceea ce înseamnă că merge…ish. Face ce vreau eu dar face și toggle la caps.

Am șters din /usr/share/X11/xkb/symbols/pc definiția pentru caps, dau restart să văd ce se întâmplă :smiley:


Am dat restart, evident, Caps nu mai era definit nicăieri. xbindkeys -k îmi arăta următoarele:

➜  ~ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x0 + c:66
    NoSymbol

Prin urmare, am adaptat snippetul de mai sus să reflecte codul tastei:

"xvkbd -xsendevent -text "\[Control]\[Insert]""
m:0x0 + c:66

Tadaaaa!

2 Likes