Rimappare la tastiera in Windows creando un file di layout

Nelle tastiere italiane – purtroppo – mancano alcuni caratteri che, per programmatori o anche semplici utenti, sono ormai diventati di uso più frequente di quelli inseriti nella tastiera stessa.

IL simbolo £ credo sia ormai caduto in disuso, perchè non cambiarlo con quello dell’euro ?
Il dover usare CTRL-ALT per le parentesi quadre o la chiocciola, e addirittura CTRL-ALT-SHIFT per le parentesi graffe credo sia un contorsionismo di cui chi si diletta a scrivere codice farebbe volentieri a meno. I simboli ç, ° e § sono usati pochissimo e non sarebbe una brutta idea toglierli e mettere al loro posto qualcosa di più utile (es: ` (accento grave), # e |., che personalmente uso molto più spesso di quelli predefiniti.
In italiano, al posto delle virgolette si potrebbero usare i caporali («»), magari associandoli alla combinazione CTRL-ALT-8 e CTRL-ALT-9 (che è mnemonico visto che SHIFT-8/9 apre e chiude le parentesi).

Bene, questo si può fare e al contrario di quanto pensavo io tempo fa, esiste un modo semplicissimo per farlo che è quello di crearsi un layout di tastiera.

Ad esempio, io ho fatto i seguenti cambiamenti (metto fra parentesi il codice alfanumerico per riprodurre il carattere con il tasto ALT)

  • CTRL-ALT-3 -> (none) -> £
  • SHIFT-3 -> £ -> € (CTRL-ALT-e o 5)
  • SHIFT-ò -> ç -> @ (#64) (sarebbe CTRL-ALT-ò per impostazione predefinita)
  • CTRL-ALT-ò -> (none) ->ç
  • SHIFT-à -> ° -> [ (#91) (CTRL-ALT-à)SHIFT-ù -> § -> | (#124)
  • CTRL-ALT-à -> (none) -> °
  • SHIFT-ù -> ] (#93)
  • CTRL-ALT-ù -> (none) ->} (#93)
  • CTRL-à -> (none) ->{ (#123)
  • CTRL-ù -> (**) ->} (#125)
  • CTRL-è -> (**) ->È (0200)
  • CTRL-ALT-8 -> (none) -> « (#174)
  • CTRL-ALT-9 -> (none) -> » (#175)

Il tasto (+/*) vicino al tasto di invio l’ho associato a ai caratteri #/`, non perchè non usi questi caratteri – anzi – ma di solito uso i loro duplicati che si trovano accanto alla tastierina numerica.

NOTA: usare CTRL-lettera o CTRL-numero è una pessima idea perchè solitamente sono combinazioni di tasti utilizzate dai vari software per richiamare funzioni di uso frequente, a mia conoscenza però, nessuna combinazione viene fatta con le lettere accentate.

NOTA 2: CTRL-è, CTRL-+ e CTRL-ù sono di default assegnati a dei caratteri speciali, ignorando il fatto prima di usare il software di rimappatura li ho modificati, non servivano prima, sicuramente non mi serviranno in futuro 🙂

Se, dopo aver letto le note, volete il file che esegue la rimappatura di cui sopra alla tastiera italiana potete commentare che ve lo faccio avere (sia il setup che il sorgente).

Per farlo è sufficiente usare un software distribuito da Microsoft, ai soli possessori di una genuine key, di nome: Microsoft Keyboard Layout Creator (MKLC). Come detto prima di effettuare il download è necessario fare la validazione sul sito. Nonostante Microsoft metta a disposizione un plugin ed una via alternativa per gli utenti Netscape/Mozilla, secondo me si sta prima ad aprire IE e scaricarsi il file. Se non lo si è installato, inoltre, serve recuperare anche il NET Framework, in ogni caso nella pagina di download di Microsoft ci sono tutti i dettagli a riguardo. Consiglio, non provate la beta del download center 😛 .

Una volta installato sarà sufficiente aprire il programma, selezionare File -> Load Existing Keyboard e verranno proposti una serie di layout predefiniti. Selezionare quello che si desidera utilizzare come base per il nuovo layout: (ad esempio italiano)

A questo punto fare le modifiche desiderate ai tasti. Sulla sinistra è possibile spuntare le voci relative ai modificatori (SHIFT, CTRL, CAPSLOCK e CTRL-ALT) , selezionando le caselline si andrà a modificare il carattere che viene premuto usando il modificatore selezionato. Per ottenere il layout relativo al modificatore cCTRL-SHIFt è sufficiente spuntare contemporaneamente CTRL e SHIFT.

Si noti che CAPSLOCK, contrariamente agli altri modificatori, è modale e non si somma agli altri ma definisce un vero e proprio nuovo layout quando è attivo, quindi potrebbe persino essere utilizzato per fare uno switch di tastiera. In parole più semplici: la modalità “tutto maiuscolo” è poco usata, per le poche volte che si usano le maiuscole si ricorre di preferenza allo SHIFT, quindi si può rimappare la modalità CAPSLOCK ON in modo da usare, ad esempio, le lettere greche. Un programmatore potrebbe usare la modalità CAPSLOCK ON per associare alle accentate (che se si scrive codice non servono, anzi danno pure fastidio con alcune codifiche caratteri) i simboli più comuni usati dal linguaggio in uso.

A modifiche effettuate è possibile testare il nostro nuovo layout di tastiera (Project -> Test Keyboard Layout), validarlo (Project -> Validate layout). Non preoccupatevi se ci sono doppioni, anche perchè ve ne sono anche nel file di layout predefinito. A questo punto basterà compilare il file in modo da generare la DLL e il file di setup. Prima di eseguire questa operazione verrà richiesto di inserire altri dati necessari ad identificare il nome del layout, la sua descrizione e i dati dell’autore. Fatto questo, il software creerà i file di layout (sono delle DLL) più un file di setup. Sarà sufficiente eseguire il file di setup per installare il layout di tastiera (credo basti copiare la DLL in System32).

Immagine della schermata di Microsoft Keyboard Layout Creator

Una volta installato il file di layout, andare in Pannello di controllo -> Opzioni internazionali -> Lingua (Geek mode ON: Win-R -> control intl.cpl,,1), cliccare su Dettagli ed aggiungere il proprio layout tastiera a quello/i già presente/ii. Sarà inoltre possibile associare una combinazione di tasti per fare lo switch da un layout ad un altro (ALT-SHIFT di default cambia layout in maniera ciclica).

Impostazione tastiera di sistema in opzioni internazionali (Windows XP)

Info e link per il download:

    Nome: Microsoft Keyboard Layout Creator
    Versione: 1.4
    Dimensione: 10.1 MB
    Data: 30 gennaio 2007
    Sistemi operativi supportati: Windows Server 2003; Windows Server 2003 Service Pack 1; Windows Vista; Windows XP; Windows XP Service Pack 1; Windows XP Service Pack 2
    Necessita NET Framework 2.0.

Ci sono anche altri software che lo fanno (oppure si può modificare il registry), però un file di layout riconosciuto dal gestore tastiere di Microsoft credo sia la miglior soluzione.

Ovviamente, non si può cambiare il carattere visualizzato sui tasti della keyboard, o ci si affida alla propria memoria o ci si mette un adesivo col promemoria !

Technorati Tags: , , ,

19 Responses to “Rimappare la tastiera in Windows creando un file di layout”


  • Mozilla Firefox 3.0.3 Mac OS X 10

    IL simbolo £ credo sia ormai caduto in disuso, perchè non cambiarlo con quello dell’euro ?

    Secondo me ne sarebbero un po’ contrariati i Britannici 😛

  • Mozilla Firefox 3.0.3 Windows XP

    Si, però io stavo parlando della tastiera italiana 😛
    Io comunque non lo ho tolto, lo ho solo passato in secondo piano (CTRL-ALT al posto di SHIFT).
    Ciao
    Tu quando è l’ultima volta che lo hai usato ?
    Io credo di non averlo mai usato quest’anno.
    Ciao

  • Mozilla Firefox 3.0.3 Mac OS X 10

    Acquistando molti DVD in UK mi ritrovo ad usarlo veramente spesso 😀

  • Mozilla Firefox 3.0.3 Windows XP

    Beh, allora se lo si usa, non ne vale la pena :-P.
    Diciamo che io i caratteri £,ç, ° e § sono quelli che uso meno, invece le parentesi (sia quadre che graffe) e il # li uso abbastanza.
    Ciao

  • Mozilla Firefox 3.0.3 Windows XP

    Ah, non è la prima volta che qualcuno mi chiede come si fa il carattere dell’euro o la E maiuscola accentata, quindi magari il post torna utile per quello 🙂
    Ciao

  • Mozilla Firefox 3.0.3 Windows XP

    Ma tu sei una fonte inesauribile di chicche!!!!
    Mi mancavano ç_ç <— (io le uso :P)

    Grazie per l’info.

    Ciao.

  • Mozilla Firefox 3.0.3 Windows XP

    Magari se scrivi in francese ogni tanto possono servire 🙂
    Ciao
    Sandro

  • Mozilla Firefox 3.0.3 Windows XP

    Sandro, i miei complimenti.
    Argomento un po’ ostico, a volte sei stato un po’ troppo geek, a volte hai scritto delle lettere in più (oppure hai scambiato maiuscole con minuscole), però tutto sommato anche gli utonti dovrebbero capirlo.
    Ciao. 😉

  • Mozilla Firefox 3.0.3 Windows XP

    Beh, agli utonti non credo sia consigliabile cambiare i tasti della tastiera 😛
    È stato un casino scrivere questo post, magari poi gli dò di nuovo un’occhiata e correggo.
    Però vedi che bello fare CTRL-è e fare la È, prima non mi ricordavo mai il codice 🙂
    Ciao
    Sandro

  • Mozilla Firefox 3.0.4 Windows XP

    Però vedi che bello fare CTRL-è e fare la È, prima non mi ricordavo mai il codice

    Sì, per questo ti capisco benissimo! 😉

  • Netscape Navigator 4.8 Windows Vista

    Io ho trovato clavier+ (clavier plus) è facile, gira veramente dappertutto (win 98) è veramente free, non richiede ne validazioni ne iscrizioni… Ci ho fatto un portatile per un disabile, a un tasto o una combinazione è possibile mappare anche una frase intera (il mio disabile non riesce a parlare correttamente) o una applicazione, così ho aggiunto un pratico ‘spegnino’ mappato a control F12 .
    (ho esagerato?)

  • Mozilla Firefox 3.5b4 Windows XP

    @vitforlinux,
    grazie per aver condiviso la tua esperienza. Anche con il tool di MS si può mappare su un tasto una frase completa, però per quello io uso/usavo altri tool come Texter o altro che sostituiscono alcune combinazioni di tasti con frasi a scelta.
    Poi proverò a dare anche un’occhiata alla applicazione che hai suggerito, questo tipo di utility fanno risparmiare un sacco di lavoro.
    Ciao

  • Google Chrome 4.0.266.0 Windows Vista

    per fare È si può fare ALT + 2 1 2
    È semplice da ricordare ma ctrl-è -> È è ancora più semplice
    purtroppo lavoro su più pc e non posso rimapparli tutti (quindi imparo ALT 2 1 2) ma è moolto interessante poterlo fare
    anche perchè (in teoria) essendo SW microsoft su OS microsoft non ci DOVREBBERO essere problemi…

  • Opera 9.80 Windows XP

    io uso sharpkeys
    ho rimappato il tasto F1 come INVIO.
    quante volte avete usato F! nella vostra vita?

    avere un invio a disposizione sulla mano sx e’ comodissimo… provate e non potrete piu’ fare a meno!

  • Google Chrome 11.0.696.68 Windows XP

    Dioh… Dove salva la DLL e il file di setup? Non li trovo!

  • Mozilla Firefox 4.0.1 Windows XP

    Se non ricordo male crea una cartella in documenti o in %userprofile% (che su XP è C:\Documents and Settings\nomeutente\).

  • Google Chrome 11.0.696.68 Windows XP

    Scusa, non li avevo proprio creati… Ora ho un altro problema però. Ho dovuto ricreare il layout, ho fatto il test, l’ho validato, ( il log mostra: WARNING: È (U+00c8) is already defined more than once on the keyboard (on VK_OEM_2, ShiftState ‘Shift’ and VK_OEM_1, ShiftState ‘Ctl+Alt’).
    WARNING: ” defined on OEM_102 (Shift) but not defined elsewhere. This key may not be present on all keyboards. ) ma non mi ha chiesto nome del layout, descrizione, cosa che invece aveva fatto con il primo layout. Nel pannello di controllo il layout c’è, ma se lo applico il layout è uguale al predefinito italiano e non è il mio. Cosa ho sbagliato?

  • Mozilla Firefox 54.0 Windows NT

    hi,
    how if i want to remap unicode caracthers instead of ascii?

    thank you
    Alessandro ZErbini

  • Mozilla Firefox 52.0 Windows XP

    Ciao Alessandro,
    io ti rispondo in italiano però.
    Quando rimappi la tastiera puoi mettere il carattere che vuoi, se il font e il software in uso sono compatibili verrà riprodotto.
    Per inserirlo puoi anche semplicemente incollarlo da una pagina web o usando il comando `charmap` di Windows (da Esegui).

    Se invece vuoi inserire i caratteri usando il loro codepoint esadecimale Unicode devi applicare questa modifica al registro di Windows e riavviare il computer:
    https://raw.githubusercontent.com/gialloporpora/yellowpy/master/registry/enablesmartnumpad.reg

    Quando hai riavviato, premi ALT, premi il tasto più e poi il codice Unicode in esadecimale e ottieni il carattere.
    Stai però attento che in alcuni programmi non funziona, ad esempio in Firefox non funziona perché si attivano gli accesskey.

Leave a Reply