Spec-Zone.ru › Hammerspoon

hs.tangent

Расширение управления поверхностью наклона Tangent

Версия API: TUBE Версия 3.2 - TIPC Ревизия 4 (22 февраля 2017 г.)

Это плагин позволяет Hammerspoon взаимодействовать с линейкой панелей Tangent, таких как Element, Virtual Element Apps, Wave, Ripple и любые будущие панели.

Двигатель Объединённого моста Tangent (TUBE) состоит из двух программных элементов: Mapper и Hub. Hub взаимодействует с вашим приложением через TUBE Протокол межпроцессного взаимодействия (TIPC). TIPC — это стандартный протокол, позволяющий любому поддерживающему его приложению взаимодействовать с любыми текущими и будущими панелями, произведёнными Tangent, через Hub TUBE.

Вы можете загрузить пакет поддержки разработчиков Tangent и установщик Tangent Hub для Mac здесь.

Это расширение было создано Крисом Хокинг, а затем значительно улучшено Дэвидом Питерсоном для CommandPost.

Обзор API

  • Константы — полезные значения, которые нельзя изменить
    • action
    • fromHub
    • типПанели
    • параметр
    • toHub
  • Переменные — настраиваемые значения
    • автоматическиОтправлятьОпределениеПриложения
    • IP-адрес
    • порт
  • Функции — API-вызовы, предоставляемые непосредственно расширением
    • обратныйВызов
    • подключиться
    • подключен
    • отключиться
    • установленTangentHub
    • отправить
    • отправитьВсеИзменения
    • отправитьОпределениеПриложения
    • отправитьТекстОтображения
    • отправитьПодсвечиваниеУправления
    • отправитьУправлениеУказанием
    • отправитьСтрокуМеню
    • отправитьЗначениеРежима
    • запросСостоянийПодключенияПанелей
    • отправитьЗначениеПараметра
    • отправитьПереименованиеУправления
    • отправитьНеуправляемыйЗаписьОтображения
    • запросВозможностейНеуправляемойПанели
    • установитьУровеньВеденияЖурнала

Документация API

Константы

action
Подпись hs.tangent.reserved.action -> table
Тип Константа
Описание

Определения зарезервированных идентификаторов действий.

Примечания
  • alt — переключает функцию «ALT».
  • nextKnobBank — переключает следующий банк регуляторов.
  • prevKnobBank — переключает предыдущий банк регуляторов.
  • nextButtonBank — переключает следующий банк кнопок.
  • prevBasketBank — переключает предыдущий банк кнопок.
  • nextTrackerballBank — переключает следующий банк трекболов.
  • prevTrackerballBank — переключает предыдущий банк трекболов.
  • nextMode — переключает следующий режим.
  • prevMode — переключает предыдущий режим.
  • goToMode — переключает на указанный режим, требуя аргумент с идентификатором режима.
  • toggleJogShuttle — переключает режим джойстика/шуттла.
  • toggleMouseEmulation — переключает эмуляцию мыши.
  • fakeKeypress — генерирует нажатие клавиши, требуя аргумент с кодом клавиши.
  • showHUD — отображает HUD на экране.
  • goToKnobBank — переходит к определённому банку регуляторов, требуя аргумент с номером банка.
  • goToButtonBank — переходит к определённому банку кнопок, требуя аргумент с номером банка.
  • goToTrackerballBank — переходит к определённому банку трекболов, требуя аргумент с номером банка.
Источник extensions/tangent/tangent.lua строка 109
fromHub
параметр
Подпись hs.tangent.reserved.parameter -> table
Тип Константа
Описание

Таблица резервированных идентификаторов параметров.

Примечания
  • transportRing — транспортное кольцо.
  • fakeKeypress — отправляет поддельное нажатие клавиши.
Источник extensions/tangent/tangent.lua строка 152
toHub
Подпись hs.tangent.toHub -> table
Тип Константа
Описание

Определения команд IPC от Hammerspoon к HUB.

Источник extensions/tangent/tangent.lua строка 90

Переменные

automaticallySendApplicationDefinition
Подпись hs.tangent.automaticallySendApplicationDefinition -> boolean
Тип Переменная
Описание

Автоматически отправлять ответ «Определение приложения». По умолчанию true.

Источник extensions/tangent/tangent.lua строка 1008
ipAddress
Подпись hs.tangent.ipAddress -> number
Тип Переменная
Описание

IP-адрес, по которому находится Tangent Hub. По умолчанию 127.0.0.1.

Источник extensions/tangent/tangent.lua строка 998
порт
Подпись hs.tangent.port -> number
Тип Переменная
Описание

Порт, который отслеживает Tangent Hub. По умолчанию 64246.

Источник extensions/tangent/tangent.lua строка 1003

Функции

callback
Signature hs.tangent.callback() -> boolean
Type Function
Description

Устанавливает обратный вызов при получении новых сообщений.

Parameters
  • callbackFn - функция, которая будет установлена как обратный вызов для hs.tangent. Если предоставленное значение равно nil, любая существующая функция обратного вызова будет удалена.
Returns
  • true в случае успеха, в противном случае false
Notes
  • Полную документацию по API Tangent можно загрузить здесь.
  • Функция обратного вызова должна принимать 1 аргумент и не должна ничего возвращать.
  • Этот единственный аргумент будет таблицей, которая может содержать одну или несколько команд. Каждая команда — это отдельная таблица со следующим содержимым:
    • id — идентификатор сообщения входящего сообщения
    • metadata — таблица данных для команды Tangent (см. ниже).
  • Таблица metadata вернёт следующее, в зависимости от id для обратного вызова:
    • connected — Соединение с Tangent Hub установлено успешно.
    • disconnected — Соединение с Tangent Hub разорвано.
    • initiateComms — Инициализирует общение между Hub и приложением.
      • protocolRev — Номер ревизии протокола.
      • numPanels — Количество подключённых панелей.
      • panels
        • panelID — Идентификатор панели.
        • panelType — Тип подключённой панели.
      • data — Необработанные данные с Tangent Hub.
    • parameterChange — Запрос на инкремент параметра в приложении.
      • paramID — Значение ID параметра.
      • increment — Значение приращения, которое должно быть применено к параметру.
    • parameterReset — Запрос на изменение параметра в приложение на его значение по умолчанию.
      • paramID — Значение ID параметра.
    • parameterValueRequest — Запрос на отправку ParameterValue (0x82) команды Hub.
      • paramID — Значение ID параметра.
    • menuChange — Запрос изменения индекса меню на +1 или -1.
      • menuID — Значение ID меню.
      • increment — Приращение, на которое необходимо изменить индекс меню (всегда целое число +1 или -1).
    • menuReset — Запрос на изменение меню на его значение по умолчанию.
      • menuID — Значение ID меню.
    • menuStringRequest — Запрос отправки MenuString (0x83) команды Hub.
      • menuID — Значение ID меню.
    • actionOn — Запрос выполнения указанного действия.
      • actionID — Значение ID действия.
    • modeChange — Запрос смены режима на указанный.
      • modeID — Значение ID режима.
    • transport — Запрос перемещения активного транспортного средства.
      • jogValue — Количество шагов джойстика для перемещения транспортного средства.
      • shuttleValue — Значение приращения для изменения скорости шаттла.
    • actionOff — Запрос отмены указанного действия.
      • actionID — Значение ID действия.
    • unmanagedPanelCapabilities — Используется только при работе в режиме управления панелью. Отправляется в ответ на UnmanagedPanelCapabilitiesRequest (0xA0) команду.
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
      • numButtons — Количество кнопок на панели.
      • numEncoders — Количество энкодеров на панели.
      • numDisplays — Количество дисплеев на панели.
      • numDisplayLines — Количество строк на каждом дисплее на панели.
      • numDisplayChars — Количество символов в каждой строке на каждом дисплее на панели.
    • unmanagedButtonDown — Используется только при работе в режиме управления панелью. Выдается при нажатии кнопки.
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
      • buttonID — Аппаратный идентификатор кнопки
    • unmanagedButtonUp — Используется только при работе в режиме управления панелью. Выдается при отпускании кнопки.
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
      • buttonID — Аппаратный идентификатор кнопки.
    • unmanagedEncoderChange — Используется только при работе в режиме управления панелью. Выдаётся при перемещении энкодера.
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
      • paramID — Аппаратный идентификатор энкодера.
      • increment — Значение приращения.
    • unmanagedDisplayRefresh — Используется только при работе в режиме управления панелью. Выдаётся при подключении панели или возвращении фокуса панели вашему приложению.
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
    • panelConnectionState
      • panelID — Идентификатор панели, как указано в InitiateComms команде.
      • state — Состояние подключения панели, true если подключена, false если отключена.
Source extensions/tangent/tangent.lua строка 1044
connect
Signature hs.tangent.connect(applicationName, systemPath[, userPath]) -> boolean, errorMessage
Type Function
Description

Подключается к Tangent Hub.

Parameters
  • applicationName - Название вашего приложения в виде строки
  • systemPath - Строка, содержащая абсолютный путь к каталогу, который содержит XML-файлы Controls и Default Map.
  • [userPath] - Необязательная строка, содержащая абсолютный путь к каталогу, который содержит XML-файлы User’s Default Map.
Returns
  • success - true в случае успеха, в противном случае nil
  • errorMessage - Сообщения об ошибках в виде строки или nil если success равно true.
Source extensions/tangent/tangent.lua строка 1726
connected
Signature hs.tangent.connected() -> boolean
Type Function
Description

Проверяет, подключены ли вы к Tangent Hub.

Parameters
  • None
Returns
  • true если подключены, в противном случае false
Source extensions/tangent/tangent.lua строка 1128
disconnect
Signature hs.tangent.disconnect() -> none
Type Function
Description

Отключается от Tangent Hub.

Parameters
  • None
Returns
  • None
Source extensions/tangent/tangent.lua строка 1657
isTangentHubInstalled
Signature hs.tangent.isTangentHubInstalled() -> boolean
Type Function
Description

Проверяет установлено ли программное обеспечение Tangent Hub.

Parameters
  • None
Returns
  • true если Tangent Hub установлен, в противном случае false.
Source extensions/tangent/tangent.lua строка 1027
send
Signature hs.tangent.send(byteString) -> boolean, string
Type Function
Description

Отправляет сообщение "строка байтов" в Tangent Hub.

Parameters
  • byteString - Строка байтов для отправки в tangent.
Returns
  • success - true если подключены, в противном случае false
  • errorMessage - Сообщение об ошибке, если произошла ошибка, в виде строки
Notes
  • Это должна быть полная закодированная строка для отправляемой команды без начального раздела 'size', который функция будет рассчитывать автоматически.
  • В целом, следует использовать более конкретные функции, которые упаковывают команду для вас, такие как sendParameterValue(...). Эта функция может использоваться для отправки сообщения, которое этот API ещё не поддерживает.
  • Полную документацию по API Tangent можно загрузить здесь.
Source extensions/tangent/tangent.lua строка 1141
END_OF_DOCUMENT_MARKER
sendAllChange
Подпись hs.tangent.sendAllChange() -> boolean, string
Тип Функция
Описание

Сообщает Hub о значительном изменении настроек программного управления.

Параметры
  • Нет
Возвращаемое значение
  • true при успехе или false и сообщение об ошибке в противном случае.
Примечания
  • Hub отвечает запросом на все текущие значения программного управления, которым он в данный момент управляет.
Источник extensions/tangent/tangent.lua строка 1295
sendApplicationDefinition
Подпись hs.tangent.sendApplicationDefinition([appName, systemPath, userPath]) -> boolean, string
Тип Функция
Описание

Отправляет сведения об приложении в Hub Tangent.

Параметры
  • appName - Читаемое человеком имя приложения.
  • systemPath - Строка, содержащая абсолютный путь к каталогу, который содержит файлы XML для управления и карты по умолчанию (Строка пути)
  • userPath - Строка, содержащая абсолютный путь к каталогу, который содержит файлы XML пользовательской карты по умолчанию (Строка пути)
Возвращаемое значение
  • true при успехе, false и сообщение об ошибке, если возникла проблема.
Примечания
  • Если сведения не предоставлены, используются сведения, сохраненные в модуле.
Источник extensions/tangent/tangent.lua строка 1168
sendDisplayText
Подпись hs.tangent.sendDisplayText(messages[, doubleHeight]) -> boolean, string
Тип Функция
Описание

Обновляет Hub строками символов, которые будут отображаться на подключённых панелях, если есть место.

Параметры
  • messages - Список сообщений для отправки.
  • doubleHeight - Необязательный список booleans, указывающий, является ли соответствующее сообщение двухстрочным.
Возвращаемое значение
  • true при успехе, или false и сообщение об ошибке в противном случае.
Примечания
  • Строки могут быть 32-символьными, однострочными или 16-символьными двухстрочными. Они будут отображаться в порядке получения; первая строка отображается вверху дисплея.
  • Если строка не определена как двухстрочная, она займёт следующую строку.
  • Если строка определена как двухстрочная, она займёт следующие 2 строки.
  • Максимальное количество строк, которое будет использоваться приложением, должно быть указано в файле XML управления.
  • Текст, превышающий 32 (однострочный) или 16 (двухстрочный) символов, будет усечён.
  • Если весь текст однострочный, таблица doubleHeight может быть опущена.
Примеры
Источник extensions/tangent/tangent.lua строка 1342
sendHighlightControl
Подпись hs.tangent.sendHighlightControl(targetID, active) -> boolean, string
Тип Функция
Описание

Подсвечивает элемент управления на любой панели, где эта функция доступна.

Параметры
  • targetID - Идентификатор любого параметра, меню, действия или режима, определённого приложением (целое без знака)
  • active - Если true, элемент управления подсвечивается, в противном случае нет.
Возвращаемое значение
  • true при успешной отправке, false и сообщение об ошибке в противном случае.
Примечания
  • При применении к режимам, кнопки, сопоставленные с зарезервированным действием "Перейти к режиму" для данного режима, будут подсвечены.
Источник extensions/tangent/tangent.lua строка 1544
sendIndicateControl
Подпись hs.tangent.sendIndicateControl(targetID, indicated) -> boolean, string
Тип Функция
Описание

Устанавливает индикатор элемента управления на любой панели, где эта функция доступна.

Параметры
  • targetID - Идентификатор любого параметра, меню, действия или режима, определённого приложением
  • active - Если true, элемент управления отображается, в противном случае нет.
Возвращаемое значение
  • true при успешной отправке, false и сообщение об ошибке в противном случае.
Примечания
  • Этот индикатор управляется аргументом atDefault для параметров и меню. Таким образом, эта команда применяется только к элементам управления, сопоставленным с действиями и режимами.
  • При применении к режимам, кнопки, сопоставленные с зарезервированным действием "Перейти к режиму" для данного режима, будут иметь установленный индикатор.
Источник extensions/tangent/tangent.lua строка 1574
sendMenuString
Подпись hs.tangent.sendMenuString(menuID, value[, atDefault]) -> boolean, string
Тип Функция
Описание

Обновляет концентратор значением меню.

Параметры
  • menuID - Значение идентификатора меню (Целое без знака)
  • value - Текущее значение параметра, представленное строкой
  • atDefault - если true значение представляет собой значение по умолчанию. В противном случае false.
Возвращаемое значение
  • true в случае успеха, или false и сообщение об ошибке в противном случае.
Примечания
  • Затем концентратор обновляет отображения любых панелей, которые в настоящее время отображают меню.
  • Если отправлено значение nil, концентратор не будет пытаться отобразить значение для меню. Однако флаг atDefault все равно будет распознан.
Источник extensions/tangent/tangent.lua строка 1256
sendModeValue
Подпись hs.tangent.sendModeValue(modeID) -> boolean, string
Тип Функция
Описание

Обновляет концентратор значением режима.

Параметры
  • modeID - Значение идентификатора режима (Целое без знака)
Возвращаемое значение
  • true в случае успеха, или false и сообщение об ошибке в противном случае.
Примечания
  • Затем концентратор меняет режим и запрашивает все текущие значения управляемых им программных элементов управления.
Источник extensions/tangent/tangent.lua строка 1315
sendPanelConnectionStatesRequest
Подпись hs.tangent.sendPanelConnectionStatesRequest())
Тип Функция
Описание

Запрашивает от концентратора ответ с последовательностью команд PanelConnectionState (0x35) для отчета о статусе подключенных/отключенных каждого настроенного экрана.

Параметры
  • Нет
Возвращаемое значение
  • true если отправлено успешно, false и сообщение об ошибке в противном случае.
Примечания
  • Один запрос может привести к нескольким ответам состояния.
Источник extensions/tangent/tangent.lua строка 1607
sendParameterValue
Подпись hs.tangent.sendParameterValue(paramID, value[, atDefault]) -> boolean, string
Тип Функция
Описание

Обновляет концентратор значением параметра.

Параметры
  • paramID - Значение идентификатора параметра (Целое без знака)
  • value - Текущее значение параметра (Число с плавающей запятой)
  • atDefault - если true значение представляет собой значение по умолчанию. По умолчанию false.
Возвращаемое значение
  • true в случае успеха, или false и сообщение об ошибке в противном случае.
Примечания
  • Затем концентратор обновляет отображения любых панелей, которые в настоящее время отображают значение параметра.
Источник extensions/tangent/tangent.lua строка 1218
sendRenameControl
Подпись hs.tangent.sendRenameControl(targetID, newName) -> boolean, string
Тип Функция
Описание

Динамически переименовывает элемент управления.

Параметры
  • targetID - Идентификатор любого определённого в приложении параметра, меню, действия или режима (Беззнаковое целое число)
  • newName - Новое имя.
Возвращаемые значения
  • true в случае успеха, false и сообщение об ошибке в противном случае.
Примечания
  • Указанная строка заменит обычный текст, полученный из файла XML элементов управления.
  • Чтобы удалить любое существующее переименование, установите newName в значение "", это удалит любое переименование и вернёт систему к отображению обычного текста.
  • При применении к режимам также изменится текст, отображаемый на кнопках, сопоставленных с резервным действием «Переход в режим» для этого конкретного режима.
Источник extensions/tangent/tangent.lua строка 1507
sendUnmanagedDisplayWrite
Подпись hs.tangent.sendUnmanagedDisplayWrite(panelID, displayID, lineNum, pos, message) -> boolean, string
Тип Функция
Описание

Обновляет Центр данными, которые будут отображаться на определённой панели на заданной строке и с заданной позиции, в зависимости от возможностей панели.

Параметры
  • panelID - Идентификатор панели, полученный в команде InitiateComms (Беззнаковое целое число)
  • displayID - Идентификатор отображаемого объекта (Беззнаковое целое число)
  • lineNum - Номер строки отображаемого объекта, где 1 — это верхняя строка (Беззнаковое целое число)
  • pos - Позиция в строке для начала записи, где 1 — это первый столбец (Беззнаковое целое число)
  • message - Строка текста (Строка символов)
Возвращаемые значения
  • true в случае успеха, или false и сообщение об ошибке в противном случае.
Примечания
  • Используется только при работе в режиме неопределённой панели.
  • Если старший бит любого символа текста в message установлен, он будет отображаться инвертированным (темный текст на светлом фоне).
Источник extensions/tangent/tangent.lua строка 1452
sendUnmanagedPanelCapabilitiesRequest
Подпись hs.tangent.sendUnmanagedPanelCapabilitiesRequest(panelID) -> boolean, string
Тип Функция
Описание

Запрашивает у Центра ответ с помощью команды UnmanagedPanelCapabilities (0x30).

Параметры
  • panelID - Идентификатор панели, полученный в команде InitiateComms (Беззнаковое целое число)
Возвращаемые значения
  • true в случае успеха, или false и сообщение об ошибке в противном случае.
Примечания
  • Используется только при работе в режиме неопределённой панели
Источник extensions/tangent/tangent.lua строка 1425
setLogLevel
Подпись hs.tangent.setLogLevel(loglevel) -> none
Тип Функция
Описание

Устанавливает уровень ведения журнала.

Параметры
  • loglevel - может быть 'nothing', 'error', 'warning', 'info', 'debug' или 'verbose'; или соответствующее число от 0 до 5
Возвращаемые значения
  • Нет
Источник extensions/tangent/tangent.lua строка 1013

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.tangent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API