touchy-pad 0.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- touchy_pad/__init__.py +21 -0
- touchy_pad/_proto/.gitignore +2 -0
- touchy_pad/_proto/__init__.py +74 -0
- touchy_pad/_proto/preferences_pb2.py +40 -0
- touchy_pad/_proto/touchy_pb2.py +72 -0
- touchy_pad/_proto/widgets_pb2.py +114 -0
- touchy_pad/api/__init__.py +242 -0
- touchy_pad/api/device.py +333 -0
- touchy_pad/api/hid_keys.py +138 -0
- touchy_pad/api/images.py +25 -0
- touchy_pad/api/lvgl_image.py +193 -0
- touchy_pad/api/macros.py +116 -0
- touchy_pad/api/protobuf.py +24 -0
- touchy_pad/api/screens.py +1325 -0
- touchy_pad/api/sim_registry.py +94 -0
- touchy_pad/assets/__init__.py +8 -0
- touchy_pad/assets/smiley.png +0 -0
- touchy_pad/cli.py +487 -0
- touchy_pad/client.py +168 -0
- touchy_pad/sim/__init__.py +43 -0
- touchy_pad/sim/device.py +267 -0
- touchy_pad/sim/fs.py +109 -0
- touchy_pad/sim/transport.py +148 -0
- touchy_pad/sim/widgets.py +344 -0
- touchy_pad/sim/window.py +295 -0
- touchy_pad/touchydeck/__init__.py +37 -0
- touchy_pad/touchydeck/deck.py +347 -0
- touchy_pad/touchydeck/discovery.py +129 -0
- touchy_pad/touchydeck/layout.py +92 -0
- touchy_pad/transport.py +441 -0
- touchy_pad/update.py +367 -0
- touchy_pad/usb_ids.py +18 -0
- touchy_pad-0.2.1.dist-info/METADATA +113 -0
- touchy_pad-0.2.1.dist-info/RECORD +36 -0
- touchy_pad-0.2.1.dist-info/WHEEL +4 -0
- touchy_pad-0.2.1.dist-info/entry_points.txt +3 -0
touchy_pad/__init__.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Host library and CLI for the Touchy-Pad USB multitouch device.
|
|
2
|
+
|
|
3
|
+
Public API lives under :mod:`touchy_pad.api` — use that for application
|
|
4
|
+
code::
|
|
5
|
+
|
|
6
|
+
from touchy_pad.api import touchy_open, Screen, button
|
|
7
|
+
|
|
8
|
+
The top-level :class:`TouchyClient` / :class:`UsbTransport` exports
|
|
9
|
+
below remain available but are considered internal building blocks; new
|
|
10
|
+
code should prefer the :mod:`touchy_pad.api` facade.
|
|
11
|
+
|
|
12
|
+
See ``proto/touchy.proto`` in the repository root for the wire format.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from .client import TouchyClient
|
|
18
|
+
from .transport import Transport, UsbTransport
|
|
19
|
+
|
|
20
|
+
__all__ = ["TouchyClient", "Transport", "UsbTransport"]
|
|
21
|
+
__version__ = "0.1.0"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"""Re-exports from the generated protobuf modules.
|
|
2
|
+
|
|
3
|
+
The actual ``touchy_pb2`` and ``widgets_pb2`` modules are generated from
|
|
4
|
+
``proto/touchy.proto`` and ``proto/widgets.proto`` by ``just build-proto``
|
|
5
|
+
(or ``just build-proto-py``) and committed under ``touchy_pad/_proto/`` so
|
|
6
|
+
the package is installable from PyPI without protoc.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from .touchy_pb2 import ( # noqa: F401 (re-exported)
|
|
12
|
+
Command,
|
|
13
|
+
Event,
|
|
14
|
+
EventConsumeCmd,
|
|
15
|
+
EventConsumeResponse,
|
|
16
|
+
FileResetCmd,
|
|
17
|
+
FileSaveCmd,
|
|
18
|
+
LvEvent,
|
|
19
|
+
Response,
|
|
20
|
+
ResultCode,
|
|
21
|
+
ScreenLoadCmd,
|
|
22
|
+
ScreenSleepTimeoutCmd,
|
|
23
|
+
ScreenWakeCmd,
|
|
24
|
+
StreamEventsCmd,
|
|
25
|
+
SysBoardInfoGetCmd,
|
|
26
|
+
SysBoardInfoResponse,
|
|
27
|
+
SysRebootBootloaderCmd,
|
|
28
|
+
)
|
|
29
|
+
from .widgets_pb2 import ( # noqa: F401 (re-exported)
|
|
30
|
+
Action,
|
|
31
|
+
ActionDevice,
|
|
32
|
+
ActionHost,
|
|
33
|
+
ActionMacro,
|
|
34
|
+
ActionSwitchScreen,
|
|
35
|
+
AnimPath,
|
|
36
|
+
Arc,
|
|
37
|
+
Button,
|
|
38
|
+
Checkbox,
|
|
39
|
+
ForceRender,
|
|
40
|
+
Fps,
|
|
41
|
+
GridCell,
|
|
42
|
+
Image,
|
|
43
|
+
KeyEvent,
|
|
44
|
+
Label,
|
|
45
|
+
LayoutAbsolute,
|
|
46
|
+
LayoutFlex,
|
|
47
|
+
LayoutGrid,
|
|
48
|
+
LogLine,
|
|
49
|
+
LvState,
|
|
50
|
+
MacroStep,
|
|
51
|
+
MouseMove,
|
|
52
|
+
Rect,
|
|
53
|
+
RippleAnimation,
|
|
54
|
+
Screen,
|
|
55
|
+
Slider,
|
|
56
|
+
Spacer,
|
|
57
|
+
Style,
|
|
58
|
+
StyleProp,
|
|
59
|
+
Switch,
|
|
60
|
+
TextAlign,
|
|
61
|
+
Trackpad,
|
|
62
|
+
Transition,
|
|
63
|
+
Widget,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
# Convenience aliases so callers can write `_proto.RESULT_OK` without poking
|
|
67
|
+
# into the enum descriptor.
|
|
68
|
+
RESULT_OK = ResultCode.Value("RESULT_OK")
|
|
69
|
+
RESULT_UNKNOWN_ERROR = ResultCode.Value("RESULT_UNKNOWN_ERROR")
|
|
70
|
+
RESULT_INVALID_ARG = ResultCode.Value("RESULT_INVALID_ARG")
|
|
71
|
+
RESULT_NOT_FOUND = ResultCode.Value("RESULT_NOT_FOUND")
|
|
72
|
+
RESULT_NO_SPACE = ResultCode.Value("RESULT_NO_SPACE")
|
|
73
|
+
RESULT_IO_ERROR = ResultCode.Value("RESULT_IO_ERROR")
|
|
74
|
+
RESULT_NOT_SUPPORTED = ResultCode.Value("RESULT_NOT_SUPPORTED")
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: preferences.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'preferences.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11preferences.proto\x12\x06touchy\"\xb8\x01\n\x0fPreferencesFile\x12\x35\n\x0c\x66ile_version\x18\x01 \x01(\x0e\x32\x1f.touchy.PreferencesFile.Version\x12\x19\n\x11screen_timeout_ms\x18\x02 \x01(\r\x12\x16\n\x0e\x63urrent_screen\x18\x03 \x01(\t\";\n\x07Version\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02V1\x10\x01\x12\x06\n\x02V2\x10\x02\x12\x0b\n\x07\x43URRENT\x10\x02\x1a\x02\x10\x01\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'preferences_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_PREFERENCESFILE_VERSION']._loaded_options = None
|
|
35
|
+
_globals['_PREFERENCESFILE_VERSION']._serialized_options = b'\020\001'
|
|
36
|
+
_globals['_PREFERENCESFILE']._serialized_start=30
|
|
37
|
+
_globals['_PREFERENCESFILE']._serialized_end=214
|
|
38
|
+
_globals['_PREFERENCESFILE_VERSION']._serialized_start=155
|
|
39
|
+
_globals['_PREFERENCESFILE_VERSION']._serialized_end=214
|
|
40
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: touchy.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'touchy.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0ctouchy.proto\x12\x06touchy\"\x0e\n\x0c\x46ileResetCmd\")\n\x0b\x46ileSaveCmd\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1d\n\rScreenLoadCmd\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x0f\n\rScreenWakeCmd\"+\n\x15ScreenSleepTimeoutCmd\x12\x12\n\ntimeout_ms\x18\x01 \x01(\r\"\x11\n\x0f\x45ventConsumeCmd\"\x18\n\x16SysRebootBootloaderCmd\"\x14\n\x12SysBoardInfoGetCmd\"\xae\x03\n\x07\x43ommand\x12*\n\nfile_reset\x18\x01 \x01(\x0b\x32\x14.touchy.FileResetCmdH\x00\x12(\n\tfile_save\x18\x02 \x01(\x0b\x32\x13.touchy.FileSaveCmdH\x00\x12,\n\x0bscreen_load\x18\x03 \x01(\x0b\x32\x15.touchy.ScreenLoadCmdH\x00\x12,\n\x0bscreen_wake\x18\x04 \x01(\x0b\x32\x15.touchy.ScreenWakeCmdH\x00\x12=\n\x14screen_sleep_timeout\x18\x05 \x01(\x0b\x32\x1d.touchy.ScreenSleepTimeoutCmdH\x00\x12\x30\n\revent_consume\x18\x06 \x01(\x0b\x32\x17.touchy.EventConsumeCmdH\x00\x12?\n\x15sys_reboot_bootloader\x18\t \x01(\x0b\x32\x1e.touchy.SysRebootBootloaderCmdH\x00\x12\x38\n\x12sys_board_info_get\x18\n \x01(\x0b\x32\x1a.touchy.SysBoardInfoGetCmdH\x00\x42\x05\n\x03\x63md\"\xef\x01\n\x14SysBoardInfoResponse\x12\x46\n\x10protocol_version\x18\x01 \x01(\x0e\x32,.touchy.SysBoardInfoResponse.ProtocolVersion\x12\x18\n\x10\x66irmware_version\x18\x02 \x01(\r\x12\x1c\n\x14\x66irmware_version_str\x18\x03 \x01(\t\x12\x12\n\nboard_name\x18\x04 \x01(\t\"C\n\x0fProtocolVersion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02V1\x10\x01\x12\x06\n\x02V2\x10\x02\x12\x0b\n\x07\x43URRENT\x10\x02\x1a\x02\x10\x01\"6\n\x14\x45ventConsumeResponse\x12\x1e\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0f.touchy.LvEvent\"\xa6\x01\n\x08Response\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.touchy.ResultCode\x12\x36\n\x0esys_board_info\x18\x02 \x01(\x0b\x32\x1c.touchy.SysBoardInfoResponseH\x00\x12\x35\n\revent_consume\x18\x03 \x01(\x0b\x32\x1c.touchy.EventConsumeResponseH\x00\x42\t\n\x07payload\"j\n\x07LvEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x11\n\tuser_data\x18\x02 \x01(\t\x12\x0f\n\x05value\x18\x03 \x01(\x05H\x00\x12\x11\n\x07\x63hecked\x18\x05 \x01(\x08H\x00\x12\x11\n\thost_code\x18\x04 \x01(\rB\x07\n\x05state\"%\n\x05\x45vent\x12\x15\n\x0b\x65vent_ready\x18\x01 \x01(\x08H\x00\x42\x05\n\x03\x65vt\"\x11\n\x0fStreamEventsCmd*\xa7\x01\n\nResultCode\x12\r\n\tRESULT_OK\x10\x00\x12\x18\n\x14RESULT_UNKNOWN_ERROR\x10\x01\x12\x16\n\x12RESULT_INVALID_ARG\x10\x02\x12\x14\n\x10RESULT_NOT_FOUND\x10\x03\x12\x13\n\x0fRESULT_NO_SPACE\x10\x04\x12\x13\n\x0fRESULT_IO_ERROR\x10\x05\x12\x18\n\x14RESULT_NOT_SUPPORTED\x10\x06\x32\xa4\x04\n\x06Touchy\x12\x33\n\tFileReset\x12\x14.touchy.FileResetCmd\x1a\x10.touchy.Response\x12\x31\n\x08\x46ileSave\x12\x13.touchy.FileSaveCmd\x1a\x10.touchy.Response\x12\x35\n\nScreenLoad\x12\x15.touchy.ScreenLoadCmd\x1a\x10.touchy.Response\x12\x35\n\nScreenWake\x12\x15.touchy.ScreenWakeCmd\x1a\x10.touchy.Response\x12\x45\n\x12ScreenSleepTimeout\x12\x1d.touchy.ScreenSleepTimeoutCmd\x1a\x10.touchy.Response\x12G\n\x13SysRebootBootloader\x12\x1e.touchy.SysRebootBootloaderCmd\x1a\x10.touchy.Response\x12?\n\x0fSysBoardInfoGet\x12\x1a.touchy.SysBoardInfoGetCmd\x1a\x10.touchy.Response\x12\x39\n\x0c\x45ventConsume\x12\x17.touchy.EventConsumeCmd\x1a\x10.touchy.Response\x12\x38\n\x0cStreamEvents\x12\x17.touchy.StreamEventsCmd\x1a\r.touchy.Event0\x01\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'touchy_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._loaded_options = None
|
|
35
|
+
_globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_options = b'\020\001'
|
|
36
|
+
_globals['_RESULTCODE']._serialized_start=1310
|
|
37
|
+
_globals['_RESULTCODE']._serialized_end=1477
|
|
38
|
+
_globals['_FILERESETCMD']._serialized_start=24
|
|
39
|
+
_globals['_FILERESETCMD']._serialized_end=38
|
|
40
|
+
_globals['_FILESAVECMD']._serialized_start=40
|
|
41
|
+
_globals['_FILESAVECMD']._serialized_end=81
|
|
42
|
+
_globals['_SCREENLOADCMD']._serialized_start=83
|
|
43
|
+
_globals['_SCREENLOADCMD']._serialized_end=112
|
|
44
|
+
_globals['_SCREENWAKECMD']._serialized_start=114
|
|
45
|
+
_globals['_SCREENWAKECMD']._serialized_end=129
|
|
46
|
+
_globals['_SCREENSLEEPTIMEOUTCMD']._serialized_start=131
|
|
47
|
+
_globals['_SCREENSLEEPTIMEOUTCMD']._serialized_end=174
|
|
48
|
+
_globals['_EVENTCONSUMECMD']._serialized_start=176
|
|
49
|
+
_globals['_EVENTCONSUMECMD']._serialized_end=193
|
|
50
|
+
_globals['_SYSREBOOTBOOTLOADERCMD']._serialized_start=195
|
|
51
|
+
_globals['_SYSREBOOTBOOTLOADERCMD']._serialized_end=219
|
|
52
|
+
_globals['_SYSBOARDINFOGETCMD']._serialized_start=221
|
|
53
|
+
_globals['_SYSBOARDINFOGETCMD']._serialized_end=241
|
|
54
|
+
_globals['_COMMAND']._serialized_start=244
|
|
55
|
+
_globals['_COMMAND']._serialized_end=674
|
|
56
|
+
_globals['_SYSBOARDINFORESPONSE']._serialized_start=677
|
|
57
|
+
_globals['_SYSBOARDINFORESPONSE']._serialized_end=916
|
|
58
|
+
_globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_start=849
|
|
59
|
+
_globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_end=916
|
|
60
|
+
_globals['_EVENTCONSUMERESPONSE']._serialized_start=918
|
|
61
|
+
_globals['_EVENTCONSUMERESPONSE']._serialized_end=972
|
|
62
|
+
_globals['_RESPONSE']._serialized_start=975
|
|
63
|
+
_globals['_RESPONSE']._serialized_end=1141
|
|
64
|
+
_globals['_LVEVENT']._serialized_start=1143
|
|
65
|
+
_globals['_LVEVENT']._serialized_end=1249
|
|
66
|
+
_globals['_EVENT']._serialized_start=1251
|
|
67
|
+
_globals['_EVENT']._serialized_end=1288
|
|
68
|
+
_globals['_STREAMEVENTSCMD']._serialized_start=1290
|
|
69
|
+
_globals['_STREAMEVENTSCMD']._serialized_end=1307
|
|
70
|
+
_globals['_TOUCHY']._serialized_start=1480
|
|
71
|
+
_globals['_TOUCHY']._serialized_end=2028
|
|
72
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: widgets.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'widgets.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rwidgets.proto\x12\x06touchy\"2\n\x04Rect\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05\x12\t\n\x01w\x18\x03 \x01(\x05\x12\t\n\x01h\x18\x04 \x01(\x05\"u\n\nTransition\x12 \n\x05props\x18\x01 \x03(\x0e\x32\x11.touchy.StyleProp\x12\x1e\n\x04path\x18\x02 \x01(\x0e\x32\x10.touchy.AnimPath\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"\xfe\x02\n\x05Style\x12\x15\n\x08\x62g_color\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x13\n\x06radius\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x15\n\x08\x62order_w\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12\x10\n\x03pad\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x17\n\ntext_color\x18\x05 \x01(\rH\x04\x88\x01\x01\x12\x11\n\tfor_state\x18\x06 \x01(\r\x12\x14\n\x07recolor\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x18\n\x0brecolor_opa\x18\x08 \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x0ftransform_width\x18\t \x01(\x05H\x07\x88\x01\x01\x12+\n\ntransition\x18\n \x01(\x0b\x32\x12.touchy.TransitionH\x08\x88\x01\x01\x42\x0b\n\t_bg_colorB\t\n\x07_radiusB\x0b\n\t_border_wB\x06\n\x04_padB\r\n\x0b_text_colorB\n\n\x08_recolorB\x0e\n\x0c_recolor_opaB\x12\n\x10_transform_widthB\r\n\x0b_transition\".\n\x08KeyEvent\x12\x0f\n\x07keycode\x18\x01 \x01(\r\x12\x11\n\tmodifiers\x18\x02 \x01(\r\"2\n\tMouseMove\x12\n\n\x02\x64x\x18\x01 \x01(\x05\x12\n\n\x02\x64y\x18\x02 \x01(\x05\x12\r\n\x05wheel\x18\x03 \x01(\x05\"\xa6\x02\n\tMacroStep\x12$\n\x08key_down\x18\x01 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12\"\n\x06key_up\x18\x02 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12#\n\x07key_tap\x18\x03 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12\x1b\n\x11mouse_button_down\x18\x04 \x01(\rH\x00\x12\x19\n\x0fmouse_button_up\x18\x05 \x01(\rH\x00\x12\x15\n\x0bmouse_click\x18\x06 \x01(\rH\x00\x12\'\n\nmouse_move\x18\x07 \x01(\x0b\x32\x11.touchy.MouseMoveH\x00\x12\x16\n\x0cset_delay_ms\x18\x08 \x01(\rH\x00\x12\x12\n\x08\x64\x65lay_ms\x18\t \x01(\rH\x00\x42\x06\n\x04step\"/\n\x0b\x41\x63tionMacro\x12 \n\x05steps\x18\x01 \x03(\x0b\x32\x11.touchy.MacroStep\"\x1a\n\nActionHost\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\"K\n\x0c\x41\x63tionDevice\x12\x33\n\rswitch_screen\x18\x01 \x01(\x0b\x32\x1a.touchy.ActionSwitchScreenH\x00\x42\x06\n\x04kind\"\x8a\x01\n\x12\x41\x63tionSwitchScreen\x12\x35\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32#.touchy.ActionSwitchScreen.Behavior\x12\x0c\n\x04name\x18\x02 \x01(\t\"/\n\x08\x42\x65havior\x12\x0b\n\x07\x42Y_NAME\x10\x00\x12\x08\n\x04NEXT\x10\x01\x12\x0c\n\x08PREVIOUS\x10\x02\"\x82\x01\n\x06\x41\x63tion\x12\"\n\x04host\x18\x01 \x01(\x0b\x32\x12.touchy.ActionHostH\x00\x12$\n\x05macro\x18\x02 \x01(\x0b\x32\x13.touchy.ActionMacroH\x00\x12&\n\x06\x64\x65vice\x18\x03 \x01(\x0b\x32\x14.touchy.ActionDeviceH\x00\x42\x06\n\x04kind\"0\n\x0eLayoutAbsolute\x12\x1e\n\x06layout\x18\x01 \x01(\x0b\x32\x0e.touchy.Layout\"\xf1\x01\n\nLayoutFlex\x12%\n\x04\x66low\x18\x01 \x01(\x0e\x32\x17.touchy.LayoutFlex.Flow\x12\x0b\n\x03gap\x18\x02 \x01(\r\x12\x1e\n\x06layout\x18\x03 \x01(\x0b\x32\x0e.touchy.Layout\"\x8e\x01\n\x04\x46low\x12\x07\n\x03ROW\x10\x00\x12\n\n\x06\x43OLUMN\x10\x01\x12\x0c\n\x08ROW_WRAP\x10\x02\x12\x0f\n\x0bROW_REVERSE\x10\x03\x12\x14\n\x10ROW_WRAP_REVERSE\x10\x04\x12\x0f\n\x0b\x43OLUMN_WRAP\x10\x05\x12\x12\n\x0e\x43OLUMN_REVERSE\x10\x06\x12\x17\n\x13\x43OLUMN_WRAP_REVERSE\x10\x07\"U\n\nLayoutGrid\x12\x0c\n\x04\x63ols\x18\x01 \x01(\r\x12\x0c\n\x04rows\x18\x02 \x01(\r\x12\x0b\n\x03gap\x18\x03 \x01(\r\x12\x1e\n\x06layout\x18\x04 \x01(\x0b\x32\x0e.touchy.Layout\"*\n\x06Layout\x12 \n\x08\x63hildren\x18\x01 \x03(\x0b\x32\x0e.touchy.Widget\"l\n\x08GridCell\x12\x0b\n\x03\x63ol\x18\x01 \x01(\r\x12\x0b\n\x03row\x18\x02 \x01(\r\x12\x15\n\x08\x63ol_span\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08row_span\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_col_spanB\x0b\n\t_row_span\"~\n\x06\x42utton\x12\x0c\n\x04text\x18\x01 \x01(\t\x12 \n\x08on_click\x18\x02 \x03(\x0b\x32\x0e.touchy.Action\x12 \n\x08on_press\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\x12\"\n\non_release\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\"O\n\x05Label\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x11\n\tfont_size\x18\x02 \x01(\x05\x12%\n\ntext_align\x18\x03 \x01(\x0e\x32\x11.touchy.TextAlign\"T\n\x06Slider\x12\x0b\n\x03min\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x05\x12!\n\ton_change\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\"7\n\x06Switch\x12\n\n\x02on\x18\x01 \x01(\x08\x12!\n\ton_change\x18\x02 \x03(\x0b\x32\x0e.touchy.Action\"L\n\x08\x43heckbox\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0f\n\x07\x63hecked\x18\x02 \x01(\x08\x12!\n\ton_change\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\"X\n\x05Image\x12\r\n\x05\x61sset\x18\x01 \x01(\t\x12\x12\n\x05scale\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08rotation\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\x08\n\x06_scaleB\x0b\n\t_rotation\"\xc7\x01\n\x0bImageButton\x12\x1f\n\x08released\x18\x01 \x01(\x0b\x32\r.touchy.Image\x12#\n\x07pressed\x18\x02 \x01(\x0b\x32\r.touchy.ImageH\x00\x88\x01\x01\x12 \n\x08on_click\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\x12 \n\x08on_press\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\x12\"\n\non_release\x18\x05 \x03(\x0b\x32\x0e.touchy.ActionB\n\n\x08_pressed\".\n\x03\x41rc\x12\x0b\n\x03min\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x05\"\x08\n\x06Spacer\"\xbe\x03\n\x08Trackpad\x12\x17\n\x0fscroll_invert_y\x18\x01 \x01(\x08\x12\x17\n\x0fscroll_invert_x\x18\x02 \x01(\x08\x12\x1d\n\x10left_touch_color\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1e\n\x11right_touch_color\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12middle_touch_color\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x32\n\x0ctouch_ripple\x18\x06 \x01(\x0b\x32\x17.touchy.RippleAnimationH\x03\x88\x01\x01\x12\x30\n\ntap_ripple\x18\x07 \x01(\x0b\x32\x17.touchy.RippleAnimationH\x04\x88\x01\x01\x12\x1c\n\x0fscrollbar_color\x18\x08 \x01(\rH\x05\x88\x01\x01\x12\x17\n\ntap_max_ms\x18\t \x01(\rH\x06\x88\x01\x01\x42\x13\n\x11_left_touch_colorB\x14\n\x12_right_touch_colorB\x15\n\x13_middle_touch_colorB\x0f\n\r_touch_rippleB\r\n\x0b_tap_rippleB\x12\n\x10_scrollbar_colorB\r\n\x0b_tap_max_ms\"\xd5\x01\n\x0fRippleAnimation\x12\x16\n\tstart_opa\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x17\n\nmax_radius\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x18\n\x0b\x64uration_ms\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1e\n\x04path\x18\x04 \x01(\x0e\x32\x10.touchy.AnimPath\x12\x19\n\x0c\x62order_width\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\x0c\n\n_start_opaB\r\n\x0b_max_radiusB\x0e\n\x0c_duration_msB\x0f\n\r_border_width\"\t\n\x07LogLine\"\x05\n\x03\x46ps\"\r\n\x0b\x46orceRender\"\xe9\x05\n\x06Widget\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1d\n\x06styles\x18\x03 \x03(\x0b\x32\r.touchy.Style\x12\x10\n\x08\x63\x65ntered\x18\x05 \x01(\x08\x12\x1c\n\x04rect\x18\x02 \x01(\x0b\x32\x0c.touchy.RectH\x00\x12 \n\x04\x63\x65ll\x18\x04 \x01(\x0b\x32\x10.touchy.GridCellH\x00\x12 \n\x06\x62utton\x18\n \x01(\x0b\x32\x0e.touchy.ButtonH\x01\x12\x1e\n\x05label\x18\x0b \x01(\x0b\x32\r.touchy.LabelH\x01\x12 \n\x06slider\x18\x0c \x01(\x0b\x32\x0e.touchy.SliderH\x01\x12 \n\x06toggle\x18\r \x01(\x0b\x32\x0e.touchy.SwitchH\x01\x12\x1e\n\x05image\x18\x0e \x01(\x0b\x32\r.touchy.ImageH\x01\x12\x1a\n\x03\x61rc\x18\x0f \x01(\x0b\x32\x0b.touchy.ArcH\x01\x12 \n\x06spacer\x18\x10 \x01(\x0b\x32\x0e.touchy.SpacerH\x01\x12$\n\x08\x63heckbox\x18\x11 \x01(\x0b\x32\x10.touchy.CheckboxH\x01\x12$\n\x08trackpad\x18\x12 \x01(\x0b\x32\x10.touchy.TrackpadH\x01\x12\x1e\n\x03log\x18\x13 \x01(\x0b\x32\x0f.touchy.LogLineH\x01\x12+\n\x0cimage_button\x18\x14 \x01(\x0b\x32\x13.touchy.ImageButtonH\x01\x12\x1a\n\x03\x66ps\x18\x15 \x01(\x0b\x32\x0b.touchy.FpsH\x01\x12+\n\x0c\x66orce_render\x18\x16 \x01(\x0b\x32\x13.touchy.ForceRenderH\x01\x12\x31\n\x0flayout_absolute\x18\x1e \x01(\x0b\x32\x16.touchy.LayoutAbsoluteH\x01\x12)\n\x0blayout_flex\x18\x1f \x01(\x0b\x32\x12.touchy.LayoutFlexH\x01\x12)\n\x0blayout_grid\x18 \x01(\x0b\x32\x12.touchy.LayoutGridH\x01\x42\x0b\n\tplacementB\x06\n\x04kind\"\x90\x02\n\x06Screen\x12\'\n\x07version\x18\x06 \x01(\x0e\x32\x16.touchy.Screen.Version\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x06\x61\x63tive\x18\x07 \x01(\x0b\x32\x0e.touchy.Widget\x12 \n\x03top\x18\x08 \x01(\x0b\x32\x0e.touchy.WidgetH\x00\x88\x01\x01\x12 \n\x03sys\x18\t \x01(\x0b\x32\x0e.touchy.WidgetH\x01\x88\x01\x01\x12#\n\x06\x62ottom\x18\n \x01(\x0b\x32\x0e.touchy.WidgetH\x02\x88\x01\x01\"+\n\x07Version\x12\x13\n\x0fVERSION_UNKNOWN\x10\x00\x12\x0b\n\x07\x43URRENT\x10\x0c\x42\x06\n\x04_topB\x06\n\x04_sysB\t\n\x07_bottom*\x85\x03\n\x07LvState\x12\x14\n\x10LV_STATE_DEFAULT\x10\x00\x12\x14\n\x10LV_STATE_CHECKED\x10\x01\x12\x14\n\x10LV_STATE_FOCUSED\x10\x02\x12\x16\n\x12LV_STATE_FOCUS_KEY\x10\x04\x12\x13\n\x0fLV_STATE_EDITED\x10\x08\x12\x14\n\x10LV_STATE_HOVERED\x10\x10\x12\x14\n\x10LV_STATE_PRESSED\x10 \x12\x15\n\x11LV_STATE_SCROLLED\x10@\x12\x16\n\x11LV_STATE_DISABLED\x10\x80\x01\x12\x10\n\x0cLV_PART_MAIN\x10\x00\x12\x17\n\x11LV_PART_SCROLLBAR\x10\x80\x80\x04\x12\x17\n\x11LV_PART_INDICATOR\x10\x80\x80\x08\x12\x12\n\x0cLV_PART_KNOB\x10\x80\x80\x0c\x12\x16\n\x10LV_PART_SELECTED\x10\x80\x80\x10\x12\x13\n\rLV_PART_ITEMS\x10\x80\x80\x14\x12\x14\n\x0eLV_PART_CURSOR\x10\x80\x80\x18\x12\x11\n\x0bLV_PART_ANY\x10\x80\x80<\x1a\x02\x10\x01*\xa4\x03\n\tStyleProp\x12\x14\n\x10STYLE_PROP_UNSET\x10\x00\x12\x17\n\x13STYLE_PROP_BG_COLOR\x10\x01\x12\x15\n\x11STYLE_PROP_BG_OPA\x10\x02\x12\x15\n\x11STYLE_PROP_RADIUS\x10\x03\x12\x1b\n\x17STYLE_PROP_BORDER_WIDTH\x10\x04\x12\x1b\n\x17STYLE_PROP_BORDER_COLOR\x10\x05\x12\x16\n\x12STYLE_PROP_PAD_TOP\x10\x06\x12\x19\n\x15STYLE_PROP_TEXT_COLOR\x10\x07\x12\x1c\n\x18STYLE_PROP_IMAGE_RECOLOR\x10\x08\x12 \n\x1cSTYLE_PROP_IMAGE_RECOLOR_OPA\x10\t\x12\x1e\n\x1aSTYLE_PROP_TRANSFORM_WIDTH\x10\n\x12\x1f\n\x1bSTYLE_PROP_TRANSFORM_HEIGHT\x10\x0b\x12\x19\n\x15STYLE_PROP_PAD_BOTTOM\x10\x0c\x12\x17\n\x13STYLE_PROP_PAD_LEFT\x10\r\x12\x18\n\x14STYLE_PROP_PAD_RIGHT\x10\x0e*\xad\x01\n\x08\x41nimPath\x12\x14\n\x10\x41NIM_PATH_LINEAR\x10\x00\x12\x15\n\x11\x41NIM_PATH_EASE_IN\x10\x01\x12\x16\n\x12\x41NIM_PATH_EASE_OUT\x10\x02\x12\x19\n\x15\x41NIM_PATH_EASE_IN_OUT\x10\x03\x12\x17\n\x13\x41NIM_PATH_OVERSHOOT\x10\x04\x12\x14\n\x10\x41NIM_PATH_BOUNCE\x10\x05\x12\x12\n\x0e\x41NIM_PATH_STEP\x10\x06*b\n\tTextAlign\x12\x13\n\x0fTEXT_ALIGN_AUTO\x10\x00\x12\x13\n\x0fTEXT_ALIGN_LEFT\x10\x01\x12\x15\n\x11TEXT_ALIGN_CENTER\x10\x02\x12\x14\n\x10TEXT_ALIGN_RIGHT\x10\x03\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'widgets_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_LVSTATE']._loaded_options = None
|
|
35
|
+
_globals['_LVSTATE']._serialized_options = b'\020\001'
|
|
36
|
+
_globals['_LVSTATE']._serialized_start=4443
|
|
37
|
+
_globals['_LVSTATE']._serialized_end=4832
|
|
38
|
+
_globals['_STYLEPROP']._serialized_start=4835
|
|
39
|
+
_globals['_STYLEPROP']._serialized_end=5255
|
|
40
|
+
_globals['_ANIMPATH']._serialized_start=5258
|
|
41
|
+
_globals['_ANIMPATH']._serialized_end=5431
|
|
42
|
+
_globals['_TEXTALIGN']._serialized_start=5433
|
|
43
|
+
_globals['_TEXTALIGN']._serialized_end=5531
|
|
44
|
+
_globals['_RECT']._serialized_start=25
|
|
45
|
+
_globals['_RECT']._serialized_end=75
|
|
46
|
+
_globals['_TRANSITION']._serialized_start=77
|
|
47
|
+
_globals['_TRANSITION']._serialized_end=194
|
|
48
|
+
_globals['_STYLE']._serialized_start=197
|
|
49
|
+
_globals['_STYLE']._serialized_end=579
|
|
50
|
+
_globals['_KEYEVENT']._serialized_start=581
|
|
51
|
+
_globals['_KEYEVENT']._serialized_end=627
|
|
52
|
+
_globals['_MOUSEMOVE']._serialized_start=629
|
|
53
|
+
_globals['_MOUSEMOVE']._serialized_end=679
|
|
54
|
+
_globals['_MACROSTEP']._serialized_start=682
|
|
55
|
+
_globals['_MACROSTEP']._serialized_end=976
|
|
56
|
+
_globals['_ACTIONMACRO']._serialized_start=978
|
|
57
|
+
_globals['_ACTIONMACRO']._serialized_end=1025
|
|
58
|
+
_globals['_ACTIONHOST']._serialized_start=1027
|
|
59
|
+
_globals['_ACTIONHOST']._serialized_end=1053
|
|
60
|
+
_globals['_ACTIONDEVICE']._serialized_start=1055
|
|
61
|
+
_globals['_ACTIONDEVICE']._serialized_end=1130
|
|
62
|
+
_globals['_ACTIONSWITCHSCREEN']._serialized_start=1133
|
|
63
|
+
_globals['_ACTIONSWITCHSCREEN']._serialized_end=1271
|
|
64
|
+
_globals['_ACTIONSWITCHSCREEN_BEHAVIOR']._serialized_start=1224
|
|
65
|
+
_globals['_ACTIONSWITCHSCREEN_BEHAVIOR']._serialized_end=1271
|
|
66
|
+
_globals['_ACTION']._serialized_start=1274
|
|
67
|
+
_globals['_ACTION']._serialized_end=1404
|
|
68
|
+
_globals['_LAYOUTABSOLUTE']._serialized_start=1406
|
|
69
|
+
_globals['_LAYOUTABSOLUTE']._serialized_end=1454
|
|
70
|
+
_globals['_LAYOUTFLEX']._serialized_start=1457
|
|
71
|
+
_globals['_LAYOUTFLEX']._serialized_end=1698
|
|
72
|
+
_globals['_LAYOUTFLEX_FLOW']._serialized_start=1556
|
|
73
|
+
_globals['_LAYOUTFLEX_FLOW']._serialized_end=1698
|
|
74
|
+
_globals['_LAYOUTGRID']._serialized_start=1700
|
|
75
|
+
_globals['_LAYOUTGRID']._serialized_end=1785
|
|
76
|
+
_globals['_LAYOUT']._serialized_start=1787
|
|
77
|
+
_globals['_LAYOUT']._serialized_end=1829
|
|
78
|
+
_globals['_GRIDCELL']._serialized_start=1831
|
|
79
|
+
_globals['_GRIDCELL']._serialized_end=1939
|
|
80
|
+
_globals['_BUTTON']._serialized_start=1941
|
|
81
|
+
_globals['_BUTTON']._serialized_end=2067
|
|
82
|
+
_globals['_LABEL']._serialized_start=2069
|
|
83
|
+
_globals['_LABEL']._serialized_end=2148
|
|
84
|
+
_globals['_SLIDER']._serialized_start=2150
|
|
85
|
+
_globals['_SLIDER']._serialized_end=2234
|
|
86
|
+
_globals['_SWITCH']._serialized_start=2236
|
|
87
|
+
_globals['_SWITCH']._serialized_end=2291
|
|
88
|
+
_globals['_CHECKBOX']._serialized_start=2293
|
|
89
|
+
_globals['_CHECKBOX']._serialized_end=2369
|
|
90
|
+
_globals['_IMAGE']._serialized_start=2371
|
|
91
|
+
_globals['_IMAGE']._serialized_end=2459
|
|
92
|
+
_globals['_IMAGEBUTTON']._serialized_start=2462
|
|
93
|
+
_globals['_IMAGEBUTTON']._serialized_end=2661
|
|
94
|
+
_globals['_ARC']._serialized_start=2663
|
|
95
|
+
_globals['_ARC']._serialized_end=2709
|
|
96
|
+
_globals['_SPACER']._serialized_start=2711
|
|
97
|
+
_globals['_SPACER']._serialized_end=2719
|
|
98
|
+
_globals['_TRACKPAD']._serialized_start=2722
|
|
99
|
+
_globals['_TRACKPAD']._serialized_end=3168
|
|
100
|
+
_globals['_RIPPLEANIMATION']._serialized_start=3171
|
|
101
|
+
_globals['_RIPPLEANIMATION']._serialized_end=3384
|
|
102
|
+
_globals['_LOGLINE']._serialized_start=3386
|
|
103
|
+
_globals['_LOGLINE']._serialized_end=3395
|
|
104
|
+
_globals['_FPS']._serialized_start=3397
|
|
105
|
+
_globals['_FPS']._serialized_end=3402
|
|
106
|
+
_globals['_FORCERENDER']._serialized_start=3404
|
|
107
|
+
_globals['_FORCERENDER']._serialized_end=3417
|
|
108
|
+
_globals['_WIDGET']._serialized_start=3420
|
|
109
|
+
_globals['_WIDGET']._serialized_end=4165
|
|
110
|
+
_globals['_SCREEN']._serialized_start=4168
|
|
111
|
+
_globals['_SCREEN']._serialized_end=4440
|
|
112
|
+
_globals['_SCREEN_VERSION']._serialized_start=4370
|
|
113
|
+
_globals['_SCREEN_VERSION']._serialized_end=4413
|
|
114
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"""Public Python API for the Touchy-Pad device.
|
|
2
|
+
|
|
3
|
+
This package is the supported entry point for application code.
|
|
4
|
+
Everything in here is part of the stable API; everything outside
|
|
5
|
+
this package (``touchy_pad.client``, ``touchy_pad._proto``, …) is
|
|
6
|
+
considered internal and may change without notice.
|
|
7
|
+
|
|
8
|
+
Typical usage::
|
|
9
|
+
|
|
10
|
+
from touchy_pad.api import touchy_open, Screen, button, row
|
|
11
|
+
|
|
12
|
+
with touchy_open() as pad:
|
|
13
|
+
s = Screen("home", layout=row(gap=8))
|
|
14
|
+
s += button("hi")
|
|
15
|
+
pad.screen_save(s)
|
|
16
|
+
pad.screen_load("home")
|
|
17
|
+
|
|
18
|
+
Submodules:
|
|
19
|
+
|
|
20
|
+
* :mod:`touchy_pad.api.screens` — host-side DSL for authoring
|
|
21
|
+
``Screen`` / ``Layer`` / widget protobufs.
|
|
22
|
+
* :mod:`touchy_pad.api.macros` — DSL for keyboard / mouse macros.
|
|
23
|
+
* :mod:`touchy_pad.api.hid_keys` — HID keycode constants.
|
|
24
|
+
* :mod:`touchy_pad.api.images` — image helpers used by the demos.
|
|
25
|
+
* :mod:`touchy_pad.api.lvgl_image` — LVGL binary image conversion.
|
|
26
|
+
* :mod:`touchy_pad.api.protobuf` — the raw generated protobuf
|
|
27
|
+
classes (``Screen``, ``Widget``, ``Layout*``, …) for users who
|
|
28
|
+
want to build messages without the higher-level DSL.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
from __future__ import annotations
|
|
32
|
+
|
|
33
|
+
from . import hid_keys, images, lvgl_image, protobuf
|
|
34
|
+
from .device import (
|
|
35
|
+
MINIMUM_FIRMWARE_VERSION,
|
|
36
|
+
IncompatibleFirmwareError,
|
|
37
|
+
Touchy,
|
|
38
|
+
touchy_get_pad_ids,
|
|
39
|
+
touchy_open,
|
|
40
|
+
)
|
|
41
|
+
from .macros import (
|
|
42
|
+
HID_MOUSE_BTN_LEFT,
|
|
43
|
+
HID_MOUSE_BTN_MIDDLE,
|
|
44
|
+
HID_MOUSE_BTN_RIGHT,
|
|
45
|
+
delay,
|
|
46
|
+
key_down,
|
|
47
|
+
key_tap,
|
|
48
|
+
key_up,
|
|
49
|
+
mouse_button_down,
|
|
50
|
+
mouse_button_up,
|
|
51
|
+
mouse_click,
|
|
52
|
+
mouse_move,
|
|
53
|
+
set_delay,
|
|
54
|
+
type_text,
|
|
55
|
+
)
|
|
56
|
+
from .screens import (
|
|
57
|
+
ANIM_PATH_BOUNCE,
|
|
58
|
+
ANIM_PATH_EASE_IN,
|
|
59
|
+
ANIM_PATH_EASE_IN_OUT,
|
|
60
|
+
ANIM_PATH_EASE_OUT,
|
|
61
|
+
ANIM_PATH_LINEAR,
|
|
62
|
+
ANIM_PATH_OVERSHOOT,
|
|
63
|
+
ANIM_PATH_STEP,
|
|
64
|
+
PART_ANY,
|
|
65
|
+
PART_CURSOR,
|
|
66
|
+
PART_INDICATOR,
|
|
67
|
+
PART_ITEMS,
|
|
68
|
+
PART_KNOB,
|
|
69
|
+
PART_MAIN,
|
|
70
|
+
PART_SCROLLBAR,
|
|
71
|
+
PART_SELECTED,
|
|
72
|
+
PROP_BG_COLOR,
|
|
73
|
+
PROP_BG_OPA,
|
|
74
|
+
PROP_BORDER_COLOR,
|
|
75
|
+
PROP_BORDER_WIDTH,
|
|
76
|
+
PROP_IMAGE_RECOLOR,
|
|
77
|
+
PROP_IMAGE_RECOLOR_OPA,
|
|
78
|
+
PROP_PAD_BOTTOM,
|
|
79
|
+
PROP_PAD_LEFT,
|
|
80
|
+
PROP_PAD_RIGHT,
|
|
81
|
+
PROP_PAD_TOP,
|
|
82
|
+
PROP_RADIUS,
|
|
83
|
+
PROP_TEXT_COLOR,
|
|
84
|
+
PROP_TRANSFORM_HEIGHT,
|
|
85
|
+
PROP_TRANSFORM_WIDTH,
|
|
86
|
+
STATE_CHECKED,
|
|
87
|
+
STATE_DEFAULT,
|
|
88
|
+
STATE_DISABLED,
|
|
89
|
+
STATE_EDITED,
|
|
90
|
+
STATE_FOCUS_KEY,
|
|
91
|
+
STATE_FOCUSED,
|
|
92
|
+
STATE_HOVERED,
|
|
93
|
+
STATE_PRESSED,
|
|
94
|
+
STATE_SCROLLED,
|
|
95
|
+
Layer,
|
|
96
|
+
Screen,
|
|
97
|
+
absolute,
|
|
98
|
+
action,
|
|
99
|
+
arc,
|
|
100
|
+
build_demo_screen,
|
|
101
|
+
build_demo_screens,
|
|
102
|
+
button,
|
|
103
|
+
cell,
|
|
104
|
+
checkbox,
|
|
105
|
+
col,
|
|
106
|
+
device_action,
|
|
107
|
+
flex,
|
|
108
|
+
force_render,
|
|
109
|
+
fps,
|
|
110
|
+
grid,
|
|
111
|
+
host_action,
|
|
112
|
+
image,
|
|
113
|
+
image_button,
|
|
114
|
+
label,
|
|
115
|
+
log_line,
|
|
116
|
+
macro_action,
|
|
117
|
+
next_screen_action,
|
|
118
|
+
prev_screen_action,
|
|
119
|
+
rect,
|
|
120
|
+
ripple_animation,
|
|
121
|
+
row,
|
|
122
|
+
slider,
|
|
123
|
+
spacer,
|
|
124
|
+
style,
|
|
125
|
+
switch_screen_action,
|
|
126
|
+
toggle,
|
|
127
|
+
trackpad,
|
|
128
|
+
transition,
|
|
129
|
+
)
|
|
130
|
+
from .sim_registry import (
|
|
131
|
+
create_sim_device,
|
|
132
|
+
destroy_sim_device,
|
|
133
|
+
get_sim_serial,
|
|
134
|
+
get_sim_transport,
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
__all__ = [
|
|
138
|
+
# Device lifecycle.
|
|
139
|
+
"Touchy",
|
|
140
|
+
"touchy_open",
|
|
141
|
+
"touchy_get_pad_ids",
|
|
142
|
+
"IncompatibleFirmwareError",
|
|
143
|
+
"MINIMUM_FIRMWARE_VERSION",
|
|
144
|
+
# Sim device registry (for testing / host apps without USB hardware).
|
|
145
|
+
"create_sim_device",
|
|
146
|
+
"destroy_sim_device",
|
|
147
|
+
"get_sim_serial",
|
|
148
|
+
"get_sim_transport",
|
|
149
|
+
# Submodules.
|
|
150
|
+
"hid_keys",
|
|
151
|
+
"images",
|
|
152
|
+
"lvgl_image",
|
|
153
|
+
"protobuf",
|
|
154
|
+
# Screen / widget DSL.
|
|
155
|
+
"Screen",
|
|
156
|
+
"Layer",
|
|
157
|
+
"absolute",
|
|
158
|
+
"flex",
|
|
159
|
+
"row",
|
|
160
|
+
"col",
|
|
161
|
+
"grid",
|
|
162
|
+
"cell",
|
|
163
|
+
"rect",
|
|
164
|
+
"style",
|
|
165
|
+
"transition",
|
|
166
|
+
"action",
|
|
167
|
+
"host_action",
|
|
168
|
+
"macro_action",
|
|
169
|
+
"device_action",
|
|
170
|
+
"switch_screen_action",
|
|
171
|
+
"next_screen_action",
|
|
172
|
+
"prev_screen_action",
|
|
173
|
+
"button",
|
|
174
|
+
"label",
|
|
175
|
+
"slider",
|
|
176
|
+
"toggle",
|
|
177
|
+
"checkbox",
|
|
178
|
+
"image",
|
|
179
|
+
"image_button",
|
|
180
|
+
"arc",
|
|
181
|
+
"spacer",
|
|
182
|
+
"trackpad",
|
|
183
|
+
"ripple_animation",
|
|
184
|
+
"log_line",
|
|
185
|
+
"fps",
|
|
186
|
+
"force_render",
|
|
187
|
+
"build_demo_screen",
|
|
188
|
+
"build_demo_screens",
|
|
189
|
+
# Macros.
|
|
190
|
+
"key_down",
|
|
191
|
+
"key_up",
|
|
192
|
+
"key_tap",
|
|
193
|
+
"mouse_button_down",
|
|
194
|
+
"mouse_button_up",
|
|
195
|
+
"mouse_click",
|
|
196
|
+
"mouse_move",
|
|
197
|
+
"set_delay",
|
|
198
|
+
"delay",
|
|
199
|
+
"type_text",
|
|
200
|
+
"HID_MOUSE_BTN_LEFT",
|
|
201
|
+
"HID_MOUSE_BTN_RIGHT",
|
|
202
|
+
"HID_MOUSE_BTN_MIDDLE",
|
|
203
|
+
# Selector / property / easing constants.
|
|
204
|
+
"STATE_DEFAULT",
|
|
205
|
+
"STATE_CHECKED",
|
|
206
|
+
"STATE_FOCUSED",
|
|
207
|
+
"STATE_FOCUS_KEY",
|
|
208
|
+
"STATE_EDITED",
|
|
209
|
+
"STATE_HOVERED",
|
|
210
|
+
"STATE_PRESSED",
|
|
211
|
+
"STATE_SCROLLED",
|
|
212
|
+
"STATE_DISABLED",
|
|
213
|
+
"PART_MAIN",
|
|
214
|
+
"PART_SCROLLBAR",
|
|
215
|
+
"PART_INDICATOR",
|
|
216
|
+
"PART_KNOB",
|
|
217
|
+
"PART_SELECTED",
|
|
218
|
+
"PART_ITEMS",
|
|
219
|
+
"PART_CURSOR",
|
|
220
|
+
"PART_ANY",
|
|
221
|
+
"PROP_BG_COLOR",
|
|
222
|
+
"PROP_BG_OPA",
|
|
223
|
+
"PROP_RADIUS",
|
|
224
|
+
"PROP_BORDER_WIDTH",
|
|
225
|
+
"PROP_BORDER_COLOR",
|
|
226
|
+
"PROP_PAD_TOP",
|
|
227
|
+
"PROP_PAD_BOTTOM",
|
|
228
|
+
"PROP_PAD_LEFT",
|
|
229
|
+
"PROP_PAD_RIGHT",
|
|
230
|
+
"PROP_TEXT_COLOR",
|
|
231
|
+
"PROP_IMAGE_RECOLOR",
|
|
232
|
+
"PROP_IMAGE_RECOLOR_OPA",
|
|
233
|
+
"PROP_TRANSFORM_WIDTH",
|
|
234
|
+
"PROP_TRANSFORM_HEIGHT",
|
|
235
|
+
"ANIM_PATH_LINEAR",
|
|
236
|
+
"ANIM_PATH_EASE_IN",
|
|
237
|
+
"ANIM_PATH_EASE_OUT",
|
|
238
|
+
"ANIM_PATH_EASE_IN_OUT",
|
|
239
|
+
"ANIM_PATH_OVERSHOOT",
|
|
240
|
+
"ANIM_PATH_BOUNCE",
|
|
241
|
+
"ANIM_PATH_STEP",
|
|
242
|
+
]
|