macOS 键盘按键 event 的三种截获方式

一般情况下,你不需要了解这些内容。

在极少数情况下,你的app可能需要去获取用户按下的按键信息,比如盗号木马 开发一款输入法。只有这样你才能给用户提供候选。

怎么在 macOS 下创建一个输入法,我在Swift 使用 InputMethodKit 写输入法这篇文章中有详细的说明,这里略过[……]

点击跳转以继续阅读

🖥 双拼,拼不停。→落格输入法 macOS 版,正式上架!🎉

优秀的输入法,来到了另一个优秀的平台!

虽然它还欠缺很多功能,但我还是迫不及待地分享这美好的东西给你们,落格输入法终于走上了 macOS,多年以来,在 macOS 上输入双拼是一个噩梦,现在,这个噩梦可以终结了。

除了残缺弃坑不知道什么时候就不能用了的手心输入法 Mac 版、基本上非专业人员[……]

点击跳转以继续阅读

多显示器下判断窗口位置 macOS

在开发落格输入法的时候,我遇到了这么一件事情,就是作为候选栏的窗口会在屏幕边缘的时候超出屏幕去!所以,在显示窗口的时候我根据坐标做了额外的检查:

总之,就是说如果坐标算上自己的宽度超过了屏幕的宽度,就把它挪回来。

但是,这样[……]

点击跳转以继续阅读

落格输入法是如何实现按键音的

众所周知,落格输入法不需要获取“完全访问权限”,所以根据苹果的权限,自然就无法播放按键音了。

不过,最近的落格输入法更新中加入了这一功能——在后续的版本中甚至可以加入按键震动了。然而我还是无需获取“完全访问权限”。

那么,我是怎么做到的呢?

iOS 里的声音和震动

其实是同一回事[……]

点击跳转以继续阅读

落格输入法 是怎么实现 app 设置而不需要 完全访问 权限的?

众所周知,在 iOS 平台上自从 8.0 版本开始,可以为 iOS 开发第三方的输入法键盘了,而这些键盘可以被放在 AppStore 销售了,不过,同时也有着十分严格的权限规则。

对此,苹果为第三方的键盘设计了两种权限,一种是最小的,只有最基本的键盘功能的权限、另一种则相对较多,键盘获取了“完[……]

点击跳转以继续阅读

写 落格输入法 的这半年里获得的 一点人生经验

说出来你们可能不信,落格输入法起初是我的一个练手项目,它叫小飞

但在动手写它之前,其实我就已经抱怨过很多次了,说自己要写一款好用的输入法,因为我用双拼,而现存的输入法,都不怎么重视双拼这个群体,同时,就全拼来讲,各种广告弹窗小红点也把它们本身整句输入啊实用功能啊这些优点给埋没了。

最一开始[……]

点击跳转以继续阅读

在字符串中 快速查找

很多时候,我们需要在字符串中执行查找,以判断过滤指定的内容出来。比如过在落格输入法当中,就需要用辅码过滤出需要的候选词。

一般来说,查找和对比肯定是数字来的最快,不过在词库上总不能把所有的词汇都转换为数字(虽然理论上可行……)在字符串的搜索上,我们有很多种办法来实现,这里我就说一下我自己的思路[……]

点击跳转以继续阅读

基于动态规划的整句输入法

一般来说,我们不会在用动态规划算法求解的问题上称呼它为“动态规划”,而是称之为“隐马尔可夫模型”,不过,如果我们单纯用动态规划算法来求解一个普通的有向无环图,那么就只能说是动态规划了……

这次我们要来说的,是基于词库的整句输入法。而不是基于状态转移的隐马尔可夫模型求解。

词库

由于不需要模[……]

点击跳转以继续阅读