Orisumi

Input Events

逐条记下键盘和鼠标操作(草案)

输入事件 Observer 记下每一次键盘和鼠标操作。键盘事件和鼠标事件由同一个程序实例形成,Observer 相同。

实体

实体资源名说明
Input Eventinput-events一次键盘或鼠标事件

各平台只要事件的含义、字段和时间规则相同,就共用这一种业务类型;各平台怎样读取事件属于实现。

程序实例

程序实例重启或升级后沿用原来的身份。身份怎样生成、保存在哪里,尚未确定。

采集

键盘的按下和释放分别记下,长按时系统产生的自动重复被过滤掉;组合键中的每个键各自形成事件。具体的粒度见 Input Event · 粒度。

输入事件 Observer 只记下取得的操作,事件的取舍与其他 Observer 的状态无关,见 Desktop · 各自的时间线。

具体按键记录

用户可以切换“记录具体按键”,默认开启。开启时,事件记下按的是哪个键;关闭时,仍记下按下和释放,但省略具体的键。两种情况都只记按键,最终输入的文字始终不记,见 Input Event · 具体按键。

事实时间

每次事件是一个时间点:startAt = endAt = t,t 是事件发生的时刻。每次事件有自己的身份,时间戳相同的事件分别记下。

提交

接入时登记程序实例和 Input Event 的 EntitySchema,第一次输入之前就完成登记。之后业务代码为每次事件形成观测内容和 Observation,交给所在平台的 SDK,提交规则见 Submission。

待定

  • 程序实例身份的生成和本地保存。
  • 原生时间值的纪元(进程、开机或 Unix)和精度换算;取不到绝对时刻时怎样处理。
  • 鼠标移动和滚动的粒度。
  • 隐私抑制、空字符串和读取失败的表示。
  • 与设备的关联。
  • 提交策略和发送安排。

贡献者

页面历史