Blog (appunti di vita in ordine sparso)

Scorciatoie tastiera windows

Inventare nuove scorciatoie da tastiera

Ogni sistema operativo ha molte scorciatoie da tastiera; alcune di queste possono essere veramente comode e permetterci di risparmiare del tempo. E se potessimo inventarci anche noi delle nostre personali scorciatoie? In Windows questo è possibile creando i propri script e dandoli in pasto al programma AutoHotkey; cominciamo quindi ad effettuare il download di AutoHotkey, scegliendo tra la versione a 64bit o x86.

Scompattiamo il contenuto del file compresso zip appena scaricato in una cartella AutoHotkey che andiamo a creare in C:\Programmi. Nella stessa cartella C:\Programmi\AutoHotkey andiamo a creare anche un file di testo con estensione .ahk al posto di .txt; chiamiamolo per esempio custom.ahk. Chiaramente la cartella C:\Programmi è protetta, quindi dovrai creare il tuo file, per esempio, su desktop, per poi andare a copiarlo nella cartella desiderata.
Creiamo un collegamento al programma AutoHotkey.exe in Esecuzione automatica, passandogli come parametro il file custom.ahk (pulsante destro del mouse sul collegamento, Proprietà, e come Destinazione: “C:\Program Files\AutoHotkey\AutoHotkey.exe” custom.ahk.

AutoHotkey 00
Andando ad eseguire il collegamento appena creato verrà aperto il programma AutoHotkey: troveremo l’iconcina verde contenente una H nella systray, di fianco all’orologio. Ovviamente ora AutoHotkey non farò nulla, in quando nello script all’interno del file custom.ahk non abbiamo ancora definito nulla.

Modificando il file custom.ahk, possiamo ricaricare lo script semplicemente facendo clic con il pulsante destro del mouse sull’iconcina verde di AutoHotkey in esecuzione e dicendo “Reload This Script”.

Il nostro primo script AutoHotkey

Io ho scoperto AutoHotkey, tempo fa, perché stavo cercando un sistema rapido per scrivere le virgolette: « e ». Normalmente, in Windows, per scrivere questi caratteri possiamo eseguire il programma Charmap, selezionare i caratteri che vogliamo e copiarli negli appunti. Oppure, se ci ricordiamo la codifica ASCII dei caratteri, possiamo anche tener premuto il tasto Alt e digitare con il tastierino numerico 0171 per « e .. Alt+0187 per ». Per non dover ricordare i numeri ASCII di questi caratteri, tramite AutoHotkey ho creato due combinazioni di tasti: Alt Gr (Alt di destra) insieme al tasto < e Alt Gr insieme a > (ovvero sempre < premendo anche Shift).

Nel file custom.ahk basta che copiamo quanto segue…

; AltGr+< output «
<^>!<::
Send {Asc 0171}
return
; Shift+AltGr+> output »
<^>!>::
Send {Asc 0187}
return

…Salviamo il file, ricarichiamo lo script tramite AutoHotkey… Ed ora premendo in un qualsiasi input di testo di Windows AltGr+< avremo scritto il carattere «. Carino, no? 🙂

Riguardo la sintassi dello script: chiaramente il punto e virgola indica una riga di commento; <^>!< significa “pressione di AltGr e del tasto <; Send {Asc nnnn} invece non fa altro che generare un carattere da una data codifica ASCII. Ti rimando, se vuoi approfondire, alla pagina del progetto dove puoi trovare tutte le indicazioni sulla sintassi e quant’altro: ahkscript.org.

Qualche esempio…

Io nel mio script AutoHotkey ho implementato le seguenti funzionalità:

  • Scrittura dei caratteri « e » tramite AltGr+< e AltGr+>
  • Scrittura della E accentata È tramite Shift+AltGr+E
  • Apertura del programma Notepad++ tramite la combinazione Ctrl+Alt+n
  • Apertura del prompt di MS-DOS tramite Win+T o Ctrl+Alt+T (la T di terminal, copiando la scorciatoia nei sistemi Linux con Gnome)
  • Visualizza/nascondi file nascosti tramite la combinazione di tasti Win+H
  • Gestione del player musicale VLC Media Player tramite i tasti multimediali della tastiera (play/pausa, stop, traccia successiva, traccia precedente)
; -------------------------------------------------------------
; 2015-09-16, deste360.com
; AutoHotKey configuration file
; AutoHotKey download from ahkscript.org
; -------------------------------------------------------------



; -------------------------------------------------------------
; Typography characters: «, », È
; -------------------------------------------------------------

; AltGr+< output «
<^>!<::
Send {Asc 0171}
return
; Shift+AltGr+> output »
<^>!>::
Send {Asc 0187}
return
; Shift+AltGr+E output È
+<^>!E::
Send {Asc 0200}
return



; -------------------------------------------------------------
; Open Notepat++ when press Ctrl+Alt+n
; -------------------------------------------------------------

^!n::
IfWinExist Untitled - Notepad
	WinActivate
else
	Run "C:\Program Files (x86)\Notepad++\notepad++.exe"
return



; -------------------------------------------------------------
; Open command prompt when press Win+T or Ctrl+Alt+T
; -------------------------------------------------------------

#t:: run, cmd.exe, C:\
return
!^t:: run, cmd.exe, C:\
return



; -------------------------------------------------------------
; Toggles hidden files when press Win+H
; (www.howtogeek.com/howto/keyboard-ninja/keyboard-ninja-toggle-hidden-files-with-a-shortcut-key-in-windows/)
; -------------------------------------------------------------

#h::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden
If HiddenFiles_Status = 2 
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 1
Else 
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 2
WinGetClass, eh_Class,A
send, {F5}
Return



; -------------------------------------------------------------
; VLC control with media keyboard hotkeys
; -------------------------------------------------------------

Media_Play_Pause::
	SetTitleMatchMode RegEx
	IfWinExist .*Lettore multimediale VLC
	{
 	    ControlSend, ahk_parent, {Space}  ;
	}
	else
	{
	    Run "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe", D:\Music\vlc_playlist.xspf
	    WinActivate
	}
	return

Media_Next::
	SetTitleMatchMode RegEx
	IfWinExist .*Lettore multimediale VLC
	{
		ControlSend, ahk_parent, {n}  ;
	}
	return

Media_Prev::
	SetTitleMatchMode RegEx
	IfWinExist .*Lettore multimediale VLC
	{
	   ControlSend, ahk_parent, {p}  ;
	}
	return

Media_Stop::
	SetTitleMatchMode RegEx
	IfWinExist .*Lettore multimediale VLC
	{
	   ControlSend, ahk_parent, {s}  ;
	}
	return
    
; -------------------------------------------------------------

 

…Dunque ora non hai che da divertirti ad inventare le tue combinazioni di tasti! 😀

Commenti offerti da CComment

Articoli correlati

di De Stefani Andrea
Morbegno - SONDRIO
P.IVA 01047560147

Social