-
Notifications
You must be signed in to change notification settings - Fork 0
/
apl.schema.yaml
101 lines (90 loc) · 2.31 KB
/
apl.schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Rime schema
# encoding: utf-8
schema:
schema_id: apl
name: APL
version: "0.1.0"
author:
- zmg
description: |
APL symbols input method
requires font "APL385 Unicode" (available at
https://www.dyalog.com/apl-font-keyboard.htm)
switches:
- name: ascii_mode
reset: 0
states: [ ⍋, A ]
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@code
- fallback_segmentor
translators:
- table_translator
- script_translator@code
speller:
alphabet: abcdefghijklmnopqrstuvwxyz<>-
delimiter: " "
auto_select: true
auto_select_pattern: '[a-z<>\-]'
translator:
dictionary: alphabet
code:
tag: code
dictionary: apl
prism: apl_abc
#enable_user_dict: false
prefix: "`"
spelling_hints: 5
comment_format:
- xform/^(.*)/ $1/
initial_quality: 1
key_binder:
bindings:
- {accept: "Control+p", send: Up, when: composing}
- {accept: "Control+n", send: Down, when: composing}
- {accept: "Control+b", send: Left, when: composing}
- {accept: "Control+f", send: Right, when: composing}
- {accept: "Control+a", send: Home, when: composing}
- {accept: "Control+e", send: End, when: composing}
- {accept: "Control+d", send: Delete, when: composing}
- {accept: "Control+k", send: "Shift+Delete", when: composing}
- {accept: "Control+h", send: BackSpace, when: composing}
- {accept: "Control+g", send: Escape, when: composing}
- {accept: "Control+bracketleft", send: Escape, when: composing}
- {accept: "Alt+v", send: Page_Up, when: composing}
- {accept: "Control+v", send: Page_Down, when: composing}
editor:
bindings:
Return: confirm
Tab: confirm
space: commit_raw_input
ascii_composer:
good_old_caps_lock: true
switch_key:
Shift_L: noop
Shift_R: noop
#use ctrl
#Control_L: inline_ascii
#Control_R: commit_text
#or use shift
#Shift_L: inline_ascii
#Shift_R: commit_text
Control_L: noop
Control_R: noop
Caps_Lock: clear
recognizer:
patterns:
code: '`[a-z<>\-]*$'
style:
font_face: "APL385 Unicode"