Giter VIP home page Giter VIP logo

freepie's People

Contributors

andersmalmgren avatar baggyg avatar brantlew avatar cjonasw avatar drowhunter avatar faztsquirrel avatar hipstersloth avatar marcfellows avatar marijns95 avatar maxmalmgren avatar mistakeswheremade avatar mon avatar notheotherben avatar papodaca avatar peterth avatar psykomantabrain avatar rahkogen avatar ricmatsui avatar sanjay900 avatar sthalik avatar terranulm avatar verymahler avatar voxar avatar wiiplayer2 avatar xuerian avatar zelmon64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freepie's Issues

FreePIE stopped launching

FreePIE has randomly simply stopped launching on me. I've restarted my computer, reinstalled the program, and nothing's working. The process simply terminates a few seconds after being started.

Hydra input support

Hi

I'm looking for making a Hydra to vJoy mapping.

I read that there is Razer Hydra support but it seems, from reading code and testing out the script engine, that only emulation/write is supported? Is it also possible to read values from the hydra?

If reading is supported, are there any special setup or configuration needed?
If not, is anyone working on it or should I get started?

Detect and Recover Infinite Lua Loop

Hi Anders,

This isn't really an issue with your FreePIE package, more regarding this post you made on SO:
http://stackoverflow.com/questions/10352092/prevent-lua-infinite-loop

On that page you referenced your example code for detecting inifinite loops in lua - I would very much like to see this code, but it is no longer posted here. Here was your original link for it:
https://github.com/AndersMalmgren/FreePIE/tree/detect-and-recover-infite-lua-loop

I don't suppose you still have this around somewhere? I would love to take a look at it - I've been searching and you are the only one who ever seems to mention how to deal with this issue.

Support for VJoy 2.1.6

Currently, FreePIE supports VJoy Interface 2.05. On October 9,2015, VJoy came out with a version 2.1.6 which does not work on the newest version of FreePIE.

"continousRotation" name typo

The method name continousRotation should probably be continuousRotation as it's crying out for being mistyped as it stands.

Add support for classic controller

I recently submitted a pull request to Max Malmgren's Dolphiimote project, wherein I added support for the Wii Classic Controller. I am still waiting for a response, but I was hoping to see Classic Controller support added to FreePIE to make use of my Dolphiimote changes, once they're pulled in. (I know Max is your brother, so if you could accelerate the process of him checking that pull request, it would be great!)

I haven't yet forked the FreePIE source, but I could probably try to add Classic Controller support myself, once the Dolphiimote changes trickle down into FreePIE. Thanks!

Mouse cursor will not move when TriDef ignition 3D has focus.

I have been using the FreePie Android IMU for head tracking in my colorcross HMD. The mouse cursor moves in response to my phone until I give TriDef ignition focus, the mouse refuses to move despite the values in the watch window seemingly still responding to my phone movements..

This means that any game launched via TriDef for 3D SBS cannot use FreePie for head tracking...

Oddly giving any other program focus restores the mouse moment including launching games directly, outside of TriDef

YEI 3-Space Sensor buttons problem

I believe, with the last firmware of the Yei sensors, the access to the two buttons not function. I you put:
diagnostics.watch(yei[0].button0);
diagnostics.watch(yei[0].button1);
the state always is False and you can't use the buttons in Freepie. I believe that in the old firmwares it runs ok ¿?

Crash caused by method not found, when launching a simple script

Description

When launching a very simple script, like an empty one, or the following one, FreePIE does not find a method, handles the exception (TargetInvocationException) in the handler of ExecuteSafe and crashes afterwards with a MissingMethodException.

Platform

Operating System: Windows 7 64 bit
FreePIE version: Latest installer (v1.9.611.0) and also latest master branch commit (72ec5b8), compiled with VS 2013

Files

Script for testing:

def update():
    pass

if starting:
    pass

FreePIE.log:

12.09.2015 11:54:37 - System.Reflection.TargetInvocationException - Failed to load language 'IronPython 2.7.5': Methode nicht gefunden: "System.Collections.Generic.IEnumerable1<!!0> Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes(System.Reflection.Assembly, Boolean)".: bei Microsoft.Scripting.Runtime.LanguageConfiguration.LoadLanguageContext(ScriptDomainManager domainManager, Boolean& alreadyLoaded) bei Microsoft.Scripting.Runtime.DlrConfiguration.LoadLanguageContext(ScriptDomainManager manager, LanguageConfiguration config) bei Microsoft.Scripting.Runtime.DlrConfiguration.TryLoadLanguage(ScriptDomainManager manager, AssemblyQualifiedTypeName providerName, LanguageContext& language) bei Microsoft.Scripting.Runtime.ScriptDomainManager.GetLanguageByTypeName(String providerAssemblyQualifiedTypeName) bei Microsoft.Scripting.Hosting.ScriptRuntime.GetEngineByTypeName(String assemblyQualifiedTypeName) bei IronPython.Hosting.Python.GetEngine(ScriptRuntime runtime) bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.get_Engine() bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.<>c__DisplayClass5.<>c__DisplayClass7.<Start>b__2() bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.ExecuteSafe(Action action, Boolean logToFile) System.MissingMethodException - Methode nicht gefunden: "System.Collections.Generic.IEnumerable1<!!0> Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes(System.Reflection.Assembly, Boolean)".:
bei IronPython.Runtime.Binding.PythonBinder.DomainManager_AssemblyLoaded(Object sender, AssemblyLoadedEventArgs e)
bei IronPython.Runtime.Binding.PythonBinder..ctor(PythonContext pythonContext, CodeContext context)
bei IronPython.Runtime.PythonContext..ctor(ScriptDomainManager manager, IDictionary`2 options)

12.09.2015 11:54:37 - System.MissingMethodException - Methode nicht gefunden: "System.Object Microsoft.Scripting.Utils.ExceptionUtils.GetData(System.Exception, System.Object)".:
bei IronPython.Runtime.Exceptions.PythonExceptions.GetFrameList(Exception e)
bei IronPython.Runtime.Exceptions.PythonExceptions.GetDynamicStackFrames(Exception e)
bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.TriggerErrorEventNotOnPythonThread(Exception e)
bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.TriggerErrorEventNotOnPythonThread(Exception e)
bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.ExecuteSafe(Action action, Boolean logToFile)
bei FreePIE.Core.ScriptEngine.Python.PythonScriptEngine.<>c__DisplayClass5.b__1(Object obj1)
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart(Object obj)

Command-line arguments

Hello,

First of all, I'm very pleased with this piece of software. Thank you.
However, It would be even better if you could pass path to the script as command-line argument, like this:

c:\Program Files (x86)\FreePIE>FreePIE.exe "d:\Projects\freepie\Dark Souls II.py"

Thanks.

Autocompletion gets in the way when trying to enter substrings

I am finding the autocompletion really frustrating. It's too eager and gets in the way. If you enter a substring of something the autocompletion knows about, it will always complete it unless you press escape first.

Say I have this:

xb = xbox360[0]
foo = xb.leftShoulder

When entering xb, the autocompletion pops up suggesting xbox360[0], which I don't want. However, as soon as I press the . it completes it anyway.

Please could the autocompletion be changed to stay out of the way unless the completion is actually wanted, or else add an option to disable autocompletion entirely.

Thanks for such a great project.

Would love to see this work with Vive controllers

It would be awesome to see this work with Vive controllers. There are Oculus projects that use the Razer Hydra that would be awesome on Vive if only Vive controllers could emulate the Hydras. Will be following this project's progress for sure! If you guys get something working, try posting to /r/vive on reddit, it's a big community for the Vive base right now.

Clock rate changes with speedstep

I am finding that FreePIE's clock rate changes. I think it may be to do with speedstep (processor throttling).

When I first start FreePIE it's at about 60Hz, but after running it for a while it shifts up to 1000Hz. It appears to coincide with my CPU speed changing from 1000GHz to 3000GHz.

Test script:

import time

def updateTime():
    global prevTime
    try:
        prevTime
    except NameError:
        prevTime = 0
    now = time.clock()
    fps = 1 / (now - prevTime)
    diagnostics.watch(prevTime)
    diagnostics.watch(now)
    diagnostics.watch(fps)
    prevTime = now

updateTime()

What rate is FreePIE supposed to run at?

Thanks.

Project solution not compatible with Visual Studio 2012

Error message while importing the project

FreePIE.Setup
Message
FreePIE.Setup\FreePIE.Setup.vdproj: The application which this project type is based on was not found. Please try this link for further information: http://go.microsoft.com/fwlink/?prd=12395&pver=11&sbp=ProjectTypeDeprecated&plcid=0x409&clcid=0x409&ar=MSDN&sar=ProjectCompatibility&o1=54435603-DBB4-11D2-8724-00A0C9A8B90C

More about VS2012 compatibility: http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(VS.ReviewProjectAndSolutionChangesDialog.Upgrade)&rd=true
See discussion here: http://www.mtbs3d.com/phpBB/viewtopic.php?f=139&t=15044#p82135

Refactor mouse plugin to use SlimDX RawInput

When this is done refactor plugin to support multiple mouse devices. This could possible be done by using GetRawInputData.

Create a new plugin called mice that can be indexed like mice[0].deltaX
Keep the mouse plugin for backward compatibility but let it use the new mice plugin instead

Can win32 emulate multiple devices, if not throw exception if you try to write values to index != 0

More info: http://www.mtbs3d.com/phpBB/viewtopic.php?f=139&t=19848

start minimized in notification icon

Is it possible to start a script in background ? Right now it is possible to start a acript with the command line

freepie.exe myscript.py /r

but this open a new windows of freepie. Is it possible to avoid this and start freepie minimized in the notification icon

Android APK prevent sleeping

Android apk goes to sleep on cellphones.
On some devices helps adding persistent true like below:
android:theme="@style/AppTheme" android:persistent="true">
in AndroidManifest.xml file
This helped on Galaxy S3, but not on LG G3.

Definately on every device should help change application from 'activity' to 'service' mode.

Midi comprensible help

Hi, thanks for the awesome work and bringing free software, it seems like Git have sparked new life in open development :), my name is Gabriel, I have been working with Glovepie, various Midi software and finally Freepie for the previous days, I am trying to use a wii drum set that i connected to my pc via midi/usb (for latency)
It seems like the easy part is using it with Ableton or Reason as E-drums however using it to play GH world tour(PC) has turned impossible for me.

I understand python code, but the update syntax and i suppose infinite loops of Freepie, have proven challenging to me, also and most importantly i would appreciate a lot a print function, because i have started being paranoid about all the midi/directinput/xinput compatibility issues.

So the point is, i have a midi device "midi[0]" i know it sends notes through the 10th channel with the 99 hex, (the nine meaning note On) i know the bytes of the notes
note=38 (0x26)
note=48 (0x30)
note=45 (0x2D)
note=49 (0x31)
note=46 (0x2E)
note=36 (0x24)
The velocity that I suppose is the "second data" has no importance at the moment.
I don't know if this is the correct place to post but i couldn't register in the busier forum at MTBS,
So i only need an easy way to use those notes and map them to the keyboard, like WASD.

If you can help me with that, i could suggest some basic info that could be added about midi input to help other people, and maybe do a youtube video adding some nifty things for the people that need Freepie and VJoy rather than the unsupported Glovepie and PPjoy.

So... sorry for my non native english and maybe posting in the wrong place, but I think things could have been so much easier if glovepie have auto detected the MIDI input in the first place...

android lacks copyright statement

@AndersMalmgren please add your copyright to Android .apk sources. I don't know how to credit you in a 3rdparty credit notice for the .apk that we bundle.

I'd also like to add my BSD copyright to some files. It's best if we add copyright to each separate source file.

If this is overkill, I'll add a thanks notice.

The shift modifier remains after key down then key upping with the left or right shift key

If you tried something like this:

import time
if (keyboard.getPressed(Key.NumberPad3)):
keyboard.setKeyDown(Key.D1)
keyboard.setKeyUp(Key.D1)
keyboard.setKeyDown(Key.RightShift)
time.sleep(0.2)
keyboard.setKeyDown(Key.D2)
keyboard.setKeyUp(Key.D2)
time.sleep(0.2)
keyboard.setKeyDown(Key.D3)
keyboard.setKeyUp(Key.D3)
time.sleep(0.2)
keyboard.setKeyUp(Key.RightShift)

You would find that, after running the script in notepad and hitting the Numpad 3 key you would get "31@#"

So far so good. However, if you tried pressing any key after that, like A-Z or D1-D0 that key would be treated as if the shift key is still pressed. So capitalized letters and the usual symbols !@#$^&*( would appear in notepad.

What's going on?

YEI 3-Space Sensor accelerometer and magnetic axis

I see that I can output the pitch, yaw and roll, and the two buttons of the Yei sensor.
But how can access to the three accelerometer axis (x,y,z) and the magnetic sensor?
I believe that for replicate any real movements is necesary to mix the signal of the gyros and the acelerometers for example for see if any person go crouch or prone.

Introduction explaining the basics

(I tried to post this on the forum as it's more of a community thing than a bug or tech issue, but there was some kind of server error sending the registration email so I'm stuck with no account and unable to re-register because it thinks I'm already registered...)

FreePIE looks great, but there isn't currently any "first steps" documentation on what to actually do between installing it and getting stuck in writing a script. Sounds like most of your users up to now are veterans of GlovePIE or similar - with FreePIE gaining prominence it'd be nice for something for people (like me and, looking at the forum, a growing number of people) who aren't afraid of writing some code but are new to way things like FreePIE work.

I know it's not always easy to explain the basics when you're so experienced it all seems obvious, so maybe this will help. Here's my extremely patchy idea of the steps I need to take to get FreePIE to listen to Wiimote input (my end goal is to pick up analog gestures in music software and use them to modify pitch, volume, etc etc). I imagine it'd be very easy for you to fill in the gaps (marked [...???]) and correct me whereever I'm going wrong. That could then become some very useful beginner's documentation.

  1. Connect Wiimote via bluetooth (this bit seems simple, loads of guides out there).
  2. Get FreePIE to listen for Wiimote input. [...???] It sounds like this is something the latest version is capable of, but I can't see any clues on where to start, none of the options or help entries jump out.
  3. [...???] Is there any step between hooking up input and writing script?
    1. I saw references to calibration in a forum thread, think maybe that would go here and it sounds like calibration is handed by the built-in FreePIE Wiimote module?
    2. Anything else?
  4. Write a script mapping each type of Wiimote movement I'm interested in to each type of control I'm interested in. Subtasks:
    1. Find a reference guide to the variable names, properties etc of wiimote movement types in FreePIE. [...???]
    2. Figure out what I can map these to. [...???]
    3. Is there anything like a reference guide here? Or some pointer as to what kind of extremal reference guide I should be looking for?
    4. Are we talking just keyboard keys and mouse movements here? What about things like MIDI? Is it possible to go a bit off road and map to something more customized or specific to my application (I.e. something more sensitive to subtle analog movements that just key-on/key-off)?
    5. How would I go about finding out if it's possible for FreePIE to control an arbitrary application's variables directly? If something like that existed, what would it be called? Is it APIs, codecs, drivers, or something else I should be looking for?
    6. Find a FreePIE syntax guide and/or script examples, use to write the script. Looks like there are some of these already.
    7. Debug the script. Is there anything specific to FreePIE I should be aware of here that helps, or should I just google "debugging python"and go from there?
  5. Do something that makes the wiimote input go through the script [...???]
  6. Profit

Thanks for any help, I'm happy to help write some as soon as I know enough to be useful...

Hydra head track

Hello,
I'm trying to make my hydra work as full motion headtracker.
Is there some easy way to make it via Freepie? I'm not gut in codes and my experiments falls.
Thank you.

Portable FreePie and autoexecute py

When I used GlovePIE in my development I used to copy the program to a usb memory without install and used a bat file to call the program and passed as parameter the name of the file to open , which was self- executing , and then the program directly was minimized in the taskbar , as follows :
START glovepie\glovepie -glovepie\filetoopen.pie /tray

It would be interesting freepie a portable version without installation and can autorun a file as follows :
START freepie\FreePIE.exe -freepie\filetoopen.py /tray

Now in order to do it I need to do the following:
START freepie\FreePIE.exe
TIMEOUT 5
START nircmd sendkeypress ctrl+o
TIMEOUT 1
START nircmd sendkeypress f i l e t o p e n 0x6E p y
TIMEOUT 1
START nircmd sendkeypress enter
TIMEOUT 1
START nircmd sendkeypress F5
TIMEOUT 1
START nircmd win min process FreePIE.exe
EXIT

Add x, y, relX, relY, startX, startY properties to mouse

I want to make a script that moves the cursor in a 200px circle around the starting point, based on the position of the right stick on my controller, for Euro Truck Simulator 2, so that the cursor's in the same position in that circle as the stick is within its holster.

The reason this would be useful is for camera control - quickly flicking the stick back and forth to look both ways and then releasing it to look forward again.

The suggested mouse properties would count in pixels, with x and y counting from the top left, relX and relY counting from the mouse's position at the start of the script, and startX and startY being the point where relX and relY are zero (changing them would change relX and relY)

opentrack integration

Hey,

Are you interested in using opentrack/facetracknoir protocols, filters and trackers?

The code an easily be adapted (by me) to work without any kind of GUI, and with C API in order to get rid of name mangling issues.

FreePIE settings corrupted

Something strange happened while using FreePIE recently, and the settings got corrupted. This had the effect of rendering FreePIE silently unable to start.

I suspected that it had happened because of running the program as an administrator, but the idea was overturned because I just now did it after fixing the corrupt settings, and it opened fine. It might be that I turned off my computer without stopping the program first.

Suggested fix of silent opening: Bring up a dialog box saying "The settings are corrupted. Continuing your use of the program will reset it to default settings. Continue anyway?" with a yes or no. Yes will reset the settings file, no will terminate the program.

Wrong yaw data (X axis drift) [SOLVED]

Hi,
I'm having an issue with FreePIE on Android, the yaw value seems to be going crazy.
Everytime I move y head on the pitch axis (even slightly) the yaw value increases (or decreases) very fast, even if I stop moving my head.
Gyroscope Explorer indicates that the X, Y and Z values are normal and stable, the only abnormal value I noticed was when activating "Fusion", the "FusedGyroscopeCalibratedSensor" seems to drift slowly on the X axis... So, perhaps the app should use the "uncalibrated" data...
By the way, I'm using an HTC One with Custom Sense ROM and latest firmware so it's not a Gyroscope's driver issue.

FreePIE crash when a plugin crashes

It would be nice to separate the Plugin-code from the actual application to avoid it crashing when the plugin fails (especially during development)

Adding X Y Z Axis to Free IMU Plug-In

Hallo, I use FreePie with a 9DOF Sensor (GY-85).

The Free IMU Plug-In supports only yaw,pitch,roll. Works really fast and good.
Is there any way, to add x,y,z support?

Already added

dependencies in .sln broken

Building the project for the first time requires restarting the build several times. As it's executed in parallel/out of order, first few times, it fails with some more project building, until it finally works.

To fix, express dependencies between modules.

android debug not as efficient as ought to be

With last pull request I introduced a regression in

private TimerTask debugHandler = new TimerTask() {

Please change

            public void run() {
                if (udpSenderService != null) {

to

            public void run() {
                if (chkDebug.isChecked() && udpSenderService != null) {

It allocates a memory constructing these float[]s several times a second and it shouldn't.

regards,
-sh

vJoy Plugin

I'm trying to use vJoy plugin with a wiimote, but it seems that FreePIE is not working: vJoy is installed and joystick 1 is well configured with 2 axes, 9 buttons and 1 POV (it is confirmed by controllers control panel) but when trying to run the script it crashed saying "Maximum buttons are 0. You need to incrase number of buttons in vJoy config" when using buttons and "Axis HID_USAGE_X not enabled, enable it from VJoy config" when using stick...

Here is my python script

def map_pov(n):
    if wiimote[n].buttons.button_down(WiimoteButtons.DPadUp):
        vJoy[n].setDigitalPov(0, VJoyPov.Left)
    elif wiimote[n].buttons.button_down(WiimoteButtons.DPadDown):
        vJoy[n].setDigitalPov(0, VJoyPov.Down)
    elif wiimote[n].buttons.button_down(WiimoteButtons.DPadLeft):
        vJoy[n].setDigitalPov(0, VJoyPov.Left)
    elif wiimote[n].buttons.button_down(WiimoteButtons.DPadRight):
        vJoy[n].setDigitalPov(0, VJoyPov.Right)
    else:
        vJoy[n].setDigitalPov(0, VJoyPov.Nil)


def map_axis(n):
    vJoy[n].x = wiimote[n].nunchuck.stick.x
    vJoy[n].y = wiimote[n].nunchuck.stick.y


def map_button(n, wiimote_button, vjoy_button):
    if wiimote[n].buttons.button_down(wiimote_button):
        vJoy[n].setButton(vjoy_button, True)
    else:
        vJoy[n].setButton(vjoy_button, False)

def map_nunchuck_button(n, nunchuck_button, vjoy_button):
    if wiimote[n].nunchuck.buttons.button_down(nunchuck_button):
        vJoy[n].setButton(vjoy_button, True)
    else:
        vJoy[n].setButton(vjoy_button, False)


def map_buttons(n):
    map_button(n, WiimoteButtons.A, 0)
    map_button(n, WiimoteButtons.B, 1)
    # map_button(n, NunchuckButtons.C, 2)
    # map_button(n, NunchuckButtons.Z, 3)
    map_button(n, WiimoteButtons.One, 4)
    map_button(n, WiimoteButtons.Two, 5)
    map_button(n, WiimoteButtons.Minus, 6)
    map_button(n, WiimoteButtons.Plus, 7)
    map_button(n, WiimoteButtons.Home, 8)

def map_nunchuck_buttons(n):
    map_button(n, NunchuckButtons.C, 2)
    map_button(n, NunchuckButtons.Z, 3)


def updateWiimote1():
    # Wiimote 1
    map_buttons(0)
    map_pov(0)

def updateNunchuck1():
    map_nunchuck_buttons(0)


def updateWiimote2():
    # Wiimote 2
    map_buttons(1)
    map_pov(1)

def updateNunchuck2():
    map_nunchuck_buttons(1)


def updateWiimote3():
    # Wiimote 3
    map_buttons(2)
    map_pov(2)

def updateNunchuck3():
    map_nunchuck_buttons(2)


def updateWiimote4():
    # Wiimote 4
    map_buttons(3)
    map_pov(3)

def updateNunchuck4():
    map_nunchuck_buttons(3)

# If we're starting up, then hook up our update function.
if starting:
    map_axis(0)
    # map_axis(1)
    # map_axis(2)
    # map_axis(3)

    wiimote[0].buttons.update += updateWiimote1
    # wiimote[1].buttons.update += updateWiimote2
    # wiimote[2].buttons.update += updateWiimote3
    # wiimote[3].buttons.update += updateWiimote4

    wiimote[0].nunchuck.update += updateNunchuck1
    # wiimote[1].nunchuck.update += updateNunchuck2
    # wiimote[2].nunchuck.update += updateNunchuck3
    # wiimote[3].nunchuck.update += updateNunchuck4

Also if someone manages to explain me how to use vJoy and wiimote, I will be glad to write a tutorial.

Get MIDI value from a specific slider or dial

I've seen this script

filters.mapRange(midi[0].data.buffer[1], 0, 127, -17873, 17873)

This grabs the value for any button on the midi input. I'd like to know if I can get a value for a specific slider or dial. I can't seem to find what I'm looking for online.

If possible I'd like to grab 3 different midi inputs and assign them to vJoy[0].x, vJoy[0].y and vJoy[0].slider.

Thank you for you help

Headsoft VJoy support (like PPJoy but supports 64-bit) request

Currently, PPJoy only supports 64-bit when driver signing is disabled. There is a driver by Headsoft that does Joystick emulation, but also has a signed driver so it easier to setup on a 64-bit Windows system.

The website is here: http://headsoft.com.au/index.php?category=vjoy

I can try writing the driver myself using their C# SDK, but I'm a Java developer. I might be able to have a pull request ready soon, but then again, if a more experienced C# developer can take this into their hands, so be it!

Add support for XInput write

Current xbox360 plugin only allows to map xbox controllers output, but one of the last works in GlovePIE was to support writing XInput output. This would allow to emulate Xbox360 controller using only FreePIE instead of FreePIE + vJoy + x360ce...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.