基于编程的快速移动光标方法研究

2022-07-26 09:04张迪李文露张萍
微型电脑应用 2022年6期
关键词:编辑器光标快捷键

张迪, 李文露, 张萍

(西安欧亚学院,信息工程学院, 陕西,西安 710065)

0 引言

快速移动光标在软件编程以及文档编辑、校对中被广泛应用,Linux操作系统中定义了快速移动光标的方法,诸如在单词之间跳转,跳到本行的行首,跳到页尾等;Word中通过上下左右键移动光标,Home键可移动到本行的开头,End键可将光标移动到本行的末尾等。上述方法类似之处是通过不同的快捷键实现光标移动,所以用户在使用时要记忆诸多的快捷键,或者通过鼠标和上下左右键的配合来实现移动光标。在软件编程或者文本编辑时,鼠标和键盘之间切换本身也耗费时间。现有技术在快速移动光标问题上以快捷键为主,可以快速移动到行首或者行末,借助上下左右键或者其他快捷键进行移动。但它存在两个缺点:一是快捷键较多,以Linux操作系统为例,关于移动光标的快捷键多达10个左右,用户需要熟练记忆,才能高效应用;二是通过快捷键能够快速移动到目标位置周围,但光标从目标位置周围到目标位置还需通过上下左右键一次一次移动,导致光标移动多次,文档编辑效率降低。Eli Brenner等[1]发现人们对如何移动电脑鼠标将光标放置在屏幕上所需的位置有很好的直觉,因为手和鼠标在不同的位置,他们通常向不同的方向和不同的距离移动,于是通过改变这个表面在空间和手中鼠标的方向,使得无论是在空间上还是相对于前臂的位置上,当手和光标运动之间的映射接近我们习惯的时候,参与者的表现最好。H Hindarto等[2]研究解释了脑电图(EEG)信号波用于上下移动光标的应用,在波形的每个子波段,脑电图会产生平均值和标准差作为脑电图的特征,人工神经网络的反向传播作为判断光标是向上移动还是向下移动的基础。 因此,本文结合文献研究,为克服上述现有方法中存在的问题,提供了一种快速移动光标的方法,解决光标移动范围为当前位置附近的区域范围中快速移动光标的问题。

1 研究思路

Gennaro Senatore等[3-4]提出以教育的形式设计交互方式。Makoto Fujimura等[5-7]提出通过运动模糊的光标进行伪触觉的研究。因此本文以人脑直觉确定移动的目标位置的条件下,研究实现如何将多步键盘按键敲击变为一键到达目标位置来设计交互方式。本文提出以编程为场景,解决光标在目标位置周围时,不使用上下左右键时,通过基于人脑特征的直觉判断操作键盘的物理位置,使得光标移动到目标位置,减少点击键盘的次数,进而提升移动光标的速率,达到一种类似触摸屏移动操作的效果。

以具体技术思路为首,先根据光标当前的位置确定其周围一块区域并高亮显示,如图1所示,确定以当前光标坐标(a,b)为中心的区域。同时以肉眼快速判断位置,以键盘作为输入确定目标位置的思路下,将键盘按键的位置和图1中的区域位置对应起来,这就要求对于键盘按键,我们需要将键盘中的某一个按键作为中心,简称中心按键。将中心按键和光标当前位置的坐标对应起来,这样按照高亮区域的坐标,将中心按键向外辐射区域中包括的按键都囊括进来,当用户肉眼判别目标光标位置在键盘物理位置的某一按键处时,点击该按键,程序将键盘输入按键相对于中心按键的坐标记录下来,将光标移动到该坐标,实现类似于触摸屏的快速移动效果。如图2所示,白色框线内为实际选取的按键区域,区域内按键可以调整光标的位置。

图1 高亮显示区域坐标

图2 映射键盘区域

2 基于中心点的区域确定

本文技术方案是一种快速移动光标的方法,包括如下步骤。

(1)调用编辑器接口获取当前光标所在的列号a和行号b,将(a,b)作为高亮区域的中心点,键盘上始终以键盘中部某字母为中心,(a,b)对应键盘中部该字母。

(2)确定高亮区域,在键盘上确定高亮区域的各个坐标如下:

b行向上数两行确定为b-2,b行向下数一行确定为b+1;

a列所处的第b行向左数6,坐标为(a-6,b),a列所处的第b行向右数5,坐标为(a+5,b);

a列所处的第b-1行向左数6,坐标为(a-6,b-1),a列所处的第b-1行向右数7,坐标为(a+7,b-1);

a列所处的b-2行向左数7,坐标为(a-7,b-2),a列所处的第b-2行向数6,坐标为(a+6,b-2);

a列所处的第b+1行向左数5,坐标为(a-5,b+1),a列所处的第b+1行向右数6,坐标为(a+6,b+1);

根据以上确定的8个坐标,调用编辑器接口将这8个坐标范围内的区域设置为粉色高亮显示;

(3)屏幕光标位置跳转,键盘中部该字母坐标(a,b)。

接收键盘输入,计算键盘上被点击的按键距离中心按键的坐标,将屏幕编辑器上高亮区域中坐标与被点击按键的坐标相等的位置用白色高亮显示。

(4)重复步骤(1)实现键盘按键位置与编辑器高亮部分的对应跳转,达到快速移动光标的目的。

参见图1~图4,该方法将键盘上一设定区域的多个按键的位置和电脑屏幕编辑器中设定的高亮区域字符的位置一一对应,图3为快速光标移动技术的应用流程图,图4为1-3字符m所右位置的光标为起始点,向图5所示的横杠字符移动,只需要点按键盘上的M按键即可。

图3 快速光标移动流程

图4 以字母‘m’为中心的高亮区域显示

本文提供的快速移动光标的方法,当光标在目标位置周围时,不通过上下左右键,而是一种类似触摸屏的移动操作。通过操作键盘的物理位置,使得光标移动到目标位置,减少点击键盘的次数,进而提升移动光标的速率,每次移动只用一次快捷键,用于在各类编辑器中标注/选中光标周围的一片区域,以光标为中心点标注出类似键盘排版的区域,键盘上按键的物理位置与编辑器中标注区域的位置一一对应,通过点击键盘上的某个键移动到编辑器标注区域的对应位置即可快速移动到目标位置。该方法减少光标移动次数,同时通过肉眼对物理位置的判断在键盘上敲下屏幕上对应位置的按键,而不用关心按键上的字母。此时,键盘相当于光标周围区域的拷贝,类似触摸屏一样,只需在想移动的位置一点即可快速移动,这种移动光标的方式具有很大的实用价值,对于非触摸屏的台式电脑、笔记本电脑都适用,在文本编辑时可体会到与触摸屏移动一般迅捷的效果。

图6 映射关系

3 实验验证

为测试本方法的效率,进行实验分析,我们选取了软件工程专业大三学年的两个班级65名学生,互联网企业18名软件开发工程师进行测试。每人采用传统上下键和键鼠切换方式记录特定几行代码的移动时间后,再采用本文提出的方法仍对这几行代码进行移动,并记录时间,具体测试参数设置见表1。

表1 实验参数

对比两种移动光标所耗的时间,结果如图7所示,纵轴表示时间,以秒为单位,横轴表示回收到的学生数据。

图7 光标移动时间损耗对比

4 总结

本方法能够在各类编辑器中通过快速将光标移动到目标位置,适用场景是软件编程、文字编辑、校对等,能够提升移动速率,尤其是在没有鼠标的情况下,比如在只能键盘输入时,用远程工具连接Linux机器的情况下,本方法在电脑编辑器中可快速移动到目标位置,不需要记忆过多快捷键,并且不需要使用鼠标,程序员或者其他用户只应用键盘,避免切换鼠标和键盘带来的时间损耗,具有非常大的实用价值。

猜你喜欢
编辑器光标快捷键
灵活使用快捷键秒变WPS办公达人
司空见惯感觉烦 锁屏画面快走开
操作更快捷为浏览器添加快捷键
为Word功能指定快捷键
编辑精选APP
你距离微信创作达人还有多远?
陈光标吃剩饭倒了谁的胃口
陈光标:巴菲特先生,我要裸捐!
睡着笑醒
Protel99中常用快捷键的使用