@@ -28,10 +28,40 @@ def getSafeScripts() -> Set["scriptHandler._ScriptFunctionT"]:
2828 # and it might be needed by global maps.
2929 from globalCommands import commands
3030 return {
31+ # The focus object should not cache secure content
32+ # due to handling in `api.setFocusObject`.
3133 commands .script_reportCurrentFocus ,
34+
35+ # Reports the foreground window.
36+ # The foreground object should not cache secure content
37+ # due to handling in `api.setForegroundObject`.
3238 commands .script_title ,
39+
40+ # Reports system information that should be accessible from the lock screen.
3341 commands .script_dateTime ,
3442 commands .script_say_battery_status ,
43+
44+ # Mouse navigation is required to ensure controls
45+ # on the lock screen are accessible.
46+ # Preventing mouse navigation outside the lock screen
47+ # is handled using `api.setMouseObject` and `api.setNavigatorObject`.
48+ commands .script_moveMouseToNavigatorObject ,
49+ commands .script_moveNavigatorObjectToMouse ,
50+ commands .script_leftMouseClick ,
51+ commands .script_rightMouseClick ,
52+
53+ # Braille commands are safe, and required to interact
54+ # on the lock screen using braille.
55+ commands .script_braille_scrollBack ,
56+ commands .script_braille_scrollForward ,
57+ commands .script_braille_routeTo ,
58+ commands .script_braille_previousLine ,
59+ commands .script_braille_nextLine ,
60+
61+ # Object navigation is required to ensure controls
62+ # on the lock screen are accessible.
63+ # Preventing object navigation outside the lock screen
64+ # is handled in `api.setNavigatorObject` and by applying `LockScreenObject`.
3565 commands .script_navigatorObject_current ,
3666 commands .script_navigatorObject_currentDimensions ,
3767 commands .script_navigatorObject_toFocus ,
@@ -40,7 +70,13 @@ def getSafeScripts() -> Set["scriptHandler._ScriptFunctionT"]:
4070 commands .script_navigatorObject_next ,
4171 commands .script_navigatorObject_previous ,
4272 commands .script_navigatorObject_firstChild ,
43- commands .script_navigatorObject_devInfo ,
73+ commands .script_navigatorObject_nextInFlow ,
74+ commands .script_navigatorObject_previousInFlow ,
75+
76+ # Moving the review cursor is required to ensure controls
77+ # on the lock screen are accessible.
78+ # Preventing review cursor navigation outside the lock screen
79+ # is handled in `api.setReviewPosition`.
4480 commands .script_review_activate ,
4581 commands .script_review_top ,
4682 commands .script_review_previousLine ,
@@ -56,21 +92,16 @@ def getSafeScripts() -> Set["scriptHandler._ScriptFunctionT"]:
5692 commands .script_review_nextCharacter ,
5793 commands .script_review_endOfLine ,
5894 commands .script_review_sayAll ,
59- commands .script_braille_scrollBack ,
60- commands .script_braille_scrollForward ,
61- commands .script_braille_routeTo ,
62- commands .script_braille_previousLine ,
63- commands .script_braille_nextLine ,
64- commands .script_navigatorObject_nextInFlow ,
65- commands .script_navigatorObject_previousInFlow ,
66- commands .script_touch_changeMode ,
67- commands .script_touch_newExplore ,
68- commands .script_touch_explore ,
69- commands .script_touch_hoverUp ,
70- commands .script_moveMouseToNavigatorObject ,
71- commands .script_moveNavigatorObjectToMouse ,
72- commands .script_leftMouseClick ,
73- commands .script_rightMouseClick ,
95+
96+ # Using the touch screen is required to ensure controls
97+ # on the lock screen are accessible.
98+ # Preventing touch navigation outside the lock screen
99+ # is handled in `screenExplorer.ScreenExplorer.moveTo`.
100+ commands .script_touch_changeMode , # cycles through available touch screen modes
101+ commands .script_touch_newExplore , # tap gesture, reports content under the finger
102+ commands .script_touch_explore , # hover gesture, reports content changes under the finger
103+ commands .script_touch_hoverUp , # hover up gesture, fixes a situation with touch typing
104+ # commands.script_touch_rightClick, TODO: consider adding, was this missed previously?
74105 }
75106
76107
0 commit comments