Skip to content

Hardware device input plugin for Touch Portal macro launcher software. Use game controllers, keyboard, mouse, etc, to interact with Touch Portal pages.

License

Notifications You must be signed in to change notification settings

mpaperno/DeviceInput-TouchPortal-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Device Input Plugin for Touch Portal

Made for Touch Portal Latest Release Supported Platforms GPLv3 License Discord

Hardware device input plugin for Touch Portal macro launcher software. Use game controllers, keyboard, or mouse, to trigger Touch Portal actions.


Features

This plugin allows using external hardware devices, such as game controllers, keyboards, etc, as inputs for Touch Portal.

  • Trigger Touch Portal actions based on device button or key presses, axis movement, wheel/scroll inputs, and more.
  • Connect on-demand to monitor any supported device type detected on the system the plugin is running on.
  • Input reports are delivered as Touch Portal States with single values and as Events with attached structured data.
  • Device monitoring is passive, meaning the devices can still be used with other software at the same time.
  • Can run on a remote system with a network connection to a Touch Portal desktop instance.
  • Runs on Windows, Linux, and MacOS (including Linux ARM devices such as Raspberry Pi, and an Android version is also possible).

Currently supported device types

  • Game Controllers, such as joysticks, gamepads, wheels, etc.
  • Keyboard (Windows only for now)
  • Mouse / Pointing device (Windows only for now)

Possible future device support

  • Keyboard/Mouse support on Linux (maybe Mac)
  • Touch
  • Sensors (accelerometer/gyro)
  • Generic HID reporting

Download and Install

Note: As with all plugins, this requires the Touch Portal Pro (paid) version. TP v4+ is required. Use the latest available Touch Portal version for best results.

  1. Get the latest version of this plugin for your operating system from the Releases page.
  2. The plugin is distributed and installed as a standard Touch Portal .tpp plugin file. If you know how to import a plugin, just do that... otherwise continue here.
  3. Import the plugin:
    1. Start/open Touch Portal.
    2. Click the "Quick Actions" icon at the top-right in the title bar (next to the "minimize" button) and select "Import plug-in..." from the menu.
    3. Browse to where you downloaded this plugin's .tpp file and select it.
    4. When prompted by Touch Portal to trust the plugin startup script, select "Trust Always" or "Yes" (the source code is public!).
      • "Trust Always" will automatically start the plugin each time Touch Portal starts.
      • "Yes" will start the plugin this time and then prompt again each time Touch Portal starts.
      • If you select "No" then you can still start the plugin manually from Touch Portal's Settings -> Plug-ins dialog.
  4. That's it. You should now have the plugin's Actions, Events, and States available to you in Touch Portal.

Updates

Unless stated otherwise in the notes of a particular release version, it is OK to just re-install a newer version of the plugin "on top of" a previous version without un-installing the old version first. Either way is OK, just keep in mind that un-installing the plugin via Touch Portal will also remove all plugin log files as well.

Update Notifications

The latest version of this software is always published on the GitHub Releases page.

You have several options for getting automatically notified about new releases:

  • In GitHub (with an account) you can Watch -> Custom -> Releases this repository (button at top right).
  • Subscribe to the ATOM feed for release notifications.
  • If you use Discord, subscribe to notifications on my server channel #device-input.

Documentation & Examples

Please check the Wiki! https://github.com/mpaperno/DeviceInput-TouchPortal-Plugin/wiki


Support and Discussion

Use the GitHub Issues feature for bug reports and concise feature suggestions. Use Discussions for any other topic.

There are also dedicated Discord channels on my server @ #device-input-general, and at Touch Portal's Discord server @ #device-input.

Your feedback, suggestions, and other input is always welcome!


Troubleshooting (Log File)

The plugin keeps a log file while running. This log file is in the plugin's installation folder, which will be in the Touch Portal data directory:

  • Windows: C:\Users\<User_Name>\AppData\Roaming\TouchPortal\plugins\DeviceInputPlugin\logs
  • Mac: ~/Documents/TouchPortal/plugins/DeviceInputPlugin/logs
  • Linux: ~/.config/TouchPortal/plugins/DeviceInputPlugin/logs

By default all warnings and errors will be logged, as well as some basic information about the Touch Portal connection and the devices being used (if any). This log is the first place to look if you suspect something isn't working correctly.

This logged information will be vital in trying to track down any issues with the plugin code or functionality. Please locate and consult your log file before seeking support with the plugin, since I (or others) will very likely request to see it. The logs should not contain any sensitive or personal information, (although it's always good to check before posting anything online ;-) ).

The log files are automatically rotated every day, and by default only the last 7 days are kept and the older ones deleted.


Credits

This project is written, tested, and documented by myself, Maxim (Max) Paperno.
https://github.com/mpaperno/

Contributions are welcome!

Uses portions of the Qt Library under the terms of the GPL v3 license.

Uses the Simple DirectMedia Layer (SDL) v3 library under the terms of the zlib license.


Copyright, License, and Disclaimer

Device Input Plugin Project
COPYRIGHT: Maxim Paperno; All Rights Reserved.

This program and associated files may be used under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is included in this repository and is also available at http://www.gnu.org/licenses/.

This project may also use 3rd-party Open Source software under the terms of their respective licenses. The copyright notice above does not apply to any 3rd-party components used within.

About

Hardware device input plugin for Touch Portal macro launcher software. Use game controllers, keyboard, mouse, etc, to interact with Touch Portal pages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published