Aller au contenu

  • Choisissez un arrière-plan

[Macro] Autohotkey


1 réponse dans ce sujet

#1
john_lennon

    Univers DeLL

  • Administrateur
  • 2164 messages
  • Localisation :Bordeaux
Autohotkey est un petit programme permettant de programmer des macros sur des combinaisons de touches y compris multimédia et la touche dell.

Grâce à ce programme, vous allez programmer ce que vous voulez sur des combinaisons de touches. Il n'y a aucune limite à votre imagination comme l'indique le forum très actif de ce programme.

Pour savoir à quel code de touche correspond la combinaison que vous voulez faire:
  • Sur les touches standards: voir la page correspondante du programme ici
  • Pour les touches non standard, style multimédia, dell,...: cliquez avec le bouton droit sur l'icone autohotkey dans la barre de tâche de windows à côté de l'heure et cliquez sur "open". Dans la fenêtre ouverte. Appuyez sur la touche mystérieuse. Cliquez dans le menu sur "View" puis "Key history and script info" (raccourci CTRL+K). Une série de code de chiffre et code doit apparaitre. La 2ème colonne indique la code des touches. Pour plus de renseignement, voir cet article en anglais, section "Special Keys".
Une partie de la documentation a été traduite en français ici

Ce message a été modifié par john_lennon - 19 January 2011 - 13:36:25.


#2
john_lennon

    Univers DeLL

  • Administrateur
  • 2164 messages
  • Localisation :Bordeaux
Il y avait longtemps que je n'avais plus touché au script autohotkey, mais depuis que j'ai eu une tour maintenant, il me manquait quelques fonctions bien pratique, utilisable avec la touche FN des portables, dont le réglage de la luminosité d'écran.
Voilà donc un script autohotkey pour cela (WIN + F1 pour diminuer la luminosité, WIN+F2 pour remettre la luminosité à l'état initiale, WIN+F3 pour l'augmenter)

Citation

; brighness
SetBatchLines -1
#F2:: ; Set Brightness back to 50 % F2
br := 128 ; brightness, in the range of 0 - 255, where 128 is normal
brighness("", 8, 1)
return

#F1:: ; reduce the brightness F1
Brght_Step = 5
brighness("-", 8, 1)
return
#F3:: ; increase the brightness F3
Brght_Step = 5
brighness("+", 8, 1)
return

brighness(key, Brght_Step, showgui)
{
global br
; -------------------
; START CONFIGURATION
; -------------------
; The percentage by which to raise or lower the volume each time
; How long to display the volume level bar graphs (in milliseconds)
vol_DisplayTime = 1500
; Transparency of window (0-255)
vol_TransValue = 200
; Bar's background colour
vol_CW = EEEEEE
vol_Width = 300 ; width of bar
vol_Thick = 20 ; thickness of bar
; Bar's screen position
vol_PosX := A_ScreenWidth/2 - vol_Width/2
vol_PosY := A_ScreenHeight/1.08 - vol_Thick/2
; --------------------
; END OF CONFIGURATION
; --------------------
vol_BarOptionsMaster = 1:B1 ZH%vol_Thick% ZX8 ZY4 W%vol_Width% X%vol_PosX% Y%vol_PosY% CW%vol_CW%

br += (key="-" ? -Brght_Step : Brght_Step )
;br += (InStr(A_ThisHotkey, "F1") ? -Brght_Step : Brght_Step )
If ( br > 256 )
br := 256
If ( br < 0)
br := 0
VarSetCapacity(gr, 512*3)
Loop, 256
{
If (nValue:=(br+128)*(A_Index-1))>65535
nValue:=65535
NumPut(nValue, gr, 2*(A_Index-1), "Ushort")
NumPut(nValue, gr, 512+2*(A_Index-1), "Ushort")
NumPut(nValue, gr, 1024+2*(A_Index-1), "Ushort")
}
hDC := DllCall("GetDC", "Uint", 0) ;NULL for entire screen
DllCall("SetDeviceGammaRamp", "Uint", hDC, "Uint", &gr)
DllCall("ReleaseDC", "Uint", 0, "Uint", hDC)

if (showgui=0)
return

vol_ShowBars:
; Get volumes in case the user or an external program changed them:
vol_Master := (br/2.5)
vbr := (br*100)//256
if vol_Master = 128
{
vol_Colour = Green
vol_Text = Brightness %vbr%`%
}

if vol_Master > 128
{
vol_Colour = Red
vol_Text = Brightness %vbr%`%
}
if vol_Master < 128
{
vol_Colour = Blue

vol_Text = Brightness %vbr%`%
}

; To prevent the "flashing" effect, only create the bar window if it doesn't already exist:
IfWinNotExist, BrightnessOSDxyz
{
Progress, %vol_BarOptionsMaster% CB%vol_Colour% CT%vol_Colour%, , %vol_Text%, BrightnessOSDxyz
WinSet, Transparent, %vol_TransValue%, BrightnessOSDxyz
}

Progress, 1:%vol_Master% ,, %vol_Text%
SetTimer, vol_BarOff, %vol_DisplayTime%
return
}

Maintenant si vous voulez diminuer la luminosité de l'écran après un certain temps d'inactivité comme sur les portables sachant que cette fonction n'est pas disponible sur les tours, voici une solution.

Citation

;decrease brightness after inactivity
InactivityPeriod_mins=2
SetTimer,CheckPeriod,1000
br := 128
brighness("", 8, 0)*

CheckPeriod:
If (A_TimeIdlePhysical >= InactivityPeriod_mins*60*1000)
{
br := 16
brighness("", 8, 0)
SetTimer,CheckPeriod,Off
SetTimer,OKtoCancel,100
}
return
OKtoCancel:
if(A_TimeIdle<100)
{
br := 128
brighness("", 8, 0)
SetTimer,CheckPeriod,1000
SetTimer,OKtoCancel,Off
}
return

Ce message a été modifié par john_lennon - 13 October 2011 - 12:08:36.






1 utilisateur(s) en train de lire ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)