Come posso fare in modo che Ctrl + Alt si comporti come Alt gr in Ubuntu?


11

Di recente sono passato a Ubuntu sul mio laptop e una cosa che mi ha quasi fatto tornare a Windows è il fatto che non riesco a fare Ctrl+ Altper comportarmi come Alt gr.

Ho programmato per diversi anni e ad esempio sono così abituato a fare il segno "$" premendo ctrl+ alt+ 4. Qui in Ubuntu devo usare la strega "Alt gr + 4" quasi mi fa impazzire ...

C'è una correzione per questo?


1
hai provato a giocare con le mappature del tasto di composizione? help.ubuntu.com/community/ComposeKey
Tim Kennedy,

Puoi usare il xmodmapcomando per fare questo. Controlla questo askubuntu.com/questions/5095/typing-using-key-combinations
Bichoy

Prova xmodmap, che è disponibile nel pacchetto x11-xserver-utils in ubuntu. Ti consente di rimappare qualsiasi combinazione di tasti.
Warren,

@elitasson Se trovi la risposta alla tua domanda, ti preghiamo di inserirla come risposta separata.
Bernhard,

@Bernhard No, non puoi farlo con xmodmap. Non supporta la trasformazione della combinazione Ctrl + Alt in un modificatore distinto. Ma penso che tu possa farlo con xkb .
Gilles 'SO- smetti di essere malvagio' il

Risposte:


3

È possibile aggiungere collegamenti globali per scrivere caratteri speciali. Lo uso spesso per il mio layout di tastiera tedesco con Ubuntu (su Windows funziona subito).

Ho aggiunto le seguenti scorciatoie:

Shift+ Enter+ 7per scrivere la lettera{

Shift+ Enter+ 0per scrivere la lettera}

Shift+ Enter+ 8per scrivere la lettera[

Shift+ Enter+ 9per scrivere la lettera]

Per aggiungere queste scorciatoie dovrai xbindkeyse xvkbd:

sudo apt-get install xbindkeys xvkbd

Quindi modificare il file di configurazione:

vim ~/.xbindkeysrc

E aggiungi le seguenti righe (modificale come preferisci):

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

Quindi ricaricare xbindkeys:

xbindkeys -f ~/.xbindkeysrc

Grazie al mago per averlo condiviso ( http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/ ).


1
Potresti spiegare cosa fanno le righe m: 0xc + c: XX?
elitasson,

1
So che questa è una vecchia domanda e risposta, ma solo per coloro che vogliono aggiungere più personaggi come | oppure @ o €: c:XXper quanto ne so, i codici chiave utilizzati non sono universali, quindi non avrai fortuna a cercarlo su Google. È tuttavia possibile trovare un codice chiave localmente installando ed eseguendo "xev" nella riga di comando. Stamperà tutte le azioni della tastiera e del mouse, quindi dovrai scorrere un po 'per trovare il "tuo" personaggio.
Nano Miratus,

1
Ad esempio, premendo <(per configurare |) mentre si esegue xev lo stampa: KeyRelease event, serial 40, synthetic NO, window 0x4c00001, root 0x7e, subw 0x0, time 35363548, (135,60), root:(903,472), state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES, XLookupString gives 1 bytes: (3c) "<" XFilterEvent returns: Falseil numero necessario è sempre nella terza riga, dopo "keycode". Quindi, in questo caso, 94.
Nano Miratus,

2

Dopo aver provato e non riuscire a farlo funzionare con una combinazione di xbindkeys e xvkbd / xte (non sono mai riuscito a far sì che certi caratteri {, [,],}, \, ecc. Si comportassero correttamente forse perché utilizzo un layout di tastiera scandinavo), Alla fine ho trovato una soluzione semplice e pratica: Autokey. Ecco le istruzioni esatte per farlo funzionare:

  1. Installa Autokey tramite Ubuntu Software (ho usato la versione GTK, non KDE) o tramite: "sudo apt-get install autokey-gtk".
  2. Configura uno script per tasto, ad es. Per {usa questo codice: keyboard.send_keys("<alt_gr>+7")e imposta il tasto di scelta rapida su Ctrl + Alt + 7 (prima imposta il tasto di scelta rapida su 7, quindi aggiungi Ctrl e Alt come modificatori). Questo almeno ha funzionato per le chiavi di scrittura del codice più importanti: {[]}.
  3. Aggiungi autokey alle applicazioni di avvio (cerca "start" per trovarlo) e quindi aggiungi un programma con "autokey" come comando.

Questa soluzione funzionerà per tutto ciò che è in esecuzione nell'attuale sessione X (credo) ma non funzionerà se avvii una nuova sessione terminale usando Ctrl + Alt + (F2-F6).


1

Anche se questo non risponde ancora alla tua domanda, trovo che questa sia una soluzione più semplice rispetto alle altre risposte.

Per farlo R-ALTfunzionare AltGr, puoi aggiungere la seguente riga al tuo ~/.xinitrc:

setxkbmap -option lv3:ralt_switch

Si possono trovare altri modi per passare al 3 ° livello (quello che di solito si ottiene usando la AltGrchiave) e in cui è possibile definire nuovi modi /usr/share/X11/xkb/symbols/level3.


1

Ecco cosa ho fatto per far sì che la L-Altchiave si comportasse esattamente come la Altgrchiave. Non ho provato con la CtrlAltchiave

Consiste nella modifica del file level3

Nel terminale, cambia directory:

cd /usr/share/X11/xkb/symbols

crea una copia del file level3:

sudo cp level3 level3.old

modifica level3 con qualsiasi editor di testo:

sudo gedit level3 

Dovresti trovare un blocco come questo:

  key <RALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Aggiungi una copia del blocco con LALT (alt sinistro) invece di RALT (altgr):

  key <LALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

Ora, dovrebbero esserci altri 3 blocchi che iniziano con key <RALT>

Fai lo stesso con loro.

Salva ed esci.


0

Uso i segni speciali solo quando scrivo codice, quindi sono riuscito a risolvere il problema con Sublime Text.

In Preferenze -> Associazioni dei tasti - Utente

inserire quanto segue:

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.