向不支持输入法的软件输入中文

First Release: 2014-12-17 23:23:52


问题

今天试了下 x2go 的 single application 模式,第一感觉很不错,可以把远程系统中的软件在本地打开,看上去就像打开本地的软件一样。 美中不足的就是没办法输入中文,首先远程系统的输入法没办法在这个模式下使用,而本地系统的输入法也同样不能正常工作,搞得我只能另外开个文本框输了中文粘贴过去。

不能忍

这已经不是我第一次遇到没办法输入中文的情况了。更可恶的是软件本身是支持中文的,就是没办法直接往里输中文,只能从别的地方贴过去,切来切去浪费时间不说,还打断思路。

Ditto

我装了 Ditto 代替 Windows 原生的剪贴板,在使用 Ditto 粘贴的时候突然想到,如果有一个工具能像 Ditto 一样通过全局热键呼出,然后把选择的过程(Ditto 通过 `Ctrl+`` 呼出后可以从最近十次复制的内容中选择一个插入到光标所在位置)换成直接输入就好了。也就是把输入流程简化成:

  • 全局热键呼出工具

  • 在弹出窗口中输入中文

  • 回车后自动关闭这个窗口并把内容插入到目标软件

程序员

作为一个程序员,我想我该自己开发这个工具,可是,我是一个 web 程序员啊~~~该用什么工具来开发桌面应用啊~~~全局热键要怎么注册~~~剪贴板又要怎么操作~~~啊啊啊~~~~~~

issue

Visual Studio 好大,Qt 核心语言是 C++,好像还是 node-webkit 比较对口。不过还不确定它支不支持全局热键,搜搜看,发现有个 issue 是关于实现全局热键的,好多人关心这个问题啊,还有人悬赏50美金,然后有人加到了100美金,一条一条往下看,可一直没人明确的说句是不是已经实现了,然后突然就看见有人提到 AutoHotkey。顺便说句,这个问题最后以 @zhchbin 赢得 160 美金告结

AutoHotkey

官网很专业,给人可靠的感觉;扫了一遍简介,立马下载安装;翻翻手册,试试教程;然后就把我要的功能做出来了,总共写了三行代码 @_@,找对工具很重要啊

#`::
InputBox clipboard, Send, , , , 102
Send ^v

依次是:

  • 监听全局热键 `Win+``(参考的 Ditto);

  • 弹出输入框,并把输入内容存入剪贴板;

  • 把剪贴板的内容贴到光标位置。

exe

写完后用自带的工具做了一个可执行文件 http://pan.baidu.com/s/1hqy2Z8g ,为了容易辨认还换了个 icon,以前学 Inkscape 画的。

结束

结束了。

更多

我的第一个MCP,以及开发过程中的经验感悟

起心动念 上周开发完 sheetex 后,发了条朋友圈。有小伙伴建议搞个 MCP 玩,正好我本来也想学,于是这周就花了一天完成了 sheetex-mcp-server,一个将对话中生成的表格保存成 Excel 的 MCP 服务。 做之前快速调查了一下 smithery 和 modelscope ,发现已经有好几个 Excel 相关的:实现上既有调用本机上的 Office 软件进行操作的,也有用库读写文件的;功能就更加眼花缭乱,从简单读写数据,到插入图表,甚至可以截图保存。 看来是打不过了,好在只是做个练习,开搞。 一天下来,学到不少东西,也填了好几个坑,本文以坑为主。 那么下面就按顺序来了。 新手上路 Build an MCP Server 是官方的教程,新手入门刚刚好,它通过调用天气相关的接口演示了 MCP Server 的开发过程。

By 熊立丁

12KB的Excel导出库sheetex是怎么来的

这是一个关于前端 Excel 导出库 sheetex 的故事:我为什么要做这个库,它为什么会这么小,以及你是否值得一试。 如过你问我“为什么非要在前端导出”,那将是另一个故事。 我的数据导出史 不知道你是否还记得自己是从什么时候开始接触数据导出的? 我对自己的“数据导出史”还算有些印象:在还没有正式工作的时候,如果有人问我要数据,我会在数据库管理工具里写个查询语句,然后视对方的用途,导出成SQL 语句、CSV 文件或者Excel 等;待到工作了,需要开发面向最终用户的系统,就不能再这么手工处理,导出功能成为系统标配,用户点击一个按钮,就要下载到相应的文件。 最早是 CSV 格式,因为其生成相对容易,而且也可以通过 Excel 软件进行查看,加上主要是内部用户,偶有无法打开也只要简单培训就能解决。 但随着用户类型变得广泛起来,这种“偶尔”也逐渐变成无法忍受,那么干脆直接导出 Excel 文件吧,反正开源库也已经成熟,于是使用 SheetJS

By 熊立丁
浙ICP备15043004号-1