五键键盘

图形界面很方便,但有时却缺少。建立一个用户友好的界面既是一种艺术,也是对资源的浪费。因此,大多数程序只能通过命令外壳访问。



命令行界面易于创建和方便,扩展功能而无需担心用户。



如果您需要自定义某些内容,但所需的项不在菜单中,则可以手动进入配置。如果无法访问该配置,那么您将遭受痛苦。



我的意思是,即使具有图形界面,文本也可能非常有用,尤其是在开发过程中未预见到某些情况时。Flipper Zero中



对键盘的思考引发了关于优化输入法的缓慢讨论。我也喜欢自行车,所以这里有一些荒谬的想法。



智能排序滚动



我们将从简单的符号滚动开始。



有键入的文本,在文本中导航-左/右箭头。要选择一个符号,请向上/向下滚动所有符号的线性列表。



这很尴尬,让我们进行一些改进。



根据用户输入的文字,我们将收集有关n克字符的统计信息。在最简单的情况下,我们采用前面的4个符号,并按此四字组的使用频率对符号表进行排序。用户开始向下滚动并快速找到所需的符号。向上滚动时,会有一组固定的服务命令,例如空格,删除前一个字符,切换大小写和布局。



对于狭窄的任务范围,此方法是合适的,但对于一个人来说仍然太困难了。您必须专心致志,以免错过所需的信号,这很累。



图片



三元体系



如果您只记得所需Unicode字符范围的位置怎么办?

我们输入符号代码,确认,然后输入下一个。



我们有5个按钮。如果我们用一个来确认输入,第二个要擦除最后一位,则每个数字有3个按钮。假设向上-0,向右-1,向下-2。



这足以适应三元系统并了解所需代码的范围。便利性值得怀疑,但是习惯于这种类型的输入要比塞满莫尔斯电码容易得多。有一些冗余,可以输入从控制字符到表情符号的所有内容,但是几乎没有人需要使用一百多个字母和标点符号。



图片



2D滚动



让我们将滚动条扩展到几行符号,并按使用频率排序,以便从起点到符号的曼哈顿距离越大,使用的频率就越少。



图片



事实证明,它更加方便,不需要任何准备。可怜的,直观的界面,非常适合于小型显示器。在按键式电话中,您可以用类似的方式拨打各种特殊字符。但是通过将尺寸减小到一行,您可以在非常小的屏幕上执行此操作。



图片



输入应该通过视觉控制,然后不需要长时间的培训(您好,莫尔斯电码),并且字符的放置位置应该是静态的,否则快速拨号将不起作用。虽然,也许这是一种习惯问题,但是如果我们经常使用的按钮本身跳到我们的手指下,大脑就可以适应,但是我们拥有的就是我们所拥有的。

您还可以提出各种霍夫曼代码,但是这些都是不必要的复杂性,加上不可能进行扩展,莫尔斯代码就是一个例子。



这是文章中使用的演示代码的链接



作为Python库包含在内,三元函数可以选择接受一个字符串进行编辑。要退出导航模式,请按向上箭头。在编辑模式下,键入字符的三进制代码(向上-0,向右-1,向下-2,向左-删除最后一位,输入-确认)。要退出,请按Enter键,该功能将返回已编辑的行。



在滚动功能中,一切都变得更加简单-用箭头选择一个符号,然后按Enter键确认。在第一行:插入制表符,Shift,退格,空格,换行,删除和大写锁定。



All Articles