Giter Club home page Giter Club logo

easy-typer's Introduction

木易跟打器macOS版

木易跟打器macOS版

木易跟打器macOS版

木易跟打器macOS版

macOS上可直接载文的跟打器

本人是个五笔爱好者,也一直在使用五笔,曾经(差不多10年前了)也做过Windows平台的跟打器易跟打Windows版

Windows 转到 Mac 之后,苦于macOS没有可用的跟打器,偶然看到了QT基于他们的代码做一个macOS上可直接载文用的跟打器,外理了一些macOS系统的兼容,于是便有了这个项目。

一、Contributing

  • 有问题,提个Issue
  • 有想法,提个Issue
  • 或通过QQ群联系我:木易跟打器 787343469
  • 有能力,提个PR

二、声明

  1. 本程序系私人用途,非商业产品,即不提供相应的服务
  2. 本程序所有数据均保存在用户浏览器的IndexedDB中,不会上传到任何服务器
  3. 如果有侵权行为,请联系:[email protected],会在看到后第一时间取消
  4. 用户使用本程序所引发的一切问题,由用户自己承担,本程序概不负责
  5. 使用本程序则旨在接受本条及以上条款

三、主要功能

  • QQ群直接载文
  • 赛文跟打
  • 词语提示
  • 本地发文-复合指标
  • 成绩发送

四、快速上手

因为需要载文,在系统偏好设置-安全性与隐私-辅助功能中,允许木易跟打器控制电脑

木易跟打器macOS版

同时由于QQ macOS版本的限制,无法全文获取,可通过以下方式载文

  • 鼠标移至聊天窗口对应消息位置
  • F4载入文本
  • 开始打字

五、操作说明

5.1 快捷键

  • F4:激活QQ聊天窗口,从当前鼠标位置载文(确保鼠标在需要载文的消息上面)
  • Ctrl + v:从剪切板载文(Mac下为Cmd + v,与粘贴快捷键一致)
  • F3:重打
  • Esc:暂停
  • Enter: 继续

5.2 载文

由于QQ macOS版本的限制,无法全文获取。可将鼠标移至聊天窗口对应消息位置,按F4载入文本。

  1. 『赛文文字』从QQ群使用指令获取赛文,然后鼠标移至赛文外,按F4即可
  2. 『自由文本』将要打的文本复制到剪切板,然后到主页粘贴即可

5.3 打文

载文后,下方的输入框自动获取焦点,当按下任意键时,开始计时。

打文过程中可以使用Esc暂停。暂停后,使用Enter继续,按下Enter后,输入框自动获取焦点,并立即继续计时。

如果打的过程中,或完成后,对结果不满意,可以按F3重新开始。计时会清零,并等待第一个键按下后,再次开始计时。

如果赛文较长,而对照文本区域无法完全显示,那么在打文过程中,对照文本会自动根据输入进度移动滚动条,方便跟打。

如果在打文时输入错误的字词,会以指定颜色的背景(默认是红色)显示。

跟打时,必须将赛文全部输入正确才会停止计时,如果发现打完最后一个字时,并没有提示完成,计时还在继续,则需要到对照文本中查找被标成错误背景的字词并加以修正,直至全部正确。

词语提示

程序提供词语提示功能,方便前期掌握词库中的词语。

在词语提示功能打开时,程序会将赛文中的词语去词库中匹配,并计算出码长最短的一个组合,这个码长就是理论码长。

开始输入后,如果没按词语提示的内容输入,那么提示的内容会同时进行调整,提示从当前位置开始的码长最短的组合。

基础的词语提示以间隔加粗的方式展示,如:“这个码长短”。在此基础上,还提供:

  • 码长提示:用不同的颜色(不是背景颜色)来区分1,2,3,4码的字词。
  • 选重提示:在需要选重的字词下方增加下划线,并在下划线下方显示选重键。如果某个字词不需要选重,则下方什么都不显示。
  • 编码提示:在字词下方显示该字词的编码(不含选重键)。除了该方式外,界面右上角也有编码及选重键的提示。
  • 标点顶屏:在可以使用标点顶屏的字词下显示顶屏提示(默认是“顶”字),如果某个首选字词后是标点,则可以利用标点直接将首选上屏,这样可以减少1码。

词语提示需要上传码表后才可以使用,具体见设置中的相关内容

5.4 发送成绩

跟打结束后,成绩会自动发送至QQ群当前激活的窗口并发送,并复制到系统剪切板

如不想自动发送成绩,可在左侧开启 潜水 模式

5.5 查看理想编码

程序能根据词库中的词条计算出理想码长,也可以计算出该码长对应的编码。点击左侧面板中的理想二字,即可查看理想编码对应的编码。

5.6 查看录入的编码

程序会记录打文过程中按下的每一个按键,点击左侧面板中的码长二字,即可查看打文过程中按下的所有按键。

六、设置

设置中的变更,除了上传码表文件会自动保存外,其余的变动均需手动点击下方的”保存按钮进行保存

  • 保存: 将变更写入数据库
  • 重置:恢复设置到数据库中的状态
  • 恢复默认: 将所有设置恢复到默认状态

6.1 基础设置

  • 自动重新开始:当删除输入的所有文字后自动重新开始
  • 结束条件: 赛文结束的条件,默认为赛文中所有的字及标点都正确时结束。打完则比较赛文和输入的长度,一致就认为结束。但在结束时如果输入的内容中有错字,则每错一个字罚5个字,会导致速度降低

6.2 词提设置

  • 词语提示: 总开关,关闭时不会进行词语提示,默认关闭

  • 码表文件: 输入法使用的码表文件,文件使用多多格式UTF-8编码,如:

    五  pf
    五笔    pfr
    笔  rkq
  • 提示选项:选择提示内容,词语是必选的。

  • 候选词条数: 输入法每页候选词条数,对于需要翻页的字词,会的选重提示上增加翻页键。默认:9

  • 最大候选词位置:为避免某些生僻词位置过去靠后,可以通过设置该值,将位置过于靠后的词略掉,拆成位置更靠前一些的短词或单字。该设置可能会影响码长。默认:0

  • 翻页键:指定的词条位置比较靠后,需要翻页才能选择时,会在选重码提示上增加该符号。只需要指定提示的符号,方便自己识别,即使输入法设置了多组翻页键。默认:+

  • 选重键:提示时展示的选重键。每个字符表示一个选重键,字符数不得少于候选词条数。默认:␣23456789

  • 选重键文本:选重键对应的文本,当这些字符出现在字词后面时,必须手动选择词条。默认: 234567890;+'+;’

  • 标点顶屏提示: 顶屏提示符号

  • 四码唯一自动上屏:如题

  • 第五码首选上屏:如题

6.3 成绩设置

  • 标识:赛文标识,如第999段
  • 速度:每分钟输入的字数,数值越大说明打字的速度越快
  • 击键:每秒钟敲击按键的次数
  • 码长:平均每个字(含标点符号)所需要的按键次数
  • 理想码长:程序计算出的最短码长
  • 字数:文章总字数
  • 错字:结束时输入的错字数
  • 用时:总时间,单位秒
  • 暂停:打文时暂停的次数和总暂停时长
  • 键准:按键准确率,退格数及回改数作为失误按键来源,算法:(总按键数 - 退格数 - 回改数 * 平均码长) / 总按键数
  • 键法:左手与右手按键数的均衡性,算法:(1 - abs(左 - 右) / (左 + 右)) * 100
  • 左:左手按键次数
  • 右:右手按键次数
  • 打词:有多少字是通过词组的方式输入的
  • 打词率:打词数占总字数的比率
  • 选重:要输入的字词不在首选位置的次数
  • 回改:输入错误被删除的字数
  • 键数:总按键次数
  • 退格:退格键被按次数
  • 回车:回车键被按次数
  • 重打:重新打的次数
  • 版本:版本信息
  • 输入法:所使用的输入法名称
  • 个性签名:想立的Flag

6.4 标点设置

标点用于:

  • 顶屏计算:仅用于顶屏计算,不将标点加入码表
  • 码表及顶屏计算:将标点加入码表,防止码表中的标点码长过长

如果需要将标点加入码表,则需要重新导入词库文件

6.5 载文设置

  • 去除空格: 移除文章中的所有空白字符,包括:空格、回车、换行、制表符等

版本变更历史

Project setup

yarn install

Compiles and hot-reloads for development

yarn serve

Compiles and minifies for production

yarn build

Run your unit tests

yarn test:unit

Lints and fixes files

yarn lint

easy-typer's People

Contributors

owenyang0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

easy-typer's Issues

可以支持多会话吗记录吗

就是我想开好几个页面,一个专门打小说,一个是十字一组练习的,一个打赛文。但这样左侧栏的记录会被覆写掉。比如页面A总字数有那么多,在页面B用打了很多,但再回到页面A打字时(页面A不刷新),页面B打的那些字就是不记录在“总字数”里的。

“随机文章”中有难打的字符

刚打到的“残羮”(应为“残羹”),还有用“─”(BOX DRAWINGS LIGHT HORIZONTAL)作破折号的。之前还有打到其他的,总之要是再增加些对这些文章的质量优化就好了。

选重与回车为零

按分号二选,但选重不记录。

在composing时回车也不记录,但非composing状态敲回车倒是会记录。

Firefox 109.0-1
Arch linux 6.1.8
fcitx5-rime

加入非正规符号替换的功能

像小启跟打器一样。比如我今天打虎码赛文时遇到的一个省略号,(MIDLINE HORIZONTAL ELLIPSIS)不是一般所用的那个(HORIZONTAL ELLIPSIS),希望这种都能自动替换。

还有这个跟打器会考虑发群赛文还有什么什么杯的那种吗?

粘贴发文失效了

感谢开发这个很棒的网页版跟打器。但粘贴发文又有问题了。之前是没有问题的,不知什么时候开始有问题了。

在Firefox中对输入框Ctrl+V没有反应,但Chromium中可以发文。

还有点击“手动”时弹出的框里面Ctrl+V,提示“当前正在发文中, 请先结束发文后再试”,但“结束发文”按钮得点两次,并且还是不能粘贴文本进去。Firefox和Chromium都是如此。

Chromium 109.0.5414.119
Firefox 109.0
Arch linux 6.1.8
fcitx5-rime

有时打完后不会自动统计成绩

image
image

如图,就一直等在这,要按enter或 空格再退格 才能触发,概率不算特别低。

Archlinux
Firefox 110.0.1 (64-bit)
fcitx5 + fcitx5-rime 包 + 虎码秃版的配置

关于统计击键数的问题(及firefox和chrome统计值差别较大的问题)

空格数应该是算入击键数的吧,这样算每个“人”应该是2击?(虎码:j 空格)
不过不管怎样统计的,同样的输入我发现在chrome中算出来的击键数会明显高于在firefox里

firefox

00:00:02.650 开始打第一个字符j
00:00:40.783 最后一个‘人’上屏

每个‘人’2击键,22个‘人’,44击键,平均44 / (40.783 - 2.650) = 1.1538,统计0.97

firefox-noaudio.mp4

chrome

00:00:03.417 开始打第一个字符j
00:00:44.900 最后一个‘人’上屏

每个‘人’2击键,22个‘人’,44击键,平均44 / (44.9 - 3.417) = 1.0607,统计1.59

chrome-noaudio.mp4

如果算法没错,那看起来firefox就比较准确,chrome统计的多了(一换chrome前500十字轻松上6,白高兴了 😢 )

但是印象中这个的实现应该主要是在chrome下测试的吧,正常来说chrome里应该验证过?

第五码不能顶屏

非常感谢作者Thanks♪(・ω・)ノ
第五码不能顶屏

macos 网页版,虎码单字

Screen.Recording.2023-03-05.at.14.06.48.mov

发文默认选项

可否恢复默认选项为“手动输入”?

(这个跟打器是真好用!)

可以加个进度条吗?

打文字数多的话常常不知道打了多少了,暂停后上下翻看也不够直观,肴望可以加个显示打了或剩余字数的的百分比或者字数显示

BMP外字符判定不一致

image
下方字符为U+10000,BMP外的字符。

image

image
上方字符为𪻐(U+2AED0),当跟打区为BMP内字符时,上方出现分开的UTF-16代理对。

Mac OS Sonoma 14.4 Beta,软件按钮点击无反应

您好,反馈一个

24年2月15日,昨天更新了

Mac OS Sonoma 14.4 Beta版,不知道为什么,

1、功能下拉菜单不能显示,快捷键F2也不能发文。
2、软件上的按钮,点了之后没有反应。

谢谢

打完之后成绩复制,会话切出后就会提示“浏览器不支持复制”

现象与复现:

  1. 发文,跟打一遍,这时就认为复制功能是好的。
  2. 按Ctrl+T打开一个新标签页,再按Ctrl+W关闭
  3. 这时会回到原来的跟打器页面,不要动鼠标,按F3重打,跟打一遍,这时打完之后它就会提示“浏览器不支持复制”
  4. 这时再F3重打,再点一下下面的输入框,再跟打,复制功能又好了。

这是我能找到的最小稳定复现的步骤了,实际上正常使用的时候,有的时候就会莫名其妙的出现这个问题,刚才试的时候也没找到具体的规律。比如在十字一组打字时,每组都会提示不支持复制,但即使像上面步骤四一样点了输入框还是提示复制失败。

视频演示:

a.webm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.