Интеграция с Windows и права
Screph работает с экраном, глобальными клавишами и несколькими backend ввода. Эта страница отделяет обычную работу программы от действий, которые меняют Windows или внешнее устройство.
2. Когда появляется UAC
Обычные настройки, разметка, CV и сохранение проекта работают с правами текущего пользователя. Screph явно запрашивает elevation через Windows runas при установке FakerInput Virtual HID. Установщик или maintenance tool также может запросить elevation, если выбранный каталог или операция этого требует; это решение самого installer-контекста, а не скрытое повышение прав проекта.
UAC не превращает Automation Runtime в sandbox. После установки backend сценарии по-прежнему запускаются с обычными правами процесса Screph и могут генерировать ввод.
3. FakerInput Virtual HID
Первый выбор режима FakerInput сразу запускает подготовку backend. До elevation Screph проверяет точный SHA256 bundled MSI, валидную Authenticode-подпись и ожидаемого signer. Затем через один UAC-запрос запускается msiexec /i … /qn /norestart: устанавливается системный Virtual HID driver для клавиатуры и мыши.
- Отмена UAC или ошибка проверки возвращает предыдущий режим и показывает ошибку.
- Коды MSI
1641/3010 или неготовый device stack означают, что может потребоваться ручная перезагрузка Windows; Screph сам систему не перезапускает.
- Драйвер действует на уровне системы, а не только текущего проекта. Удаляйте его средствами установленного пакета/Windows, если backend больше не нужен.
4. Прошивка Arduino Leonardo
Кнопка Прошить Arduino — не тест подключения. Screph переводит подходящую Leonardo/ATmega32U4 в bootloader (HID-командой либо reset sketch-порта на 1200 baud), ждёт новый COM-порт до 10 секунд и запускает выбранный avrdude.exe для записи выбранного .hex в flash.
Прошивка меняет поведение и USB identity платы. Используйте firmware, соответствующую выбранному HID/legacy профилю; закройте Arduino IDE и другие программы, занявшие COM-порт. Ошибка или прерывание может потребовать повторного входа в bootloader и восстановления прошивки. Эта операция не требует UAC сама по себе, но изменяет внешнее устройство.
5. Настройки мыши Windows
Arduino-compatible runtime читает скорость указателя, ускорение, thresholds, Snap To, trails и перестановку кнопок, чтобы диагностировать неточные относительные HID-перемещения. Обычный запуск только читает эти параметры и предупреждает о риске.
Отдельная CLI-команда --apply-recommended является явным изменением профиля текущего пользователя: устанавливает скорость 10, отключает acceleration/thresholds и Snap To, сохраняет параметры и рассылает системное уведомление об изменении. Screph не запускает эту команду скрыто и не восстанавливает автоматически предыдущие значения — сначала сохраните их самостоятельно.
6. Глобальные hotkey и hooks
Tray-процесс регистрирует глобальные сочетания через библиотеку keyboard: захват Ctrl+Alt+S, настройки F2, запись/пауза Ctrl+Alt+R и альтернативная пауза Ctrl+Alt+P. Они не подавляют стандартную обработку клавиш; конфликт с другим приложением может привести к ошибке или двойному действию. Регистрации снимаются при штатном завершении tray.
Поле capture hotkey в главном окне настроек сохраняет tray.hotkey, но текущий tray не читает его при запуске и не получает live-update. Отдельный диалог hotkey из меню самого tray меняет сочетание в текущем процессе, но не сохраняет его для следующего запуска.
Action-sequence capture устанавливает низкоуровневые Windows mouse/keyboard hooks только на время записи пользовательских действий. Это локальное наблюдение за вводом для Action Trace; сетевую отправку оно само не выполняет.
7. Настройки tray, автозапуск и firewall
Текущая граница: из четырёх полей страницы «Настройки трея» runtime использует только Закрывать программу при закрытии окна. tray.autostart, tray.hotkey и tray.save_dir сохраняются, но текущий tray их не читает. Он не создаёт запись Windows Run, Startup shortcut или Scheduled Task, запускается с capture hotkey Ctrl+Alt+S и передаёт Selector собственный каталог ScrephData/automation_runtime/project/autosave.
В обычном desktop runtime и текущем QtIFW package script также не найдено создание Windows Firewall rules. Локальные loopback listeners описаны в архитектуре; само наличие listener не означает, что Screph добавил firewall exception.
8. Обновление и завершение процессов
Автоматическая startup-проверка только загружает metadata Updates.xml. Установка начинается после подтверждения пользователя. Screph проверяет несохранённый Selector project, останавливает запись, сохраняет настройки и пытается закрыть Screph Code; затем закрывает окна и планирует отдельный maintenance tool примерно через две секунды.
Screph запускает maintenance tool без собственного runas; Windows или installer может запросить elevation в зависимости от установки и выбранного действия. Отказ от UAC или закрытие maintenance tool оставляет обновление незавершённым, но не является согласием Screph на обход прав.