@ raron
You can bind multiple inputs to one axis in the latest commit.
You can either wait for the next relese, or replace Threads\ProfileInputThread.ahk with this version:
https://raw.githubusercontent.com/evilC ... Thread.ahk
Universal Control Remapper (UCR) - v0.1.22 28th Oct 2018
Re: Universal Control Remapper (UCR) - v0.1.12 7th Mar 2017
@ evilC
Great stuff! Just confirming that it works.
(Except preview in UCR)
Great stuff! Just confirming that it works.
(Except preview in UCR)
Re: Universal Control Remapper (UCR) - v0.1.13 12th Mar 2017
Version 0.1.13 has been released.
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Some issues were found with the new MouseToButtons plugin and the modified MouseToJoy plugin
0.0.14 has been released to address these issues.
0.0.14 has been released to address these issues.
-
- Posts: 9
- Joined: 09 Mar 2017, 13:54
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Can someone make a plugin that locks axis at current position with a press of a button ? Lets say you push analog stick 80% and when you press the lock button it would lock that axis to that position until you release the button or press it again.
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
You may want to describe what you want to happen when the lock is released.
Should the axis move to the position that the input is now at, or should it not move until you move the axis again?
Should the axis move to the position that the input is now at, or should it not move until you move the axis again?
-
- Posts: 9
- Joined: 09 Mar 2017, 13:54
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
evilC wrote:You may want to describe what you want to happen when the lock is released.
Should the axis move to the position that the input is now at, or should it not move until you move the axis again?
Oh, yes, it would be good if on release axis moves to current input position.
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
So you need it to be able to support both "Hold Button to Lock" and "Tap Button to Toggle Lock"?DarkEntity wrote:Can someone make a plugin that locks axis at current position with a press of a button ? Lets say you push analog stick 80% and when you press the lock button it would lock that axis to that position until you release the button or press it again.
I have to run an errand, but once I get back I will code it for you.
-
- Posts: 9
- Joined: 09 Mar 2017, 13:54
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
I actually only need "Hold Button to Lock".evilC wrote:So you need it to be able to support both "Hold Button to Lock" and "Tap Button to Toggle Lock"?DarkEntity wrote:Can someone make a plugin that locks axis at current position with a press of a button ? Lets say you push analog stick 80% and when you press the lock button it would lock that axis to that position until you release the button or press it again.
I have to run an errand, but once I get back I will code it for you.
Thanks in advance !
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Oh dammit. I just coded Toggle only.
I did this partly as an exercise to show how easy it was to make a plugin.
I took the regular axis to axis plugin, and added a button and some logic.
I commented all bits that are different to the regular AxisToAxis plugin with the words "Added for Lockable version"
Save as Plugins\User\AxisToAxisLockable.ahk
I did this partly as an exercise to show how easy it was to make a plugin.
I took the regular axis to axis plugin, and added a button and some logic.
I commented all bits that are different to the regular AxisToAxis plugin with the words "Added for Lockable version"
Save as Plugins\User\AxisToAxisLockable.ahk
Code: Select all
/*
Remaps a physical joystick axis to a virtual joystick axis
Requires the StickOps library and the vJoy library
*/
class AxisToAxisLockable extends _UCR.Classes.Plugin {
Type := "Remapper (Axis To Axis, Lockable)"
Description := "Maps an axis input to a virtual axis output"
vAxis := 0
vDevice := 0
LockState := 0 ; Added for Lockable version
InputAxisState := 0 ; Added for Lockable version
; Set up the GUI to allow the user to select input and output axes
Init(){
Gui, Add, Text, % "xm w125 Center", Input Axis
Gui, Add, Text, % "x+5 yp w100 Center", Input Preview
Gui, Add, Text, % "x+5 yp w40 Center", Invert
Gui, Add, Text, % "x+5 yp w40 Center", Deadzone
Gui, Add, Text, % "x+5 yp w40 Center", Sensitivity
Gui, Add, Text, % "x+5 yp w30 Center", Linear
Gui, Add, Text, % "x+10 yp w125 Center", Output Virtual Axis
Gui, Add, Text, % "x+5 yp w100 Center", Output Preview
;this.AddInputAxis("InputAxis", 0, this.MyInputChangedState.Bind(this), "xm w125")
this.AddControl("InputAxis", "IA1", 0, this.MyInputChangedState.Bind(this), "xm w125")
this.AddControl("AxisPreview", "", 0, this.IOControls.IA1, "x+5 yp w100", 50)
;this.AddControl("Invert", 0, "CheckBox", "x+20 yp+3 w30")
this.AddControl("CheckBox", "Invert", 0, "x+20 yp+3 w30")
;this.AddControl("Deadzone", 0, "Edit", "x+10 yp-3 w30", "0")
this.AddControl("Edit", "Deadzone", 0, "x+10 yp-3 w30", "0")
Gui, Add, Text, % "x+0 yp+3", `%
;this.AddControl("Sensitivity", 0, "Edit", "x+10 yp-3 w30", "100")
this.AddControl("Edit", "Sensitivity", 0, "x+10 yp-3 w30", "100")
Gui, Add, Text, % "x+0 yp+3", `%
;this.AddControl("Linear", 0, "Checkbox", "x+18 yp w30")
this.AddControl("Checkbox", "Linear", 0, "x+18 yp w30")
;this.AddOutputAxis("OutputAxis", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125")
this.AddControl("OutputAxis", "OA1", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125")
this.AddControl("AxisPreview", "", 0, this.IOControls.OA1, "x+5 yp w100", 50)
; Added for Lockable version
Gui, Add, Text, xm w125 Center, Lock Button
this.AddControl("InputButton", "IB1", 0, this.LockButtonChangedState.Bind(this), "xm w125")
}
; Added for Lockable version
LockButtonChangedState(state){
if (!state)
return ; Ignore key releases, only presses toggle the state of the lock
; Store the current lock state somewhere handy ...
; ... so when an axis moves, it knows state of button
this.LockState := !this.LockState ; Toggle state of the lock
; When we disable the lock, set the axis back to where it should be
if (!this.LockState){
this.MyInputChangedState(this.InputAxisState)
}
}
; The user changed options - store stick and axis selected for fast retreival
MyOutputChangedValue(value){
this.vAxis := value.Binding[1]
this.vDevice := value.DeviceID
this.OutputBound := value.IsBound()
}
; The user moved the selected input axis. Manipulate the output axis accordingly
MyInputChangedState(value){
; Added for Lockable version
; Store the state of the input axis somewhere handy, so that when the lock is released...
; We know what to set the axis to
this.InputAxisState := value ; Added for Lockable version
if (this.LockState){
return ; ignore input
}
; End of Added for Lockable version
value := UCR.Libraries.StickOps.AHKToInternal(value)
if (this.OutputBound){
if (this.GuiControls.Deadzone.Get()){
value := UCR.Libraries.StickOps.Deadzone(value, this.GuiControls.Deadzone.Get())
}
if (this.GuiControls.Sensitivity.Get()){
if (this.GuiControls.Linear.Get())
value *= (this.GuiControls.Sensitivity.Get() / 100)
else
value := UCR.Libraries.StickOps.Sensitivity(value, this.GuiControls.Sensitivity.Get())
}
if (this.GuiControls.Invert.Get()){
value := UCR.Libraries.StickOps.Invert(value)
}
value := UCR.Libraries.StickOps.InternalToAHK(value)
this.IOControls.OA1.Set(value)
}
}
}
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Here is a version which supports hold and toggle.
Note that if you bind a keyboard key as the lock toggle button, turn "Filter Repeats" ON for the lock button, especially if you use toggle mode.
Joystick buttons do not repeat if held, so no need there.
Note that if you bind a keyboard key as the lock toggle button, turn "Filter Repeats" ON for the lock button, especially if you use toggle mode.
Joystick buttons do not repeat if held, so no need there.
Code: Select all
/*
Remaps a physical joystick axis to a virtual joystick axis
Requires the StickOps library and the vJoy library
*/
class AxisToAxisLockable extends _UCR.Classes.Plugin {
Type := "Remapper (Axis To Axis, Lockable)"
Description := "Maps an axis input to a virtual axis output"
vAxis := 0
vDevice := 0
LockState := 0 ; Added for Lockable version
InputAxisState := 0 ; Added for Lockable version
LockToggleMode := 0 ; Added for Lockable version
; Set up the GUI to allow the user to select input and output axes
Init(){
Gui, Add, Text, % "xm w125 Center", Input Axis
Gui, Add, Text, % "x+5 yp w100 Center", Input Preview
Gui, Add, Text, % "x+5 yp w40 Center", Invert
Gui, Add, Text, % "x+5 yp w40 Center", Deadzone
Gui, Add, Text, % "x+5 yp w40 Center", Sensitivity
Gui, Add, Text, % "x+5 yp w30 Center", Linear
Gui, Add, Text, % "x+10 yp w125 Center", Output Virtual Axis
Gui, Add, Text, % "x+5 yp w100 Center", Output Preview
;this.AddInputAxis("InputAxis", 0, this.MyInputChangedState.Bind(this), "xm w125")
this.AddControl("InputAxis", "IA1", 0, this.MyInputChangedState.Bind(this), "xm w125")
this.AddControl("AxisPreview", "", 0, this.IOControls.IA1, "x+5 yp w100", 50)
;this.AddControl("Invert", 0, "CheckBox", "x+20 yp+3 w30")
this.AddControl("CheckBox", "Invert", 0, "x+20 yp+3 w30")
;this.AddControl("Deadzone", 0, "Edit", "x+10 yp-3 w30", "0")
this.AddControl("Edit", "Deadzone", 0, "x+10 yp-3 w30", "0")
Gui, Add, Text, % "x+0 yp+3", `%
;this.AddControl("Sensitivity", 0, "Edit", "x+10 yp-3 w30", "100")
this.AddControl("Edit", "Sensitivity", 0, "x+10 yp-3 w30", "100")
Gui, Add, Text, % "x+0 yp+3", `%
;this.AddControl("Linear", 0, "Checkbox", "x+18 yp w30")
this.AddControl("Checkbox", "Linear", 0, "x+18 yp w30")
;this.AddOutputAxis("OutputAxis", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125")
this.AddControl("OutputAxis", "OA1", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125")
this.AddControl("AxisPreview", "", 0, this.IOControls.OA1, "x+5 yp w100", 50)
; Added for Lockable version
Gui, Add, Text, xm w125 Center, Lock Button
Gui, Add, Text, x+5 w125 Center, Lock Toggle Mode
this.AddControl("InputButton", "IB1", 0, this.LockButtonChangedState.Bind(this), "xm w125")
this.AddControl("CheckBox", "LockToggleMode", this.LockToggleModeChanged.Bind(this), "x+65 yp+10")
}
; Added for Lockable version
LockButtonChangedState(state){
if (this.LockToggleMode && !state)
return ; In Toggle mode, ignore key releases, only presses toggle the state of the lock
; Store the current lock state somewhere handy ...
; ... so when an axis moves, it knows state of button
if (this.LockToggleMode){
this.LockState := !this.LockState ; Toggle state of the lock
} else {
this.LockState := state
}
; When we disable the lock, set the axis back to where it should be
if (!this.LockState){
this.MyInputChangedState(this.InputAxisState)
}
}
LockToggleModeChanged(state){
this.LockToggleMode := state
}
; The user changed options - store stick and axis selected for fast retreival
MyOutputChangedValue(value){
this.vAxis := value.Binding[1]
this.vDevice := value.DeviceID
this.OutputBound := value.IsBound()
}
; The user moved the selected input axis. Manipulate the output axis accordingly
MyInputChangedState(value){
; Added for Lockable version
; Store the state of the input axis somewhere handy, so that when the lock is released...
; We know what to set the axis to
this.InputAxisState := value ; Added for Lockable version
if (this.LockState){
return ; ignore input
}
; End of Added for Lockable version
value := UCR.Libraries.StickOps.AHKToInternal(value)
if (this.OutputBound){
if (this.GuiControls.Deadzone.Get()){
value := UCR.Libraries.StickOps.Deadzone(value, this.GuiControls.Deadzone.Get())
}
if (this.GuiControls.Sensitivity.Get()){
if (this.GuiControls.Linear.Get())
value *= (this.GuiControls.Sensitivity.Get() / 100)
else
value := UCR.Libraries.StickOps.Sensitivity(value, this.GuiControls.Sensitivity.Get())
}
if (this.GuiControls.Invert.Get()){
value := UCR.Libraries.StickOps.Invert(value)
}
value := UCR.Libraries.StickOps.InternalToAHK(value)
this.IOControls.OA1.Set(value)
}
}
}
-
- Posts: 9
- Joined: 09 Mar 2017, 13:54
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
evilC wrote:Here is a version which supports hold and toggle.
Note that if you bind a keyboard key as the lock toggle button, turn "Filter Repeats" ON for the lock button, especially if you use toggle mode.
Joystick buttons do not repeat if held, so no need there.Code: Select all
/* Remaps a physical joystick axis to a virtual joystick axis Requires the StickOps library and the vJoy library */ class AxisToAxisLockable extends _UCR.Classes.Plugin { Type := "Remapper (Axis To Axis, Lockable)" Description := "Maps an axis input to a virtual axis output" vAxis := 0 vDevice := 0 LockState := 0 ; Added for Lockable version InputAxisState := 0 ; Added for Lockable version LockToggleMode := 0 ; Added for Lockable version ; Set up the GUI to allow the user to select input and output axes Init(){ Gui, Add, Text, % "xm w125 Center", Input Axis Gui, Add, Text, % "x+5 yp w100 Center", Input Preview Gui, Add, Text, % "x+5 yp w40 Center", Invert Gui, Add, Text, % "x+5 yp w40 Center", Deadzone Gui, Add, Text, % "x+5 yp w40 Center", Sensitivity Gui, Add, Text, % "x+5 yp w30 Center", Linear Gui, Add, Text, % "x+10 yp w125 Center", Output Virtual Axis Gui, Add, Text, % "x+5 yp w100 Center", Output Preview ;this.AddInputAxis("InputAxis", 0, this.MyInputChangedState.Bind(this), "xm w125") this.AddControl("InputAxis", "IA1", 0, this.MyInputChangedState.Bind(this), "xm w125") this.AddControl("AxisPreview", "", 0, this.IOControls.IA1, "x+5 yp w100", 50) ;this.AddControl("Invert", 0, "CheckBox", "x+20 yp+3 w30") this.AddControl("CheckBox", "Invert", 0, "x+20 yp+3 w30") ;this.AddControl("Deadzone", 0, "Edit", "x+10 yp-3 w30", "0") this.AddControl("Edit", "Deadzone", 0, "x+10 yp-3 w30", "0") Gui, Add, Text, % "x+0 yp+3", `% ;this.AddControl("Sensitivity", 0, "Edit", "x+10 yp-3 w30", "100") this.AddControl("Edit", "Sensitivity", 0, "x+10 yp-3 w30", "100") Gui, Add, Text, % "x+0 yp+3", `% ;this.AddControl("Linear", 0, "Checkbox", "x+18 yp w30") this.AddControl("Checkbox", "Linear", 0, "x+18 yp w30") ;this.AddOutputAxis("OutputAxis", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125") this.AddControl("OutputAxis", "OA1", this.MyOutputChangedValue.Bind(this), "x+5 yp-3 w125") this.AddControl("AxisPreview", "", 0, this.IOControls.OA1, "x+5 yp w100", 50) ; Added for Lockable version Gui, Add, Text, xm w125 Center, Lock Button Gui, Add, Text, x+5 w125 Center, Lock Toggle Mode this.AddControl("InputButton", "IB1", 0, this.LockButtonChangedState.Bind(this), "xm w125") this.AddControl("CheckBox", "LockToggleMode", this.LockToggleModeChanged.Bind(this), "x+65 yp+10") } ; Added for Lockable version LockButtonChangedState(state){ if (this.LockToggleMode && !state) return ; In Toggle mode, ignore key releases, only presses toggle the state of the lock ; Store the current lock state somewhere handy ... ; ... so when an axis moves, it knows state of button if (this.LockToggleMode){ this.LockState := !this.LockState ; Toggle state of the lock } else { this.LockState := state } ; When we disable the lock, set the axis back to where it should be if (!this.LockState){ this.MyInputChangedState(this.InputAxisState) } } LockToggleModeChanged(state){ this.LockToggleMode := state } ; The user changed options - store stick and axis selected for fast retreival MyOutputChangedValue(value){ this.vAxis := value.Binding[1] this.vDevice := value.DeviceID this.OutputBound := value.IsBound() } ; The user moved the selected input axis. Manipulate the output axis accordingly MyInputChangedState(value){ ; Added for Lockable version ; Store the state of the input axis somewhere handy, so that when the lock is released... ; We know what to set the axis to this.InputAxisState := value ; Added for Lockable version if (this.LockState){ return ; ignore input } ; End of Added for Lockable version value := UCR.Libraries.StickOps.AHKToInternal(value) if (this.OutputBound){ if (this.GuiControls.Deadzone.Get()){ value := UCR.Libraries.StickOps.Deadzone(value, this.GuiControls.Deadzone.Get()) } if (this.GuiControls.Sensitivity.Get()){ if (this.GuiControls.Linear.Get()) value *= (this.GuiControls.Sensitivity.Get() / 100) else value := UCR.Libraries.StickOps.Sensitivity(value, this.GuiControls.Sensitivity.Get()) } if (this.GuiControls.Invert.Get()){ value := UCR.Libraries.StickOps.Invert(value) } value := UCR.Libraries.StickOps.InternalToAHK(value) this.IOControls.OA1.Set(value) } } }
Thank you very much man, it works perfectly
Also thanks for comments, I'd like to learn AHK and make some scripts on my own
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Good to hear.
Check out the wiki on the Github page - that in combination with my comments should show how a feature can be added to a plugin - In order to make useful plugins, you do not need to understand how it all works, you just need to be able to code basic logic, and assemble the building blocks that UCR provides.
Oh, and by the way, I have not had much feedback from people who are new to coding and/or AHK about how easy/hard it is to learn how to write a plugin, how the docs are helpful/unhelpful in this regard, so I would value any feedback you have.
Check out the wiki on the Github page - that in combination with my comments should show how a feature can be added to a plugin - In order to make useful plugins, you do not need to understand how it all works, you just need to be able to code basic logic, and assemble the building blocks that UCR provides.
Oh, and by the way, I have not had much feedback from people who are new to coding and/or AHK about how easy/hard it is to learn how to write a plugin, how the docs are helpful/unhelpful in this regard, so I would value any feedback you have.
-
- Posts: 9
- Joined: 09 Mar 2017, 13:54
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
evilC wrote:Good to hear.
Check out the wiki on the Github page - that in combination with my comments should show how a feature can be added to a plugin - In order to make useful plugins, you do not need to understand how it all works, you just need to be able to code basic logic, and assemble the building blocks that UCR provides.
Oh, and by the way, I have not had much feedback from people who are new to coding and/or AHK about how easy/hard it is to learn how to write a plugin, how the docs are helpful/unhelpful in this regard, so I would value any feedback you have.
Ok, I'll check it out, think of a plugin that I could make and I'll try to write it on my own and I'll report back my experience.
-
- Posts: 9
- Joined: 31 Dec 2016, 12:39
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Just want to let you guys know that using steam big picture overlay I managed to remap my joystick and hide the input from physical stick and it works and all games including unity games that use raw input, maybe ucr can implement something similar in the future
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Nefarius is writing a system called HidGuardian / HidCerberus that will allow us to whitelist / blacklist apps from being able to see sticks.
It works by installing a driver, so it will be 100% reliable - it can even stop a joystick appearing in control panel!!
The blocking bit is working, but the whitelisting bit (So UCR can still see the stick) is not ready yet.
It works by installing a driver, so it will be 100% reliable - it can even stop a joystick appearing in control panel!!
The blocking bit is working, but the whitelisting bit (So UCR can still see the stick) is not ready yet.
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Stumbled upon UCR and it's awesome! Question, is there an option to make a button to button (or some other way) in which a button held on the joystick results in rapid pulse output? I'm playing X-Wing Alliance on a gamepad, and I need the UCR to rapidly tap the throttle up button when I hold a joystick button or axis. A hold of the button in game (whether with UCR or just default joystick driver) does not repeat when the button is held, and so will not continue to increase throttle unless you repeatedly tap the button. I'm also looking into writing my own AHK code, but just diving into this.
In simplest terms: A held joystick button translates into lots of quick presses of that button.
Thanks for any input (ha, pun!) and let me know if you need any clarification!
In simplest terms: A held joystick button translates into lots of quick presses of that button.
Thanks for any input (ha, pun!) and let me know if you need any clarification!
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
No, there is no plugin to handle this currently, but it would be simple to make.
Take the ButtonToButton plugin (ButtonToButton.ahk in the plugins\core folder) and copy it to plugins\user, naming it something like MyNewButtonToButton.ahk
Edit the file, search and replace ButtonToButton with MyNewButtonToButton to rename the class, so it matches the filename.
Now we can add your custom code - here is what it will probably look like: (Untested - may work, may not)
Take the ButtonToButton plugin (ButtonToButton.ahk in the plugins\core folder) and copy it to plugins\user, naming it something like MyNewButtonToButton.ahk
Edit the file, search and replace ButtonToButton with MyNewButtonToButton to rename the class, so it matches the filename.
Now we can add your custom code - here is what it will probably look like: (Untested - may work, may not)
Code: Select all
class MyNewButtonToButton extends _UCR.Classes.Plugin {
Type := "Remapper (Button To Button - SPAMMING VERSION)"
Description := "Remaps button type inputs (Keys, Mouse buttons, Joystick buttons + hat directions)"
; The Init() method of a plugin is called when one is added. Use it to create your Gui etc
Init(){
; Create the GUI
Gui, Add, GroupBox, Center xm ym w170 h60 section, Input Button
this.AddControl("InputButton", "IB1", 0, this.MyHkChangedState.Bind(this), "xs+5 ys+20")
this.AddControl("ButtonPreview", "", 0, this.IOControls.IB1, "x+5 yp+5")
;Gui, Add, Text, y+10, % "Remap"
Gui, Add, GroupBox, Center x190 ym w170 h60 section, Output Button
this.AddControl("OutputButton", "OB1", 0, "xs+5 ys+20")
this.AddControl("ButtonPreview", "", 0, this.IOControls.OB1, "x+5 yp+5")
Gui, Add, GroupBox, Center x370 ym w100 h60 section, Settings
this.AddControl("Checkbox", "Toggle", 0, "xs+10 yp+30", "Toggle mode")
; Added new stuff for spam plugin below. All stuff above is a copy of the ButtonToButton plugin
this.TimerFn := this.TimerTick.Bind(this)
this.TimerRunning := 0
this.SpamRate := 100 ; Later we can add an editbox to configure this, for now, hard-code it
}
; Called when the hotkey changes state (key is pressed or released)
; ReWritten for spam plugin
MyHkChangedState(e){
fn := this.TimerFn
if (e && !this.TimerRunning){
; Button went down while timer not running
this.TimerTick() ; Fire action off straight away...
SetTimer, % fn, % this.SpamRate ; Then set the timer running
this.TimerRunning := 1
} else if (!e && this.TimerRunning){
; Button when up while timer running
SetTimer, % fn, Off
this.TimerRunning := 0
}
}
; Added new code for spam plugin
TimerTick(){
this.IOControls.OB1.Set(!this.IOControls.OB1.Get()) ; Toggle state of output
}
}
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
Hi
Nice tool, indeed!
Is it possible to add another feature?
I can create a virtual axis (->Buttons to Axis)
initialize it to a default value when the script starts (AxisInitializer)
and change thew value of the axix by keypresses (-> Incremential Mode)
What I miss is a possibility to reset the Axis to a default value by another keypress.
AxisInitializer doesn't work a second time because the axis won't forgewt its actual value.
Deciman
Nice tool, indeed!
Is it possible to add another feature?
I can create a virtual axis (->Buttons to Axis)
initialize it to a default value when the script starts (AxisInitializer)
and change thew value of the axix by keypresses (-> Incremential Mode)
What I miss is a possibility to reset the Axis to a default value by another keypress.
AxisInitializer doesn't work a second time because the axis won't forgewt its actual value.
Deciman
Re: Universal Control Remapper (UCR) - v0.1.14 12th Mar 2017
I haven't found an option to send anything on release button. Is it possible with UCR?
I mean:
if button is pressed:
send something
if button is released:
send something
Also, is there a way to define minimum press duration? Currently I can see that my presses last for 3-4ms, I need to increase them to 25ms or more. Is that possible with UCR?
I mean:
if button is pressed:
send something
if button is released:
send something
Also, is there a way to define minimum press duration? Currently I can see that my presses last for 3-4ms, I need to increase them to 25ms or more. Is that possible with UCR?
Return to “Gaming Scripts (v1)”
Who is online
Users browsing this forum: No registered users and 13 guests