Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which DVORAK variant is this? 这是哪种DVORAK? #1

Open
infinity0 opened this issue Sep 23, 2022 · 3 comments
Open

Which DVORAK variant is this? 这是哪种DVORAK? #1

infinity0 opened this issue Sep 23, 2022 · 3 comments

Comments

@infinity0
Copy link

你好,我是华侨/华裔,在重学中文,对汉语键盘布局感兴趣。我平常再用UK(英国)DVORAK键盘布局写英文。

我想问,这个存储库里的DVORAK键盘布局是从哪里来的?平常的英文DVORAK键盘布局使用

A O E U I D H T N S

但是你的使用

A O E I U D R T S N

这是根据汉字的频率,还是什么?是你自己计算得吗?

@district10
Copy link
Owner

@infinity0 恩, 我改了一点 (在 https://github.com/district10/neo_keyboard_layout 可以看到. 主要参考 https://www.cnblogs.com/zhangshenjia/archive/2012/04/11/qwerty_dvorak_colemak.html 的建议 "高频键 r 和 i 仍需要移动才能按到,而 u 和 h 不是很高频的键却放在了本位" 改了 u/i/r/h/l 等几个键).

如果你要生成标准 dvorak 的 heatmap 的话, 把 https://github.com/district10/shuangpin-heatmap/blob/master/shuangpin_heatmap.py#L24-L27 改一下:

# 这三行改到标准的 dvorak
DVORAK = \
    ";,.ky" "fgclz[]\\" \
    "aoeiu" "drtsn'" \
    "pqjhx" "bmwv/"

然后重新运行一下 make update_heatmaps.

@infinity0
Copy link
Author

infinity0 commented Sep 25, 2022

谢谢,明白了。张砷镓的建议是为做英文布局的。做中文布局时,这个建议就没什么意思,应该总基本原则重算。差不多就是,把(中文)最常见的字母放在home row键上。(更多例子:[1] [2])我的兴趣就是想找个或做个根据这种基本原则来算的双拼布局。

我看你的Makefile用data/sample2.txt,这也不是很代表的中文文件。你以前也用过一个正式的frequency table,但是改掉了 https://github.com/district10/shuangpin-heatmap/blob/master/shuangpin_heatmap.py#L433-L442 。是不是因为字母计数太大了,搞得程序太慢了?把每个计数除以一千或一万,可能会好一点儿。可惜,我现在执行不了这个程序,因为pyhanlp需要<= python 3.8,我系统只有>= python 3.9。

@district10
Copy link
Owner

@infinity0 张还有篇 Dvorak布局下一种比较理想的双拼方案
. 但我没细看.

( 因为我的双拼已经在现在的键盘布局下固定到了自然码, 不打算再迁移了.)

shuangpin_heatmap 现在是用户自己传入待统计文本. 我忘了为啥关闭了语料库统计的结果, 可能是考虑到预料中统计的报纸中的汉字使用和一般日常使用的会不太一样. 我在 https://github.com/district10/qwerty-learner-shuangpin-dicts 爬取了一些豆瓣, 知乎的文字, 感觉更现代, 更接近我们日常打字的内容. (可能更好的是输入法中打出的文字, 聊天记录)

可以安装个 conda 环境, 切 python 版本还比较简单.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants