libratbag / piper

GTK application to configure gaming devices
GNU General Public License v2.0
4.69k stars 175 forks source link

Application Specific Profiles #569

Open Harizaki opened 4 years ago

Harizaki commented 4 years ago

The Problem In windows, we could set custom profiles for specific applications. It was a very handy feature, and I would love to see it in Piper.

How it may work Basically, it'll be like I'll be able to set different set of macros for different applications. Wherein, say when Gimp launches the gimp profile activates and I can use macros I set for Gimp, and when I launch a Witcher 3, the profile for witcher will activate automatically.

Here's the thing I'm talking about Add any other context or screenshots about the feature request here.

image

rexmtorres commented 3 years ago

Or at least a command line option for us to switch profiles so that we do not have to open the GUI just to switch profiles. I could easily create a script for the command line and assign it to a keyboard shortcut.

FFY00 commented 3 years ago

That is already available.

ratbagctl 'Logitech PRO X' profile active set N

Similarly, you could make a script that watches the active window and change the active profile. The issue here being that it might take a little while to set the profiles.

This functionality in LGS is done in software, not hardware. The device is not reconfigured, the software overites input events on the fly. There is nothing prventing you from writing a similar thing in Linux, it is just not the scope of this project, this project exists simply to reconfigure hardware.

Gymcap commented 3 years ago

It would be really nice to just be able to create extra application specific profiles. They wouldn't need to be synced to the device or anything, just pick a window that needs to be focused to activate the profile. This would make the software infinitely more useful for me.

OhiraKyou commented 3 years ago

Input remapping utilities translate user intent into commands sent to an application. However, the context of that intent-command relationship is uniquely defined by the application in focus. As such, I consider any remapping utility to be incomplete and under-scoped if it excludes this fundamental feature.

From a user story perspective, I'm coming from LGS on Windows and am looking for a user-friendly replacement for LGS that can adequately translate my intent to commands while respecting the context of that intent. So far, my search has come up short.

It wouldn't bother me too much if an automatic profile switcher were a separate utility under the libratbag family. But, the separation would feel pretty arbitrary, given how tightly coupled commands are to their context.

rexmtorres commented 2 years ago

That is already available.

ratbagctl 'Logitech PRO X' profile active set N

Similarly, you could make a script that watches the active window and change the active profile. The issue here being that it might take a little while to set the profiles.

This functionality in LGS is done in software, not hardware. The device is not reconfigured, the software overites input events on the fly. There is nothing prventing you from writing a similar thing in Linux, it is just not the scope of this project, this project exists simply to reconfigure hardware.

Cool! I just found the man page. I'll see if I can create a script to switch profiles based on the active window.