生命的意义就在于折腾[手动扶额]

前言:本文纯属流水账,不过这水流啊流的也趟到不少有用的玩意(开源/免费)。


现任笔记本没有大小写灯,所以刚买来不久就搜了一大堆键盘灯软件。
最终选用的是 Keyboard LEDs ,小巧+强大+设置丰富。
日久生厌,厌了Keyboard LEDs 那过长的OSD提示,于是准备自己写一个极简的。
然后,喜闻乐见的折(zi)腾(nue)开始了:

Round 1:

首先得监控大小写状态,太简单了……

~CapsLock Up::
If GetKeyState("CapsLock", "T"){
  Menu, Tray, Icon, on.ico
} else {
  Menu, Tray, Icon, off.ico
}
return

Round 2:

先放成果(并不满意) 百度云
就差 两个纯字母图标了(A & a)!这么点小事,给自己加个版权限制吧(灾难伊始~)

  • Day 1:图标搜索引擎,无果。
    类似网站很多,关键词 图标搜索引擎,仅列举两个
    iconfinder 图标搜索引擎,版权明确。
    iconfont 月饼厂出品,需登陆
  • Day 2:免费图标包,无果。
    DeviantArt DA粉强烈推荐!绘画、诗歌、CG、照片、素材、UI…
  • Day 3:Icon Font,无果。
    icomoon 极好的在线图标字体库,附带在线编辑 editor
  • Day 4:好吧,我找个图标编辑器自己画。
    一大堆过时老家伙……
    Junior Icon Editor 基本的编辑功能,亮点是打开图片时丰富的缩放算法,适合用于图片转换图标。
  • Day 5:去尼玛的位图,我要矢量图编辑器
    Method Draw 开源在线SVG编辑器
  • Day 6:或者我需要一个简单的方案,比如免费字体
    googlefonts 和翻译一样还能用的cn版G家神器 GitHub地址
  • Day 7:微调是魔鬼,不如自写一个简易图标制作网页好了
    熟悉自虐事件出现了:一坑未平一坑又起!
  • Day 8:我还是找个矢量图编辑软件得了
    inkscape 免费开源,图层+网格+参考线,让我感谢上帝的作品。
  • Day 9:SVG弄好了,就差一个格式转换器
    iconverticons 16x16~256x256,八种尺寸png,win+mac图标,一站解决。
    完工!(图样图森破)
  • Day 10:为毛还有Day 10,因为今晚刚看到个限免信息……
    3StepIcon 限免 (截止期25号下午4点),官网免费版 其实也差不多够用了
    我试了下,对着昨晚做好的图标泪流满面……

Round 3

没错,我还没折腾够……
用上了自制版后,感觉原先的Keyboard LEDs 的 OSD显示还是挺有用的。
OSD提示自制中,目前进度 90%,然而——

Alert:触发作死事件:坑体扩大
"有了OSD,不如再加上自定义设置吧,还有尺寸可以搞自动计算"
Alert:触发增益效果:动力上升
"AHK打包exe没耍过,玩玩看"  //动力 + 10
Alert:触发见鬼效果:动力见鬼
"快完成了,接下来没什么难点的样子"  //动力 - 90

嗯,待续。
要是这贴下周没续上那就可以等明年见了 ,
明年还不见的话请期待来世再会。

1 Like

只能收藏慢慢看了

联想有一款挺好用的,但是别问我名字,我一直懒得记到笔记本里。好用,好看,不好找下载。

@skystar 不要过高期待啊。末尾提到的限免软件倒是可以搞一个,如果有什么作品需要自制图标的话挺适合的,不过复杂的图标还是用 inkscape 吧。

@dms 我就是闲着瞎折腾。品牌机附带软件一般都不是独立软件而是XX中心之类软件的部分功能吧,臃肿笨重。

分享一下我自己的ahk代码吧.

;===================================================
;** 切换键盘锁定状态时,屏幕会显示键盘状态图片,图片自己找! 
;===================================================
CapsLock::
	If GetKeyState("CapsLock","T") 
	{
		SetCapsLockState,Off
		gui,add,pic,w128,CapsLock_Off.png
		;msgbox off
	}
	else 
	{	
		SetCapsLockState,On
		gui,add,pic,w128,CapsLock_On.png
		;msgbox "ON"
	}

	Gui, Color,959698 ;959698
	Gui +LastFound ; 指定 GUI 窗体为 last found window .
	WinSet, TransColor, 959698;959698
	gui,+toolwindow
	GUI,+AlwaysOnTop
	Gui,-Caption
	pos:=A_ScreenHeight*2/3
	GUI,show,y%pos% NA
	sleep 800
	Gui, Destroy
return

Numlock::
	If GetKeyState("NumLock","T") 
	{
		SetNumLockState,Off
		gui,add,pic,w128,NumLock_Off.png
	}
	else 
	{	
		SetNumLockState,On
		gui,add,pic,w128,NumLock_On.png
	}
	Gui, Color, 959698
	Gui +LastFound ; 指定 GUI 窗体为 last found window .
	WinSet, TransColor, 959698
	gui,+toolwindow
	GUI,+AlwaysOnTop
	Gui,-Caption
	pos:=A_ScreenHeight*2/3
	GUI,show,y%pos% NA
	sleep 800
	Gui, Destroy
return

ScrollLock::
	If GetKeyState("ScrollLock","T") 
	{
		SetScrollLockState,Off
		gui,add,pic,w128,ScrollLock_Off.png
	}
	else 
	{	
		SetScrollLockState,On
		gui,add,pic,w128,ScrollLock_On.png
	}
	Gui, Color, 959698 ;设置颜色
	Gui +LastFound ; 指定 GUI 窗体为 last found window .
	WinSet, TransColor, 959698  ;设置透明
	gui,+toolwindow   ;不在任务栏显示
	GUI,+AlwaysOnTop  ;总在最前面
	Gui,-Caption   ;没有边框和标题
	pos:=A_ScreenHeight*2/3
	GUI,show,y%pos% NA    ;中下部显示,不激活
	sleep 800
	Gui, Destroy  ;1秒后消失
return

快来更新

要说折腾,老外最会折腾了,整天吃饱饭没事干,把用到/没用到的、实用/不实用的功能加到一些个软件中,比如 foobar2000、AIMP,大概80%的功能一般用户用不到。国外的还好,国内的则专门想一些邪路子,往流氓方向发展,也是很折腾…

1 Like

我倒是挺喜欢 foobar2000 这中组件化(或说模块化)的形式,需要什么功能就加什么组件,既可以极简又可以大而全。我自己的电脑就有两个 foobar2000 ,一个精简到只剩下基本的解码组件用来听歌,一个则加上媒体库、转码等各种功能用来编辑播放列表。

至于国内,官方后门、内核级木马、驱动层广告… 名副其实的 “黑科技”
为了钱当真是无所不能……

1 Like

跨年想填的坑没了 :sweat_smile:
把之前进一步折腾的结果发出来凑个数糊弄下自己。
注:这不是最终版,折腾还没完,只是一直不无聊而已 :sweat_smile:

脚本+图标 -> 度云
只是加了个有Bug的光标处显示
以及对狂按CapsLock键的处理

代码如下:

CoordMode, Caret, Screen
main_w := 72
main_h := 72
main_color := "black"
font_name := "roboto"
font_size := 48
font_color_on := "white"
font_color_off := "Silver"
text_on := "A"
text_off := "a"
osd_duration := 800
osd_transparent := 180

Gui, +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, Color, %main_color%
Gui, Font, , Arial
Gui, Font, c%font_color% s%font_size%, %font_name%
Gui, Margin, 0, 0
Gui, Add, Text, w%main_w% center vOSD, A
WinSet, Transparent, %osd_transparent%
WinSet, ExStyle, ^0x20    ;鼠标穿透

~Capslock::
Gui, Cancel
If GetKeyState("CapsLock","T") {
  Menu, Tray, Icon, on.ico
  GuiControl, Text, OSD, %text_on%
  GuiControl, +c%font_color_on%, OSD
} Else {
  Menu, Tray, Icon, off.ico
  GuiControl, Text, OSD, %text_off%
  GuiControl, +c%font_color_off%, OSD
}
;Text 纵向居中:
GuiControlGet, OSD, Pos
text_y := (main_h - OSDH)/2
GuiControl, Move, OSD, y%text_y%

;光标处显示(若无光标则居中显示)
;bug:
;  1.部分窗口无法获取光标位置
;  2.光标滚动到编辑器不可见位置时无法显示
If (A_CaretX OR A_CaretY) {
  main_x := A_CaretX ;- main_w
  main_y := A_CaretY - main_h
  main_pos := "x" main_x " y" main_y
} Else {
  main_pos := "center"
}
Gui, Show, %main_pos% w%main_w% h%main_h% NoActivate
SetTimer, HideOSD, %duration% ;定时关闭显示
return

HideOSD:
Gui, Cancel
return

感觉有点累赘了,想着要不要干脆弄个生成器……

特意来给楼上加个坑。

现在演示的时候用的显示按键的小工具,没有找到美观好用的。我是不是应该强调一下 Windows 上面?

就是用来在屏幕上显示当前按下的按键的小工具。(挺多余的一句解释,但是怕有些人不懂。

抱紧大佬大腿,求大佬填坑。我试了一下,用 Ahk 写界面对我来说太难了。

按键显示这个有很多了啊

没有找到好看又好用的。

好不好看这么主观的东西,还是自己动手改比较好

问题就在于……不会写 UI

翻了下主站,主站上这两个 Win 平台的就挺好啊,
就是青蛙截的图没调好配色和字体……

都试过,然而并不记得为什么非常不喜欢他们……

官网-下载中心-驱动-选好型号,有个附加软件,其中一个是这个,我win10依然安装了。

本人已被 Bitdefender 气死,无暇更新

好像几乎是专一的

所以开发黑科技的最大原动力还是钱啊,有钱没有什么是程序员搞不定的