换肤

logo

logo

深研究:第三方ThinkPad热键屏显程序tphk

2019-05-08 08:24:19 | 来源:本站论坛 | 作者:slangmgh
本站论坛网友slangmgh的作品,不仅仅可以完成ThinkPad的On Screen Display功能,而且还可以深度自定,当下进行更新以适应ThinkPad的新机型

tphk是一个用来代替联想thinkpad笔记本上的热键和屏显功能的一个小程序。后来,我又在这些功能的基础上又陆续增加了好多别的小功能。最近由于自己更新了新的笔记本P1,所以顺便就适配了新版的Thinkpad。并附上功能的介绍。

原帖在这里:https://forum.51nb.com/forum.php?mod=viewthread&tid=1436101

tphk的所有功能都需要在tphk.ini配置文件中配置,下面我们针对各个功能详细描述这些功能的配置。

1. Fn热键功能

传统Thinkpad笔记本提供了Fn-F1..F12的热键功能,是大家比较喜欢的功能,但是为了利用这些功能,我们必须安装并执行一堆Lenovo提供的程序。tphk当初就是为了不要安装并执行这些程序而做的。设置热键的功能在[Hotkey]节下面配置:

[Hotkey]

Fn-F3=MonitorOffWithLock

Fn-F5=WlanToggle

tphk支持所有Thinkpad机器支持的热键,根据不同的机器型号不同,可以配置的Fn热键主要有以下这些(每个机型只支持其中的一部分):

Fn-F1 Fn-F2 ... Fn-F11 Fn-F12

Fn-HOME Fn-END Fn-PGUP

Fn-1 Fn-2

Fn-4

Fn-Tab

Fn-SPACE Fn-PrtSc

ThinkVantage

在[Hotkey]下可以配置各个热键需要执行的命令(关于tphk支持的命令后面专门讲)或者程序(程序可以带参数)。

2. 非Fn热键

非Fn热键就是普通的热键,可以用Win/Ctrl/Alt/Shift进行组合。普通的热键也定义在[Hotkey]下面,举例如下:

[Hotkey]

Ctrl+Win+X=Exit

Win+Snapshot=SnippingTool.exe

其中除了和0..9 A..Z 等Ascii字符进行组合外,还可以用以下功能键进行组合:

Space:空格

Left, Right, Up, Down, Tab, Insert, Delete, Home, End, Back, Return, Enter,

Escape, PageUp, PageDown, Num0, Num1, ..., Num9,

OEM_1, OEM_2, OEM_3, ..., OEM_8, OEM_PLUS, OEM_COMMA, OEM_MINUS, OEM_PERIOD: 小键盘

Add, Multiply, Subtract, Divide, Decimal, Seperator, Pause, Scroll, NumLock, CapsLock,

Select, Print, Execute, Snapshot, Help,

VolumeMute, VolumeDown, VolumeUp,

BrowserBack, BrowserForward, BrowserRefresh, BrowserStop, BrowserHome, BrowserSearch, BrowserFavorites,

MediaNext, MediaPrev, MediaStop, MediaPlayPause,

F1, F2, F3, ..., F11, F12

3. 特殊热键

除了以上的热键以外,tphk中还定义了其他一些特殊的热键,方便大家使用。

a)中键组合,用小红点下面的中键和其他字母进行组合。因为我平常拇指都放在中键上,所以,只需要其他的手指按下别的键,配合中键按下就可以(可惜这个功能目前在win10下还不能用,无法适配最新的红点驱动,但是在Win7下面应该是可用的)。中键用Mid定义,如:

[Hotkey]

Mid+V=ViMode

Mid+B=ResetMiddleButton

Mid+G=ToggleToLeftButton

Mid+H=ToggleToRightButton

Mid+N=ToggleToMiddleButton

b) Fn/Ctrl/Shift/Alt双击。用这几个键双击做快捷键一来非常方便,二来也很酷,譬如我最常用的功能就是连击两次Fn或者Ctrl是息屏。举例如下:

[Hotkey]

Fn+Fn=MonitorOff

Ctrl+Ctrl=MonitorOff

c) Fn和其他的字母组合。我们知道Fn只能和以上第一节中描述的那些键进行组合才能产生相应的键盘事件(在驱动里),和其他的键一起按并没有什么作用,不过,我们可以用先按下Fn然后放开Fn,再按别的键来达到组合的目的,虽然不是很方便,但是好在可用。定义的方式就是Fn+字母(注意第一节中是用减号),如:

[Hotkey]

Fn+D=dbgview.exe

4. 屏显功能

屏显功能就是在界面上显示音量/亮度以及其他重要事件的变化信息。tphk的屏显功能比联想提供的功能更多更强大。

目前tphk支持的屏显功能包括:

a) 音量的变化/静音

b) 屏幕亮度的变化

c) 麦克风静音

d) 无线网络启用禁用

e) 蓝牙启用禁用

f) 触摸板启用禁用

g) 电池电量变化

h) CPU利用率变化

i) CPU温度变化

j) CapsLock变化

其中屏显的背景颜色以及屏显框的圆角大小都可以通过配置文件tphk.ini来修改,屏显的配置在[OSD]中,主要配置项如下:

[OSD]

; 全屏状态下隐藏屏显

HideWhenFullScreen=1

; 屏显的超时,缺省3秒(3000)

TimeOut=3000

; 屏显背景颜色

BackGroundColor=0x80

; 屏显的透明度(0-255), 255表示不透明,0表示全透明

Alpha=220

; 四脚圆弧大小

Corner=10

; 是否屏显电池状态

ShowBattery=0

; 屏显电池状态的级别, 变化超过一个级别才显示

ShowBatteryLevel=10,20,30,40,50,60,70,80,90

; 是否屏显CPU使用率

ShowCPU=0

; 是否屏显CPU温度

ShowCPUTemp=0

; 是否显示Fn键按下

ShowFnKey=0

; CapLock 打开的超时,单位毫秒,0表示一直显示

CaponTimeOut=0

; CapLock 显示的位置,1=左边 2=中间 3=右边

CapLockAlign=3

; 是否显示CapLock指示灯,缺省显示

ShowCapLock=1

; 是否显示Volume Mute指示灯,缺省显示

ShowVolumeMute=1

; 是否显示Wifi的状态

ShowWlanState=1

5. 风扇控制

由于每个人对风扇噪音的忍受能力/对机器散热的要求等都不相同,这就要求我们有个性化的风扇控制,而不是一切都是BIOS说了算。风扇控制相对比较简单,只是在新的版本里增加了一些高级的功能,具体在后面进行介绍,这里先介绍基本功能。

风扇控制的内容在[Fan]中定义,基本结构如下:

[Fan]

; 设置SmartMode为1表示启动自动风扇调节

SmartMode=1

; 是否同时控制第二风扇

SecondFan=0

; 只有当温度超过这个值时才启动第二风扇

SmartFan2Temp=60

; Level1=50,45 表示大于等于50度,就用Level 1

; 到温度降到45度时,切换到上一级别

Level0=20

Level1=50,45

Level2=60

Level3=70

Level64=80

Bios=95

风扇有两种控制模式,一种自动,一种手动,如果SmartMode为1就是自动模式,否则就是手动模式。一般我们都用自动模式,然后可以在菜单项中临时选择风扇级别临时切换到手动模式。在自动模式下,程序会根据Level0, Level1, Level2, ...中定义的温度自动切换风扇级别。风扇总共有8种级别,分别是0,1,2,3,4,5,6,7,64。其中每种级别可以设置两个温度,大的温度表示连续2次上升到这个温度后就切换到这个级别,小的温度表示连续2次下降到这个温度就切换到下一级别,如果只设置一个温度,那么表示两个温度相同。

如果机器有第二个风扇,可以设置SecondFan=1。另外,有时我们希望当温度达到一定程度的时候才启动第二风扇,那么可以设置SmartFan2Temp为启动第二风扇的温度阈值。

6.内置命令

内置命令可以在热键中或者在自定义菜单(后面再介绍)中使用。目前内置的命令主要有(按照程序中的顺序写了):

Exit:退出tphk程序

Reload: 重新加载配置文件(一般在配置文件修改的情况下,按任何一个热键会自动加载配置文件的,所以这个命令一般用不着)

MicMute: 麦克风静音

VolumeUp/VolumeDown/VolumeMute: 声音控制

TouchpadToggle: 触摸板启用禁用

WlanToggle: 无线启用禁用

ThinkVantageToggle: ThinkVantage灯打开/关闭(x301机器有ThinkVantage灯)

ThinkVantageOn/ThinkVantageOff: 打开/关闭ThinkVantage灯

LockWorkStation: 锁屏

Shutdown: 关机

Suspend: 机器挂起

Hibernate: 休眠

EditConfigFile: 用缺省编辑器打开tphk.ini配置文件

BTToggle: 蓝牙启用禁用

BrightUp/BrightDown: 亮度控制

WinTransparent: 当前窗口透明化,可以加一个参数,在0-255之间表示透明程度

MinimizeAllButMe: 最小化所有窗口,除了当前窗口以外

AlwaysOnTop: 当前窗口置顶

Send: 发送键盘序列,可以发送各种键盘组合,包括各种快捷键

ShowMenu/Menu: 后面加菜单名称,显示自定义菜单(后面介绍)

MonitorOff: 息屏

MonitorOffWithLock: 息屏并锁屏

ToggleLidCloseAction: 切换合拢屏幕时候是休眠还是啥也不做(外接屏幕时可以把笔记本屏幕关掉)

7. 事件处理


tphk有一些自定义的事件,用户可以在这些事件发生的时候做一些想做的事情。目前支持的事件有以下这些:

[Event]

MonitorOn=Send ^#G

MouseOnTopLeft=ShowMenu MainMenu

MouseOnTopRight=Send ^%#N

PowerBattery=d:\Tool\ThrottleStop\startts.ahk

MonitorOn: 当屏幕显示的时候触发

MonitorOff: 息屏时触发

MouseOnTopLeft: 当鼠标移到屏幕的左上角并停留一定的时间(在选项中设置)后触发(我用于显示常用的命令菜单)

MouseOnTopRight: 当鼠标移到屏幕的右上角并停留一定的时间(在选项中设置)后触发

PowerBattery: 切换到电池时触发

PowerAC: 切换到电源适配器模式时触发

LidColse: 屏幕合拢的时候触发

LidOpen: 屏幕打开的时候触发

8.自定义菜单


自定义菜单是我比较常用的一个功能,主要用于当鼠标移到左上角的时候停留一下,然后出现菜单:

自定义菜单可以嵌套,如上图所示,定义菜单很简单,自定义任意名字的Section,Section名字就是菜单的名字,上图的菜单定义如下:

[MainMenu]

&&. 桌面切换=Send ^%#N

&&. 高对比度切换=Send #%^P

&&. 恢复屏幕色温=setgamma.exe -restoresave

&&. 自动屏幕关闭=ToggleMonitorOffCheck

&&. 优化屏幕色温=setgamma.exe -restore

&&. 声音关闭=VolumeMute

&&. 触摸板启用=TouchpadToggle

&&. 无线启用=WlanToggle

&&. 蓝牙开关=BTToggle

&&. 合上屏幕休眠=ToggleLidCloseAction

&&. 窗口透明化=WinTransparent

&&. 窗口置顶=AlwaysOnTop

&&. 窗口ViMode=ViMode

&&. 计算机管理=compmgmt.msc

&&. 颜色管理=colorcpl.exe

&&. 移动中心=mblctr.exe

&&. 重新勾住指点杆=HookStick

&&. 打开手势动作管理=StrokePlusActions

&&. 切换按键调试=ToggleDebugKey

;&&. 休眠=Suspend

;&&. 打开最后一次手势=SaveGesture

&&. 编辑Hotkey配置文件=EditConfigFileWith gvim.exe

&&. 编辑Gamma配置文件=gvim.exe d:\tool\gamma.ini

&&. 编辑Syntp配置文件=gvim.exe d:\tool\syntpmod.ini

&&. 编辑Cmd启动配置文件=gvim.exe d:\tool\Vc.bat

&&. 编辑Macro配置文件=gvim.exe d:\tool\macro.txt

&&. 编辑Inject配置文件=gvim.exe d:\tool\injectcp.ini

;&&. 备份数据到USB=fastcopy.exe /no_exec /auto_close /job=BackupDataToUSB

;&&. 备份到USB=fastcopy.exe /no_exec /auto_close /job=BackupAllToUSB

&&. Winspy=winspy.exe

&&. 测试工具=Menu TestToolMenu

&&. 常用工具=Menu ToolMenu

&0. 退出Hotkey=Exit

&0. 退出菜单=None

[TestToolMenu]

&&. Aida64="d:\Program Files\AIDA64\aida64.exe"

&&. FurMark="d:\Program Files\SysTest\FurMark\FurMark.exe"

&&. Chess="d:\Program Files\SysTest\Fritz Chess Benchmark4.3.exe"

&&. CPU-Z="d:\Program Files\SysTest\cpuz_x32.exe"

&&. GPU-Z="d:\Program Files\SysTest\GPU-Z.exe"

&&. HWiNFO="d:\Program Files\SysTest\HWiNFO32.exe"

&&. SuperPI="d:\Program Files\SysTest\super_pi_mod.exe"

&&. BurnTest="d:\Program Files\SysTest\IntelBurnTestV2.exe"

&&. wPrime="d:\Program Files\SysTest\wPrime.exe"

&&. TxBench="d:\Program Files\SysTest\TxBench.exe"

&&. SSD Life="d:\Program Files\SysTest\ssdlife.exe"

&&. Disk Info="d:\Program Files\SysTest\DiskInfo.exe"

&&. HDTune Pro="d:\Program Files\SysTest\HDTunePro.exe"

&&. DNS Benchmark="d:\Program Files\SysTest\DNSBench.exe"

&&. AS SSD Benchmark="d:\Program Files\SysTest\AS SSD Benchmark.exe"

&&. Intel SSD Toolbox="d:\Program Files\Intel SSD Toolbox\Intel SSD Toolbox.exe"

&&. DisplayX=displayx.exe

&0. Exit=None

其中最前面的 '&&' 会被自动替换成序号,如果是 &A,那么就是带下划线的A,A字母可以作为快捷字母。

9. 高级风扇/温度管理

在我的上一篇帖子中,有讲述如何用温度墙去控制性能/散热/噪音之间的平衡。https://forum.51nb.com/forum.php ... &tid=1890097&extra=

这里需要用到的工具就是tphk。为使用温控功能,首先我们需要在[Options]中启用温控功能 CPUThermalControl=1,缺省是关闭的,然后就可以在[Fan]中设置温度上限了。

[Fan/p1]

; 当前这个风扇策略的名字,如果有1个以上的风扇策略,它们会出现在菜单里进行切换

Name=Quiet

; 温度墙的检查时间,缺省1分钟。由于温度墙设置后一般不会变化,所以不需要重新设置;但是联想的智能温控和Intel的策略等可能有时会修改温度墙,所以还是隔一段时间进行检查一下。

CheckThermalWallTimer=60000

; 最大的温度上限,需要选项中启用CPUThermalControl=1

ThermalWallHigh=80

; 这个定义会提供一个温控的菜单,每一项一个温度,随时可以调整温度墙

Thermals=50,55,60,65,70,75,80,83,85,87,90,93,95,96,97,98,99,100

; 控制这个策略下最大倍频,需要选项中启用CPUMultiplierControl=1才行

CPUMultiplier=34

SmartMode=1

SecondFan=1

SmartFan2Temp=60

Level0=20

Level1=40

Level2=83,78

Level6=88,83

Level64=93,88

Bios=105

10. 特殊情况下


Fn组合键的定义(如3代机器改2代键盘的情况) 由于Thinkpad的各代机器,热键一直在变化,在tphk中已经努力的根据各个机器的型号去匹配热键的键位,不过可能还是会存在热键不对位的情况;特别是象3代机器改了2代键盘刷了EC后,很有可能热键不对位。tphk除了上面直接用Fn-F5这种方式设置热键以外,还可以直接根据热键的键码进行热键设置,前提是必须知道热键的键码是什么。比如一个热键Fn-F5,键码是18,那么可以用Fn-Key-18=...的方式设置热键。那么如何找到热键的键码呢,可以下载附件中的dbgview.exe,执行程序后,按热键,如果是一个有效的热键,就会出现对应的键码。

图中,对应的key index后面的数值就是键码,然后就可以用这个键码去设置热键了。

11. 其他功能介绍

a) 左键按住停留一段时间为中键。这个功能我超喜欢。用于浏览网页的时候在后台Tab页打开链接。只要鼠标左键点击链接并且不放手,等到鼠标变化后再放手,就会在后台打开链接,个人觉得比拖动链接在后台打开方便多了。在[Option]中设置MouseDelayClickAsMiddleTime为一个整数(毫秒)就可以使用这个功能了。没法截图看到鼠标的变化,有兴趣的自己试吧。

b) 在CHM文件中用CTRL+鼠标滚轮进行缩放。有时会觉得CHM文件中的字体太小,即使字体设置成最大也是,这个功能可以在CHM文件中象浏览器一样用CTRL+滚轮进行页面缩放。在[Option]中设置ZoomChm=1就可以启用这个功能。

待续......

 

tphk程序下载链接如下:
 

 

上传一个我自己的配置文件供大家参考(有我大量个性化的东西,肯定不适合你):
自用的tphk.ini配置文件下载链接如下:
 

tphkini.rar
b53b525a7803410b52dd0e2fcde5eea4.rar (4.15 KB)



 

声明:该文章版权归原作者所有,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系。
广告合作请联系QQ755851098

我要评论

共有 0 条评论

加入51NB

资讯编辑

职位描述:

    1、负责网站资讯的编辑与发布;
    2、负责网站日常维护,喜欢策划撰写原创话题;

职位要求:

    1、 大专及以上学历;
    2、 有一定文字功底,能独立进行写作、编辑
    3、 对数码产品有浓厚兴趣,关注互联网新动态;
    4、 擅长使用新媒体运营工具;
    5、 工作具有很大灵活性,希望能发挥个人主观能动性。
请将您的简历发送至: service@51nb.com

翻译编辑

职位描述:

    翻译NotebookCheck等外媒评测文章;

职位要求:

    1、 拒绝机翻;
    2、 行文应言简意赅,考虑国内语言习惯;
    3、 能够学习使用简单的html格式代码。
请将您的简历发送至: service@51nb.com

评测编辑

职位描述:

    1、撰写数码产品相关开箱与评测;
    2、能够灵活运用外媒文章素材;

职位要求:

    没啥要求,能写出个性就行。
请将您的简历发送至: service@51nb.com

论坛编辑

职位描述:

    1、负责在论坛制造高质量的讨论话题;
    2、负责轻度的论坛板块管理工作;

职位要求:

    有玩论坛经验者优先
请将您的简历发送至: service@51nb.com

最新评论

会员登录 ×