找回密码
 注册
快捷导航
查看: 7267|回复: 28

[驱动] 【求助】自己开发个Thinkpad 笔记本大小写灯驱动是否可行

[复制链接] |自动提醒
阅读字号:

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
发表于 2013-12-4 20:03:10| 字数 887| - 中国–江苏–苏州 电信 | 显示全部楼层 |阅读模式
如今购买T440P,用了几天发现没有键盘大小写指示灯真是不爽呀,虽然联想的快捷键可以指示,但是也只能在你按了CAPSLOCK键之后才提示,
真心觉得这样不舒服。。另外,搜狗输入法确实可以在那个托盘里面提示当前大小写,但是每次都你需要找到托盘再看,个人还是觉得麻烦。
最近几天研究了一下T440P键盘上带的几个指示灯,希望能从这几个指示灯上有所突破!
T440P键盘有以下指示灯:
1. FN键,该灯亮着代表恢复F1~F12为原来的功能,该指示灯灭代表F1~F12为快捷键,功能的是启用/禁用按键是  FN+ESC.
2. F1键,该指示灯是耳机/扬声器静音指示灯, 系统静音时该灯会亮.
3.F4键,该指示灯是麦克风静音指示灯,只有启动windows才可以亮.

自己的想法是,F4的麦克风静音指示灯其实用不着,准备把这个灯用来显示大小写状态。当时不确定这个灯是不是键盘本身控制,还是可以通过驱动程序软件控制,自己做了个试验:
不使用键盘快捷键把麦克风静音,而是用鼠标在windows里面把麦克风静音,结果联想的快捷键马上就提示麦克风静音,并且这个灯也亮了,说明我们有办法通过软件来控制这个灯的。
另外,我认为仅仅是控制一个灯的亮/灭应该不会是非常复杂的API(实际是不是,大牛过来指正).

具体做法我计划从两个方面入手:
方法一 ,通过 hook 大小写键事件,当是大写时,给快捷键控制程序发送一个假的麦克风静音消息,欺骗快捷键驱动把该灯点亮。如果麦克风确实静音了,那么就每400MS给快捷键发送
“脉冲”新号,让其反复开关这个指示灯,达到闪烁的目的。小写的时候情况和这个相反。 目前我查了很多文档,好像没有发现WINDOWS消息里面有这个一个消息,还是我还没找到?

方法二,自己写个键盘驱动方式来实现以上目的,这个貌似会比方法一复杂,并且在驱动底层如何控制这个灯还需要再研究。

以上只是自己的想法,想写这个一个东西也是为了让TP的笔记本没那么难用,希望高级电工们多多帮助!!!

如果这个方法可行,那么T440X X240 系列都可以使用这种方法。。。。

[ Edited by  qqaoshi888 on 2013-12-4 20:11 ]
多选投票: ( 最多可选 3 项 ), 共有 57 人参与投票
您所在的用户组没有投票权限

点评

回复@刘德华01 :放源代码,必须滴!!^u^ ^u^   详情 回复 发表于 2013-12-7 20:04
回复@qqaoshi888 : 说句实话, 要放最好放源代码,否则没什么意义  详情 回复 发表于 2013-12-6 02:28
最新情况:已经实现用程序控制,但是还不是非常完美。 过几天测试没有问题再放出来。^u^ ^u^ ^u^   详情 回复 发表于 2013-12-5 15:28

评分

参与人数 1资产值 +8 收起 理由
lxq8432 + 8 我很赞同

查看全部评分

已经修改了一个随机密码,上不来了。。

3万

回帖

265

积分

4万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2012-4-9
发表于 2013-12-4 20:07:54| 字数 5| - 中国–广东–惠州 电信 | 显示全部楼层
高手,,,
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2013-12-4 20:10:02| 字数 24| - 中国–江苏–苏州 电信 | 显示全部楼层
@HOPE
@笨姐姐
@首席电工
@song版
…………
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

1万

回帖

168

积分

2万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2010-1-6
发表于 2013-12-4 20:11:19| 字数 6| - 中国–北京–北京 联通 | 显示全部楼层
露珠需要动力
600E\T60Q\T430sQ\P52s_32G_1.6T_UHD
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2013-12-4 20:15:12| 字数 34| - 中国–江苏–苏州 电信 | 显示全部楼层

回复 #4 CCH 的帖子

多谢!!!
希望大家齐心协力,把这个弄出来,造福51NB的机油们。。。
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2013-12-4 20:18:41| 字数 26| - 中国–江苏–苏州 电信 | 显示全部楼层
@无证程序员。。。。
肿么把这个重要人物给忘了呢。。。
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

6万

回帖

394

积分

16万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2010-11-28
年全勤勋章2022铜牌荣誉勋章(注册8年以上会员)月全勤勋章
发表于 2013-12-4 21:30:03| 字数 4| - 中国–福建–福州 电信 | 显示全部楼层
支持折腾
回复 支持 反对

使用道具 举报

2567

回帖

2

积分

6219

资产值

禁止访问

注册时间
2012-6-7
发表于 2013-12-4 21:42:03| 字数 12| - 韩国 LG | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2013-12-4 21:50:25| 字数 60| - 中国–江苏–苏州 电信 | 显示全部楼层

回复 #8 Sonata 的帖子

我捉摸着用驱动的方式有难度,所以觉得通过联想的的hotkey来控制这个灯。。。
现在还没有找到什么办法来欺骗快捷键驱动。。
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

4万

回帖

321

积分

5万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2004-11-7
银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2013-12-4 21:55:23| 字数 11| - 中国–广东–潮州 联通 | 显示全部楼层
我觉得吧,不大可能实现
R500 2714-A21 P9500/8G/480GSSD/7k1000/WUXGA
T400 2767-DN4 T9900/8G/80GSSD/5k1000/WXGA+
回复 支持 反对

使用道具 举报

2万

回帖

253

积分

1万

资产值

荣誉版主 Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2009-9-5
发表于 2013-12-4 22:35:21| 字数 14| - 日本 东京市KDDI通信公司 | 显示全部楼层
屏幕上那个黑色的A多醒目的。
用点评回复的,一律无视。因手机版无法回复点评。
回复 支持 反对

使用道具 举报

gzjzdavid - T50-5 X62-1

2万

回帖

186

积分

2万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2006-3-22
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2013-12-4 22:37:38| 字数 86| - 中国–广东–广州 电信 | 显示全部楼层
嗯。。。还有个主意,就是A面上的THINKPAD那个 i  头上的红点灯。。。改造成硬盘灯。。。这样我们就可以在笔记本背后放个镜子看看硬盘有没在读写。。。这主意怎么样?哈哈~~~

点评

回复@Sonata :所以我说要放个镜子啊~~:D :D :D   详情 回复 发表于 2013-12-6 02:00
回复@Sonata : 呦,前没多久还看到你在喷认为指示灯重要的人呢, 现在换个贴就又变成说指示灯重要的了啊, 这不科学啊, 确定不需要检查一下身体?  详情 回复 发表于 2013-12-5 02:15
硬盘灯这么重要到你愿意没事整天翻到A面去看一下?  详情 回复 发表于 2013-12-5 00:23
T42,T43P,T50-5,T60,T61P,T70p,X60,X61*2,X61S*3,X61T*4,
X62-1*2,X301,TRANSNOTE*5,X200T,X201T,X220,X230T
W520,W700,W701,W700DS*2,W701DS*2,701C,SURFACE P3,4,5,BOOK1*2
回复 支持 反对

使用道具 举报

600

回帖

13

积分

3071

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-11-11
发表于 2013-12-5 05:54:32| 字数 47| - 中国–上海–上海–徐汇区 联通/漕河泾数据中心 | 显示全部楼层
有空把联想的hotkey反编译出来看看有没有可以对接的   这个估计难搞啊   还不确定每个型号用的都一样
HP8460p  i7 2760  16G  HyperX 120G 500HDD 900P
Lenovo K27
ThinkpadT510
回复 支持 反对

使用道具 举报

4

回帖

1

积分

23

资产值

初级会员 Rank: 1

注册时间
2013-11-15
发表于 2013-12-5 10:32:57| 字数 58| - 中国–上海–上海–浦东新区 电信 | 显示全部楼层
记得以前winamp有个插件,可以让键盘上的灯随音乐节奏闪动,可以参考下。找到键盘灯的api后写成服务常驻系统监控下
回复 支持 反对

使用道具 举报

23

回帖

2

积分

40

资产值

中级会员 Rank: 2Rank: 2

注册时间
2013-10-25
发表于 2013-12-6 01:52:25| 字数 207| - 中国–江苏–南京 电信 | 显示全部楼层
这个好,我是学机械电子工程的,我之前还想的是通过线路改造,以实现大小写和硬盘灯的指示~~~··我本来的想法是自己在键盘上方的跑马区安放三个指示灯,自己打孔什么的~~~·学机械的嘛,我有大批的同学在机械制造系,搞特种加工的很多,应该没有问题。不过现在想来就用现成的更好,可以把麦克风灯和静音灯都改掉。我觉得静音灯也没啥用,可以在屏幕右下方的小喇叭看嘛,平常的电脑好多就是在那里看的,应该能应合大多数人的习惯~~~··

点评

回复@Sonata :因为这是习惯呀,在平常的笔记本上,可能会没有静音灯,但是基本上都是有大小写灯的。而且那个静音就在屏幕右下角的小喇叭上,是固定位置的,如果看搜狗输入法的托盘来判断大小写的话,托盘的位置 ...  详情 回复 发表于 2013-12-6 12:55
既然静音灯愿意不要LED而可以去看任务栏更小更难看清的图标,为啥大写指示就一定要纠结非要实体?  详情 回复 发表于 2013-12-6 10:34
身无半亩,心忧天下;读破万卷,神交古人
回复 支持 反对

使用道具 举报

1721

回帖

25

积分

8614

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2012-9-7
月全勤勋章
发表于 2013-12-6 10:13:29| 字数 10| - 中国–北京–北京–门头沟区 光环新网联通数据中心 | 显示全部楼层
有些人说话真是酸酸酸
T430s MBPR13
小黑情怀支付完毕
回复 支持 反对

使用道具 举报

2379

回帖

37

积分

7463

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2010-3-23
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2013-12-7 01:01:17| 字数 18| - 德国 | 显示全部楼层
感觉没必要,屏幕上热键显示非常醒目啊
退役:X41T X60 X61 T500 T60
现役:X230
俱往矣
回复 支持 反对

使用道具 举报

822

回帖

46

积分

4万

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2005-3-8
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2013-12-7 07:32:19| 字数 4| - 中国–江苏–苏州 电信 | 显示全部楼层
高手一个
回复 支持 反对

使用道具 举报

1万

回帖

131

积分

1万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-9-26
发表于 2013-12-7 08:30:06| 字数 10| - 中国–天津–天津 电信/电信/IDC机房 | 显示全部楼层
这个思路有意思 顶一下
不是风动,不是幡动,仁者心动。
回复 支持 反对

使用道具 举报

110

回帖

2

积分

334

资产值

中级会员 Rank: 2Rank: 2

注册时间
2010-3-24
发表于 2013-12-7 19:39:25| 字数 25| - 中国–北京–北京–西城区 联通 | 显示全部楼层
Windows 还好吧    关键是linux下好恼火。。。

点评

如果是KDE的话装这个[url]http://kde-apps.org/content/show.php/LockKeysState+QML?content=152082[/url]  详情 回复 发表于 2014-4-2 13:19
不幸的是,TP官方的所有文件都没有说此机支持linux^x^   详情 回复 发表于 2013-12-9 11:56
回复 支持 反对

使用道具 举报

1454

回帖

16

积分

7113

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-1-12
发表于 2013-12-9 10:28:16| 字数 6| - 中国–湖北–荆州 电信 | 显示全部楼层
支持码农折腾
Macbook air MJVE2ZP/A 服役
X230 i5 3320 8G intel525 120G IPS 蓝指摄 服役
回复 支持 反对

使用道具 举报

1358

回帖

71

积分

1万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2006-8-12
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2014-4-1 09:38:12| 字数 18| - 中国–上海–上海–徐汇区 联通/漕河泾数据中心 | 显示全部楼层
我写的Hotkey就可以控制这个灯。
W700:  QX9300    W701:  i7-920XM
X301:  SP9400    T410s: i3-370M
X61:   T8100     X1C:   i7-3667U
X201s: i7-640LM  X200:  P8800
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2014-4-1 16:30:28| 字数 117| - 中国–江苏–苏州 电信 | 显示全部楼层

回复 #22 slangmgh 的帖子

你好,我前段时间弄的这个,是通过控制虚拟麦克风实现的,总觉的不好,所以也没有放出来。
你那个Hotkey是直接驱动这个显示LED吗?
我没有联想库的头文件,后来想通过反汇编找到函数地址,然后通过远程注入的方式,这一段时间太忙也没时间搞了。
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

1358

回帖

71

积分

1万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2006-8-12
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2014-4-1 21:50:12| 字数 395| - 中国–福建–厦门 鹏博士宽带 | 显示全部楼层

回复 #23 qqaoshi888 的帖子

我是通过跟踪调试来确定联想的程序如何实现的,以下是代码:

bool SetMicrophoneMuteIndicator(BOOL mute) {
        if (IsThinkpad()) {
                HANDLE hDriver = CreateFile("\\\\.\\IBMPmDrv", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
                if (hDriver == INVALID_HANDLE_VALUE) {
                        return false;
                }

                DWORD bts;
                DWORD in = mute ? 2 : 0;
                bool ret = DeviceIoControl(hDriver, 0x2225AC, &in, 4, NULL, 0, &bts, NULL) != 0;
                CloseHandle(hDriver);
                return ret;
        } else {
                return false;
        }
}
W700:  QX9300    W701:  i7-920XM
X301:  SP9400    T410s: i3-370M
X61:   T8100     X1C:   i7-3667U
X201s: i7-640LM  X200:  P8800
回复 支持 反对

使用道具 举报

3789

回帖

40

积分

50

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-5-27
 楼主| 发表于 2014-4-2 08:26:24| 字数 9| - 中国–江苏–苏州 电信 | 显示全部楼层

回复 #24 slangmgh 的帖子

非常感谢!!!!!
已经修改了一个随机密码,上不来了。。
回复 支持 反对

使用道具 举报

1972

回帖

26

积分

6485

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2012-8-24
月全勤勋章
发表于 2014-4-2 13:22:33| 字数 40| - 中国–江苏–南京 联通 | 显示全部楼层

回复 #24 slangmgh 的帖子

厉害,这样就好弄了吧,驱动也不用了,直接来个Hook调用就行。联想不知道怎么想的
T530 I7-3630QM/NVS5400M/16G/INTEL 730 480G/1600*900/背蓝指摄
SurfaceBook1 I5/8G/256G/独显
回复 支持 反对

使用道具 举报

7358

回帖

81

积分

2万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2004-9-14
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)
发表于 2014-4-2 13:28:09| 字数 27| - 中国–浙江–绍兴–嵊州市 电信 | 显示全部楼层
真是 很久很久 没注意到, 机器上面的 大写灯 已经没了

没就没吧
T540P/i4800MQ/16G/2880*1620/1Tssd+2T
T520/i72720QM/16G/1920*1080/256G+2T+1T
X61/T7100/3
回复 支持 反对

使用道具 举报

312

回帖

18

积分

3万

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-3-20
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2014-4-2 21:14:30| 字数 6| - 中国–广东–阳江 联通 | 显示全部楼层
重要,记下。
X13 Gen 2 AMD
Sureface Pro 4 / X395
X201 / I5-540 / 6G / SSD 80G / 500G
T61 / T8100 / 3G
X61s / L7500 / 6G /
T42
回复 支持 反对

使用道具 举报

62

回帖

2

积分

693

资产值

中级会员 Rank: 2Rank: 2

注册时间
2011-9-4
银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)
发表于 2025-9-3 21:37:31| 字数 7| - 中国–江苏–苏州 移动 | 显示全部楼层
期待楼主更新,
Thinkp-T61/T8300/128G固态/4G/正屏14.1独显;Thinkp-T61/T8300/128G固态/4G/宽屏14.1集显
Thinkp-x201/I5M560/128G固态/8G/12.1集显;Thinkp-x201/I3M330/128G固态/6G/12.1集显;Thinkp-x270/I5 6300U/8G/256G固态/集显
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-9-4 06:29 , Processed in 0.194811 second(s), 79 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部