FootController version 3.0.0
Note: Linux Only
This version is for wxpython 4+ provided by Mint 19+ (Ubuntu 18.04)
If you are using an older version operating system please install a
previous version of footcontroller
Description:
This python utility allows users on Linux to control their PC using a foot pedal
The foot pedal becomes an extra mouse or mini keyboard but footcontroller allows
you to define multiple pedal sets which you can activate at the click of a mouse
It uses xdotool to provide you with the ability to assign commands to each pedal.
Many foot pedals come with software, often MS Windows only, which allows you to
program the pedals to perform some function or other, Footcontroller does away
with the proprietry software and allows you to define multiple sets of commands
that can be swapped in or out at the click of a button.
The advantage is that now, your foot pedal can perform different tasks in multiple
situations simply by selecting the appropriate pedal set, rather than having to
re-program the foot pedal from scratch.
***************************************************************************************
* Beware the Infinity in-USB3 footpedal it it not the same as the old in-USB2 version *
* It is inconsistent with the Linux udev system and will not work with footcontroller *
***************************************************************************************
Automatic installation of dependencies require that you use the Gdebi package
to install the program.
Please read the accompanying document: footcontroller.pdf
Installation:
The package installs itself into Accessories and can be found in that menu.
Install with debian GDebi package installer 'gdebi'
if you don't have that run
sudo apt-get install gdebi
before trying to install footcontroller
The reason for this is that by default the dpkg and apt packages do not automatically
install packages dependencies, unless they have been configured to use "Smart Updates"
Dependencies: python3, python3-configobj, python3-wxgtk4.0 (>=4.0.1), sqlite3, python3-evdev, python3-requests, xdotool
Features:
- Multiple definable pedal sets
- Automate fixed text to a foot pedal
- Automate Mouse clicks to a foot pedal
- Automate Function Keys
- Automate program execution to a foot pedal
- Automate command chaining for any of the above
- For the full list of capabilities read the documentation of xdotool
- Multiple foot pedal manufacturers catered for.
- The ability to redefine the codes that your foot pedal sends
- Define the position on the screen that footcontroller will occupy
- Define whether footcontroller should stay "On Top" of other programs or not
- Assign pedal set selection to a keyboard shortcut
Change Log
==========
footcontroller (3.0.0)
*
* Toggle Key action added.
* Toggle Key has been added as an instruction type in addition to the existing types:
* "type", "execute", "key", "click" and "custom"
*
* The "toggle key" option is not strictly toggling the key i.e. Key down until Key Up
* because xdotool when told to use keydown, treats that as emulate key held down, which
* simply repeats the key adnausem.
* Instead "toggle key" issues the key command on pedal press and another on pedal up.
*
* Of what benefit is this to me you might ask?
* If you use a program that uses F4 to Start and Stop an action i.e. It toggles that function.
* This allows you to control that function using footcontroller using Press and Release.
*
* For example:
* If you use media player that uses F6 to toggle Play/Pause, you can create a "toggle key" F6 for pedal1.
* Now when you press and hold pedal1, for example, the media will Play, until you release pedal1, when it will Pause.
* You now have a new method of hands free control of the Play/Pause function.
* Prior to "toggle key" you would have had to Press and Release pedal1 to Play and again to Pause.
* Of course, if you want it to work the other way around, simply engage the function manually and thereafter
* pedal will Pause on press and Play on release.
*
footcontroller (2.2.1)
*
* Allow for newer versions of the evdev package which have changed the access to device names
* in the initial installation setup program as well
*
* Make python3 shebangs in the scripts explicit, in an attempt to prevent people trying
* to run with python 2.9
*
* Change the postinst script to avoid the new security policy issues running with sudo
* Add an initialisation file to remind the foot pedal codes need to be set
* after the postinst changes
*
footcontroller (2.2.0)
*
* Cater for newer versions of the evdev package which have changed the access to device names
*
* be less restrictive about which devices are possible footpedal and which are not
*
footcontroller (2.1.0)
*
* email address change
* change license to Gpl 3
* The installation process which could fail due to new security policies that
* made accessing a Gui problematic, has been resolved by removing the Gui
* This simply means that whereas the install process used to be able to guide
* you through an unknown footpedal setup, now it defaults to "No footpedal"
* * if and only if * a footpedal can't be identified.
* If this happens you need to identify the footpedal when you configure footcontroller
*
footcontroller (2.0.0)
*
* Converted to run with python3 and wxpython 4+
*
footcontroller (1.3.0)
* Converted to use wxpython 3.0
*
* More robust foot pedal control, allows for foot pedals not to have to be
* defined in 'udev' hwdb rules files. Footcontroller can now work with
* whatever codes the foot pedal sends
*
* Improved set-up routine now defines the udev rules file for you
*
1.2.5
footcontroller (1.2.5)
* Re-named microdia udev files
footcontroller (1.2.4)
* Re-configured to be able to also run on a Raspberry Pi 3
* If the Pi is running Ubuntu-Mate 16 (Downloadable from Raspberry)
footcontroller (1.2.3)
* Check Version now gives a report of what is new in new versions
* of footcontroller available on the sourceforge website
footcontroller (1.2.2) unstable; urgency=low
1. Added the ability to choose a colour for footcontroller
footcontroller (1.2.1) unstable; urgency=low
1. The identification of the Event Id for the foot pedal is now more robust,
to help with installation issues and if the Id of the foot pedal should
change, due to using a different connection or some other cause.
2. The Foot pedals HID Device Id event is now checked against what
footcontoller can see.
If there is a discrepancy, the stated Id, if invalid, can be swapped out
for one of the event Id's that can be read.
3. The tooltip on the Hid Device in Configuration now lists valid event Id's
4. If the Event Id is still incorrect or there are permission errors a list of
probable causes are listed with solutions.
footcontroller (1.2.0) unstable; urgency=low
* Pedal set selection can be manipulated Up 1 set with F2
* Pedal set selection can be manipulated Down 1 set with F1
* New xdotool scripts xfootup.sh and xfootdown.sh included
* These can be assigned to a keyboard shortcut, allowing you to advanced up
* or down through the pedal sets via hot key, rather than having to focus
* in the footcontroller window to advance or reduce the pedal set.
* This provides the ability to rapidly change pedal sets by hitting a hotkey
* Probably most useful to the gamers out there
footcontroller (1.1.0) unstable; urgency=low
* Amended documentation for changes to udev in version 220 and above.
* The code to input the foot pedal codes has been rewritten to be more robust
* The fc_list_devices.py program that can be used to identify your foot pedal
* has been amended to identify the Bus Id which is important if you are
* running version 220 and above of udev, which changed the way that entries
* are identified in the /lib/udev/hwdb.d files, used when you have to re-map
* the values transmitted by your foot pedal.
footcontroller (1.0.0) unstable; urgency=low
* Initial version of the software.
End: