Laptop-Kontrastfunktionstasten

595
eromana

Bei meinem glänzenden LCD-Laptop mit schmalem Betrachtungswinkel möchte ich neben der Helligkeit auch den Kontrast durch Drücken einer Funktionstaste einstellen können.

An der Eingabeaufforderung der Konsole:

 ~ $ xgamma 

kehrt zurück:

 Red 0.900, Green 0.900, Blue 0.900 

Ich möchte eine Befehlszeile erstellen, die das letzte zurückgegebene Feld von 0,900 multipliziert, mit 1,1 multipliziert (um 0,990 zu erhalten) und dieses Ergebnis als Eingabewert für Folgendes verwenden:

~ $ xgamma -gamma 0.990 

Eine Befehlszeile entlang der Zeilen von:

~$ xgamma | last / 1.1 | xgamma -gamma 

Verwenden Sie dann mein Tastaturlayout als Beispiel und verwenden Sie die distro-abhängige Funktion: Control Center> ShiftF5Tastenkombinationen FnF5. Wir können eine Funktionstaste für den Kontrast oberhalb der vorhandenen Funktionstaste für die Helligkeit definieren . Für weniger Kontrast mit 1,1 multiplizieren

0

1 Antwort auf die Frage

0
eromana

Die Fortran-Lösung.

Aus dem Linux-Home-Verzeichnis ein Unterverzeichnis erstellen /mygamma/

Das mygamma Verzeichnis enthält sechs Dateien: 2 Fortran - Programm Skripte: contrastdown.f90und contrastup.f90die ausführbaren Dateien gammadownund gammaupund eine shebang Datei xgammasave, die den aktuellen xgamma Wert in eine Textdatei speichertxgammaval.txt

Die xgammasave-Datei sieht folgendermaßen aus:

#!/bin/bash  xgamma |& tee ~/mygamma/xgammaval.txt 

Die contrastup.f90Datei sieht so aus:

program contrastup  character(len=20):: string,string2,string3 ! variable type declarations  real(kind(1.0)) :: x  call system('/home/my_name/mygamma/xgammasave') ! write the xgamma value to a file  open(unit=2,file='/home/my_name/mygamma/xgammaval.txt',action='read',status='old')  read(unit=2,fmt=*)string,string2,string3 ! read the file  read(string3,*)x ! make a real from a string  x=x/1.2 ! change the contrast  if (x .le. 0.1) goto 10 ! xgamma value can not be less than 0.1  write(string,*)x ! make a string from a real  string2='xgamma -gamma ' // trim(string) ! concatenate 2 strings  call system(string2) ! pass the string to the command line  10 close(unit=2)  end program contrastup 

und contrastdown.f90

program contrastdown  character(len=20):: string,string2,string3 ! variable type declarations  real(kind(1.0)) :: x  call system('/home/my_name/mygamma/xgammasave') ! write xgamma value to a file  open(unit=2,file='/home/my_name/mygamma/xgammaval.txt',action='read',status='old')  read(unit=2,fmt=*)string,string2,string3 ! read the record  read(string3,*)x ! make a real from a string  x=x*1.2 ! change the contrast  if (x .ge. 10.0) goto 10 ! xgamma value can not be greater than 10.0  write(string,*)x ! make a string from a real  string2='xgamma -gamma ' // trim(string) ! concatenate two strings  call system(string2) ! pass the string to the command line  10 close(unit=2)  end program contrastdown 

Machen Sie die ausführbaren Fortran-Dateien gammaupund gammadown:

~/mygamma $ gfortran contrastup.f90 -o gammaup   ~/mygamma $ gfortran contrastdown.f90 -o gammadown  

Wählen Sie je nach Linux-Variante unter Control Center> Tastenkombinationen unter "Benutzerdefinierte Tastenkombinationen" die Option "Hinzufügen" aus. Geben Sie im Namensfeld den Namen der Tastenkombination "Gamma erhöhen" ein. Geben Sie in das Befehlsfeld auch die Option /home/my_name/mygamma/gammaup "Weniger Kontrast" ein Taste mit Befehl/home/my_name/mygamma/gammadown

Auf meinem Laptop FnF6und FnF5sind die Standard - Helligkeit nach oben / unten Tasten, über sie nun die neu definiert ShiftF6und ShiftF5ist der Kontrast Tasten auf / ab. Vintage-Schwarzweiß-Filme sehen jetzt auf dem glänzenden Bildschirm gut aus :)

Kann die Fortran-Lösung zu Code Golfweniger Zeilen führen.