Vraag Google Chrome negeert sleutelmapping met XmodMap


Mijn laptop pijl-omlaag-toets zit vast, dus ik heb Xmodmap gebruikt om de toewijzing van die sleutel te verwijderen met de volgende opdracht:

xmodmap .Xmodmap

De inhoud van mijn .Xmodmap-bestand is slechts de regel:

keycode 116 =

Alle programma's in Ubuntu (zoals gnome-terminal, xterm, Firefox, gedit) respecteren deze toewijzing.

Google Chrome negeert deze toewijzing echter, waardoor de pagina voortdurend naar beneden scrolt of het volume wordt verlaagd wanneer een video op het volledige scherm wordt afgespeeld.

Keek naar:

Beide hadden geen beschikbare oplossing.

De oplossing van https://github.com/dnschneid/crouton/wiki/Keyboard om het toetsenbordlay-outbeheer uit te schakelen met:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

is niet geschikt voor mij omdat ik Japanse tekens moet invoeren, dus ik wil dat de IME beschikbaar is om te wisselen tussen Engels en Japans.


3
2017-09-03 13:56


oorsprong




antwoorden:


In kwestie 394552, een van de gebruikers merkt op dat als je de keymap instelt als een sleutel die Chromium begrijpt (zoals een lettertoets), het de keymap respecteert.

Vandaar, uitgaande van de aanbeveling hier, Stel ik de pijltoets naar beneden in om naar de F18-toets te leiden (die tot nu toe nooit kan worden ingedrukt: P). Dus de inhoud van mijn .Xmodmap-bestand is nu:

keycode 116 = F18 F18 F18

Ik heb getest met deze nieuwe keymap en Chrome lijkt zichzelf nu te gedragen, net als de andere programma's.


1
2017-10-26 13:11



Ik heb het zojuist vandaag opnieuw getest en dit lijkt de inhoud van het klembord op het scherm te plakken. Wat is natuurlijk behoorlijk irritant, omdat het herhaaldelijk herhaaldelijk zal plakken als de pijl-omlaag-toets vastzit :( Meer onderzoek vereist :( - crimsonspectre
Het werkte ook voor mij in Chrome, maar in de console herhaalt het inderdaad de F18-sleutel (die voor mij hoofdletters omzet in kleine letters en omgekeerd). Ik loste het probleem op met behulp van 'keycode 116 = Num_Lock NoSymbol NoSymbol', omdat het me niet uitmaakt of de num lock-toets wordt vastgehouden of niet. - Sparshong


Hier is hoe ik hetzelfde probleem heb opgelost, en ik plaats het hier voor iedereen met dit probleem.

Ik heb het antwoord gekregen hier.

Vanaf de opdrachtregel:

    sudo su

Nu moet je de scancode van de vastzittende sleutel achterhalen.

    showkey -s

Druk vervolgens op de toets en er verschijnen twee scancodes: indrukken en loslaten. Schrijf die op. Of, omdat uw sleutel vastzit, zoek naar de code die zichzelf herhaalt. Voor mij bestaat de down-toets uit twee scancode-paren: 0xe0 0x50 (druk op) en 0xe0 0xd0 (release). U moet het scancode-paar afkorten en setkeycodes gebruiken om het opnieuw te coderen naar een nieuwe toegangscode:

    setkeycodes e050 255
    setkeycodes e0d0 255

Hierdoor wordt uw pijl-omlaagknop op kernelniveau uitgeschakeld, wat problemen in Chrome zou moeten voorkomen. Blijkbaar verwerkt Chrome de toetsenbordinvoer enigszins onafhankelijk van xmodmap en xkb. Dit is een bewuste wijziging om aan te passen hoe Chrome omgaat met invoer in ChromeOS. Gelukkig stopt het uitschakelen van een vastzittende sleutel op kernelniveau het probleem lang voordat het Chrome bereikt. Dit werkte voor mij om een ​​vastgelopen nummerblok 9-sleutel te stoppen van het veroorzaken van ravage.


0
2018-04-22 07:22



Helaas lijkt dit alleen te werken op de specifieke terminal waar deze opdracht is ingevoerd - Sparshong


Dit antwoord het voor mij opgelost:

setxkbmap -option lv3:rwin_switch

En voer vervolgens xmodmap opnieuw uit en start de toepassing opnieuw.


0
2018-03-03 09:49