笔记本电脑对比功能键

笔记本电脑对比功能键

在我的光面窄视角 LCD 笔记本电脑上,除了亮度之外,我还希望能够通过按功能键来调整对比度。

在控制台命令提示符下:

 ~ $ xgamma                     

返回:

 Red  0.900, Green  0.900, Blue  0.900

我想构建一个命令行,将最后返回的字段 0.900 乘以 1.1(得到 0.990)并将该结果用作输入值:

~ $  xgamma -gamma 0.990 

命令行如下:

~$ xgamma | last / 1.1 | xgamma -gamma

然后以我的键盘布局为例,使用发行版依赖的:控制中心 > 键盘快捷键,我们可以ShiftF5在现有的亮度功能键上方定义一个对比度更高的功能键FnF5。对比度较低时,乘以 1.1

答案1

FORTRAN 解决方案。

从 Linux 主目录创建一个子目录/mygamma/

mygamma 目录包含六个文件:2 个 fortran 程序脚本:contrastdown.f90contrastup.f90、它们的可执行文件gammadown和,以及一个 将当前 xgamma 值保存到文本文件的gammaupshebang 文件xgammasavexgammaval.txt

xgammasave 文件如下所示:

#!/bin/bash

xgamma |& tee ~/mygamma/xgammaval.txt

contrastup.f90文件如下所示:

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

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

制作 Fortran 可执行文件gammaupgammadown

~/mygamma $ gfortran contrastup.f90 -o gammaup  

~/mygamma $ gfortran contrastdown.f90 -o gammadown 

根据 Linux 风格,从控制中心 > 键盘快捷键,在“自定义快捷键”下,选择“添加”,在名称字段中输入快捷键名称“raise gamma”,在命令框中输入,/home/my_name/mygamma/gammaup 同样对于“lowercontrast”键使用命令/home/my_name/mygamma/gammadown

在我的笔记本电脑上FnF6,和 FnF5是默认的亮度调高/调低键,现在它们上方是新定义的ShiftF6ShiftF5是对比度调高/调低键。老式黑白电影现在在光滑的屏幕上看起来很漂亮 :)

是否可以通过使用不同的、更合适的语言来简化 FORTRAN 解决方案。

相关内容