Jump to content

GUI application for Saitek Pro Flight Switch Panel


ArturDCS

Recommended Posts

OLD VERSION!

 

Current thread here

 

This application enables you to use the Saitek Pro Flight Switch Panel (PZ55) with Digital Combat Simulator

Status = 100% working in DCS.

Did you like this program? Give positive reputation to me and Raf and [FSF]Ian, thanks!

 

Project is made in C#.

 

Download files. Project homepage. Sourcecode, use as you please.

 

--------------------------------------------------------------------------------------------------------------------------------------------------------

Installation

--------------------------------------------------------------------------------------------------------------------------------------------------------

 

  • Unzip the files into the folder where you want to keep the program.
  • You start the application by executing ProUsbPanels.exe

 

--------------------------------------------------------------------------------------------------------------------------------------------------------

Short

video explaining how to use the program (old version)

--------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------

Updating the application

--------------------------------------------------------------------------------------------------------------------------------------------------------

Unzip new version over the old.

If for some reason the profile files are changed, i.e. the structure in which the data is stored, delete or rename the old ones and create new profile files. I won't make it backward compatible etc, it takes only a few min to make a profile. New profile format will not happen often if at all anymore. (Just in case it happens)

 

--------------------------------------------------------------------------------------------------------------------------------------------------------

Important notes

--------------------------------------------------------------------------------------------------------------------------------------------------------

When opening the external text editor by clicking the button for the first time you get the the dialog "Windows can't open this file" dialog. That is because Windows is not familiar with the file type "*.pup_bindings". What you do is click "Select a program from a list of installed programs" and click "OK".

From the next dialog choose "Notepad" and click "OK". This way Windows knows what to use next time you want to open a profile file.

 

 

--------------------------------------------------------------------------------------------------------------------------------------------------------

For landing gear light support read this.

--------------------------------------------------------------------------------------------------------------------------------------------------------

You need to install DCS-BIOS. Status today (11 Jan 2015) is that the A-10C and UH-1H are supported.

Please download and read the Flight Panels & DCS-BIOS Guide.

main_window.thumb.png.9bbe5ac30fa9251dffd87e2ac8a76c80.png

profile_file.thumb.png.b3eb4b841f253f9bce9ef39074155918.png


Edited by ArturDCS
Spelling
  • Like 2
Link to comment
Share on other sites

  • Replies 134
  • Created
  • Last Reply

Top Posters In This Topic

Anyone have any idea why e.g. LCONTROL doesn't work? If I send LCONTROL + F only F is received and the fuel switch is turned on/off. (UH-1H Huey)

But when I am in OPTIONS -> CONTROLS it is properly received.

 

VirtualKeyCodes as defined in http://msdn.microsoft.com/en-us/library/dd375731%28VS.85%29.aspx .

KEYEVENTF_EXTENDEDKEY used as specified on MSDN.

           /*Extended-Key Flag
               The extended-key flag indicates whether the keystroke message originated from one of the additional keys on the 
            * enhanced keyboard. 
            * The extended keys consist of the 
            * ALT and CTRL keys on the RIGHT HAND side of the keyboard; 
            * The INS, DEL, HOME, END, PAGE UP, PAGE DOWN, and arrow keys in the clusters to the left of the numeric keypad; 
            * the NUM LOCK key; the BREAK (CTRL+PAUSE) key; the PRINT SCRN key; and the divide (/) and ENTER keys in the numeric
            * keypad. The extended-key flag is set if the key is an extended key.*/

public static void SendKeys(VirtualKeyCode[] virtualKeyCodes)
       {
           var inputs = new WindowsAPI.INPUT[virtualKeyCodes.Count()];

           var modifierCount = 0;
           foreach (var virtualKeyCode in virtualKeyCodes)
           {
               if (Common.IsModifierKey(virtualKeyCode))
               {
                   modifierCount++;
               }
           }
           //Add modifiers
           for (var i = 0; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (Common.IsModifierKey(virtualKeyCode))
               {
                   inputs[i].type = WindowsAPI.INPUT_KEYBOARD;
                   inputs[i].ki.time = 0;
                   inputs[i].ki.dwFlags = WindowsAPI.KEYEVENTF_SCANCODE;
                 
                   if (Common.IsExtendedKey(virtualKeyCode))
                   {
                       inputs[i].ki.dwFlags |= WindowsAPI.KEYEVENTF_EXTENDEDKEY;
                   }
                   inputs[i].ki.wVk = 0;
                   inputs[i].ki.wScan = (ushort)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0);
                   inputs[i].ki.dwExtraInfo = WindowsAPI.GetMessageExtraInfo();
               }
               i++;
           }

           //Add normal keys
           for (var i = modifierCount; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (!Common.IsModifierKey(virtualKeyCode))
               {
                   inputs[i].type = WindowsAPI.INPUT_KEYBOARD;
                   inputs[i].ki.time = 0;
                   inputs[i].ki.dwFlags = WindowsAPI.KEYEVENTF_SCANCODE;
                   inputs[i].ki.wVk = 0;
                   
                   inputs[i].ki.wScan = (ushort)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0);
                   inputs[i].ki.dwExtraInfo = WindowsAPI.GetMessageExtraInfo();
                   i++;
               }
           }

           IntPtr hwnd = WindowsAPI.FindWindow("DCS");
           if (hwnd == IntPtr.Zero)
           {
               hwnd = WindowsAPI.FindWindow("Digital Combat Simulator");
           }
           if (hwnd != IntPtr.Zero)
           {
               WindowsAPI.SetForegroundWindow(hwnd);
               WindowsAPI.SwitchWindow(hwnd);
           }
           WindowsAPI.SendInput((uint)inputs.Count(), inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));

           for (var i = 0; i < inputs.Count(); i++)
           {
               inputs[i].ki.dwFlags |= WindowsAPI.KEYEVENTF_KEYUP;
           }
           Array.Reverse(inputs);
           //Release same keys
           WindowsAPI.SendInput((uint)inputs.Count(), inputs, Marshal.SizeOf(typeof(WindowsAPI.INPUT)));
       }

 

 

Any help appreciated!

Link to comment
Share on other sites

Have a look here http://forums.eagle.ru/showthread.php?t=107949&highlight=saitek+panels+readerit may help you lots have tried to get these to work and some have had some success.

Eagles may soar high but weasel's don't get sucked into jet engines.

 

 

System Spec.

Monitors: Samsung 570DX & Rift CV1

Mobo: MSI Godlike gaming X-99A

CPU: Intel i7 5930K @ 3.50Ghz

RAM: 32gb

GPU: EVGA Nvidia GTX 980Ti VR Ready

Cooling: Predator 360

Power Supply: OCZ ZX Series 80 Plus Gold

Drives: Samsung SSD's 1tb, 500g plus others with OS Win10 64 bit

 

Link to comment
Share on other sites

Have a look here http://forums.eagle.ru/showthread.php?t=107949&highlight=saitek+panels+readerit may help you lots have tried to get these to work and some have had some success.

 

Thanks, yes it was Raf's project that gave me the inspiration to do this one. Problem was USB programming and he showed it was relatively easy using LibUSB which I didn't know existed. So after reading that thread I bought myself this switch panel.

Yes his project works and I have been trying to figure out how exactly the Java Robot class calls the window API for sending the key presses but I have not been able to find exact information.

Either it is not possible or I am missing some small puzzle. Today I will try inside the Frogfot module and see whether that too reacts the same way.

I will also implement long key presses (user setting) in my application and key binding profile save/save as/open to work properly.

Link to comment
Share on other sites

Got it! Robot.keyPress uses the keybd_event API.

The keyboard driver's interrupt handler calls the keybd_event function.Note This function has been superseded. Use SendInput instead.
Why most posts I found pointed to using SendInput which is fully understandable.

 

I will change it to keybd_event funtion and compile and upload v 0.3 today. :megalol:

 

       public static void SendKeys(VirtualKeyCode[] virtualKeyCodes, KeyPressLength keyPressLength)
       {
           /*
           //keybd_event
           http://msdn.microsoft.com/en-us/library/windows/desktop/ms646304%28v=vs.85%29.aspx
           // Simulate a key press
           WindowsAPI.keybd_event(VK_NUMLOCK,
                        0x45,
                        KEYEVENTF_EXTENDEDKEY | 0,
                        0);

           // Simulate a key release
           WindowsAPI.keybd_event(VK_NUMLOCK,
                        0x45,
                        KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                        0);
           */
           IntPtr hwnd = WindowsAPI.FindWindow("DCS");
           if (hwnd == IntPtr.Zero)
           {
               hwnd = WindowsAPI.FindWindow("Digital Combat Simulator");
           }
           if (hwnd != IntPtr.Zero)
           {
               WindowsAPI.SetForegroundWindow(hwnd);
               WindowsAPI.SwitchWindow(hwnd);
           }

           //Press modifiers
           for (var i = 0; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (Common.IsModifierKey(virtualKeyCode))
               {
                   Common.DebugP(Enum.GetName(typeof(VirtualKeyCode), virtualKeyCode) + " is MODIFIER = " + Common.IsExtendedKey(virtualKeyCode)); 
                   if (Common.IsExtendedKey(virtualKeyCode))
                   {
                       WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode,0),(int)WindowsAPI.KEYEVENTF_EXTENDEDKEY | 0,0);
                   }else
                   {
                       WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0), 0, 0);
                   }
               }
           }

           //Press normal keys
           for (var i = 0; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (!Common.IsModifierKey(virtualKeyCode))
               {
                   WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0), 0, 0);
               }
           }

           if(keyPressLength != KeyPressLength.Zero)
           {
               var startMilliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
               var nowMilliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
               while(nowMilliseconds - startMilliseconds < (int)keyPressLength)
               {
                   Common.DebugP("Will wait " + keyPressLength + " ms before releasing keys");
                   nowMilliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
               }
           }
           
           //Release normal keys
           for (var i = 0; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (!Common.IsModifierKey(virtualKeyCode))
               {
                   WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0), (int)WindowsAPI.KEYEVENTF_KEYUP, 0);
               }
           }

           //Release modifiers
           for (var i = 0; i < virtualKeyCodes.Count(); i++)
           {
               var virtualKeyCode = virtualKeyCodes[i];
               if (Common.IsModifierKey(virtualKeyCode))
               {
                   Common.DebugP(Enum.GetName(typeof(VirtualKeyCode), virtualKeyCode) + " is MODIFIER = " + Common.IsExtendedKey(virtualKeyCode));
                   if (Common.IsExtendedKey(virtualKeyCode))
                   {
                       WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0), (int)(WindowsAPI.KEYEVENTF_EXTENDEDKEY | WindowsAPI.KEYEVENTF_KEYUP), 0);
                   }
                   else
                   {
                       WindowsAPI.keybd_event((byte)virtualKeyCode, (byte)WindowsAPI.MapVirtualKey((uint)virtualKeyCode, 0), (int)WindowsAPI.KEYEVENTF_KEYUP, 0);
                   }
               }
           }

       }

Link to comment
Share on other sites

Version v0.3 is up.

 

Commit:

Changed Windows API from SendInput to keybd_event. After this LCONTROL, RCONTROL etc works in game & under OPTIONS -> CONTROLS. Added refresh button, to be used when editing the profile with text editor in the background. Proper About page.

 

Please Observe!

There are some funny stuff going on at least from my keyboard when reading key input. For example [Alt Gr] ends up as LCONTROL + RMENU which in turn doesn't work in game for a command which has "RAlt" specified. You can edit a "funny" profile using a ASCII editor and remove the "LCONTROL +" and save. Use the "Refresh" button to refresh the profile in the GUI and it should work.

Link to comment
Share on other sites

Finally! I am able to use everything in my cockpit!... Thank you for your work! Will be giving this a full testing tomorrow, just had time to test the landing gear knob...the first problem I came across,though, was the graphic... the labeling was cut off:

Image_00003.png

 

also, I haven't explored it fully, the letter "C"seems not to work with "LCont"

Aside from the graphic, will give this a full "wring-out" tomorrow.... Thanks again!!!

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Thank you for your work!

Thank you for the feedback.

 

the letter "C"seems not to work with "LCont"

Correct, I have the same thing.

What you have to do is :

 

  • add the key "C" to that switch.
  • Save the profile
  • Open the profile in Notepad.
  • Check the command for the switch, it should read OSKeyPress{FiftyMilliSec,VK_C}
  • Edit it so it reads OSKeyPress{FiftyMilliSec,LCONTROL + VK_C}.
  • Refresh the profile in the Flight Panels

and you should be good to go.

This is a special feature (CTRL + C, others too?) and I don't know why it is like that. I won't look into to it at this moment as there are other combinations/keys that gives "funny" or no readings in the GUI. The main this is that the profile can be edited manually and after that it works.

 

the first problem I came across,though, was the graphic... the labeling was cut off:

Thanks for the screenshot! Yesterday I experienced this when I changed a property in the Window (when programming) so I changed this back and it looks OK on my computer, funny you have something completely different. This must be something related to Microsoft WPF and I will look into it today.

 

Here are the virtual key codes that are used when reading user input in the textboxes (some are not related to the keyboard and not in use):

LBUTTON
RBUTTON
CANCEL
MBUTTON
XBUTTON1
XBUTTON2
BACK
TAB
CLEAR
RETURN
SHIFT
CONTROL
MENU
PAUSE
CAPITAL
KANA
HANGEUL
HANGUL
JUNJA
FINAL
HANJA
KANJI
ESCAPE
CONVERT
NONCONVERT
ACCEPT
MODECHANGE
SPACE
PRIOR
NEXT
END
HOME
LEFT
UP
RIGHT
DOWN
SELECT
PRINT
EXECUTE
SNAPSHOT
INSERT
DELETE
HELP
VK_0
VK_1
VK_2
VK_3
VK_4
VK_5
VK_6
VK_7
VK_8
VK_9
VK_A
VK_B
VK_C
VK_D
VK_E
VK_F
VK_G
VK_H
VK_I
VK_J
VK_K
VK_L
VK_M
VK_N
VK_O
VK_P
VK_Q
VK_R
VK_S
VK_T
VK_U
VK_V
VK_W
VK_X
VK_Y
VK_Z
LWIN
RWIN
APPS
SLEEP
NUMPAD0
NUMPAD1
NUMPAD2
NUMPAD3
NUMPAD4
NUMPAD5
NUMPAD6
NUMPAD7
NUMPAD8
NUMPAD9
MULTIPLY
ADD
SEPARATOR
SUBTRACT
DECIMAL
DIVIDE
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
NUMLOCK
SCROLL
LSHIFT
RSHIFT
LCONTROL
RCONTROL
LMENU
RMENU
BROWSER_BACK
BROWSER_FORWARD
BROWSER_REFRESH
BROWSER_STOP
BROWSER_SEARCH
BROWSER_FAVORITES
BROWSER_HOME
VOLUME_MUTE
VOLUME_DOWN
VOLUME_UP
MEDIA_NEXT_TRACK
MEDIA_PREV_TRACK
MEDIA_STOP
MEDIA_PLAY_PAUSE
LAUNCH_MAIL
LAUNCH_MEDIA_SELECT
LAUNCH_APP1
LAUNCH_APP2
OEM_1
OEM_PLUS
OEM_COMMA
OEM_MINUS
OEM_PERIOD
OEM_2
OEM_3
OEM_4
OEM_5
OEM_6
OEM_7
OEM_8
OEM_102
PROCESSKEY
PACKET
ATTN
CRSEL
EXSEL
EREOF
PLAY
ZOOM
NONAME
PA1
OEM_CLEAR

Link to comment
Share on other sites

Not thought about it. I only own the switch panel.

 

BUT it would be nice if Saitek would release information on how to send information to their Pro Flight Panels. This and someone familiar with getting telemetry out from DCS with sockets & LUA and it wouldn't be too much work.


Edited by ArturDCS
clarification
Link to comment
Share on other sites

v0.4 now uploaded.

 

Commit:

GUI revamp. Complete change of main window GUI, control placement. Now using Grid, Canvas, StackedPanel for alignment of Controls.

Image of switch panel uses a Canvas. (100% XAML editing)

 

---------------------------------------------------------------------------------

Please get back to me regarding the alignment of the buttons and knobs. Is it better now?

---------------------------------------------------------------------------------

Link to comment
Share on other sites

Artur, love your work, however I'm a little stuck at the install. I maybe just being dumb. i have Vista pro 64 which files do i put were and how do I launch your application ?

 

thanks again

Nick

 

 

  • Unzip the files into the folder where you want to keep the program.
  • Open the folder LibUsbDotNet and execute the installer, i.e. install LibUsbDotNet
  • Windows Button -> Search -> devmgmt.msc or Start Button -> Run -> devmgmt.msc (this will bring up the device manager)
  • From the tree expand branch "Human Interface Devices" [HID]
  • Locate the Saitek Switch Panel by checking the Properties of the HIDs.
  • Right click the HID, click "Properties" and go to the "Details" tab.
  • From the "Property" drop down list choose "Hardware Ids"
  • It should look like "USB\VID_06A3&PID_0D67&REV_0110" VID_06A3 = Saitek PID_0D67=Switch Panel
  • When you have found it, update the driver for this device.
  • Click the "Driver" tab
  • Click "Update Driver" button
  • Click "Browse my computer for driver software"
  • In the new dialog browse choose "Let me pick from a list of device drivers on my computer"
  • In the new dialog, uncheck "Show compatible hardware" and click "Have Disk" button
  • Browse to the location where you unzipped the files and open the folder Saitek_Pro_Flight_Switch_Panel
  • Click "Open" in the file dialog (inf file? I've done this already and I do not remember exactly what file I chose)
  • You will probably get warnings because Windows a) doesn't know who provided this driver b) doesn't think this is the best available driver for this device, either way just click yes or OK or what it asks, you want this driver installed
  • You start the application by executing ProUsbPanels.exe

This is one way to do it on my machine. I use Windows 7 Professional 64-bit. Windows Vista, shouldn't be too different.

 

By the way, for those of you that got the Flightpanels software up and running, please help anyone having problems installing.

 

 

:)


Edited by ArturDCS
added info
Link to comment
Share on other sites

Graphic cleared up in v4... also found that those entries like "END", RALT", "LCONTROL", etc that don't enter together with the keystroke, or don't want to enter at all, can be gotten around by entering something that does enter, and going back with notepad in the profile created and entering it manually according to the key code list provided earlier in this thread.


Edited by goonybird
word omission

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

v0.5 uploaded

 

Commit:

Added settings to store window location and size. Modified about page. Made window smaller (changes to layout grid). Added application icon. Added button to open profile in external text editor. Added tooltips for buttons.

 

 

Now you can minimize the window.

 

:)

Link to comment
Share on other sites

v0.6 uploaded

 

Commit:

Changed from TextBox.KeyDown to TextBox.PreviewKeyDown. This enables reading key presses like LCONTROL + END, LCONTROL + VK_C. Added support thread link to about page.

 

Just by chance, I got the key detection working (I think & hope). I was using the wrong event handler. It should read most of the modifier keys. Left Alt (LMENU) does not work, might be others but a lot of other keys now work!

 

http://www.youtube.com/watch?v=PdL627hLY_E&feature=youtu.be


Edited by ArturDCS
Added Youtube video link
Link to comment
Share on other sites

In my enthusiasm over getting the switchpanel working for the first time I neglected to report other "odd things" (if they are indeed odd) that have occurred...

I used versions 2, 3, 4 & 6 and they all work.

1- When I initially installed the GUI (v2), I extracted the downloaded zip into a folder on desktop and installed the LibUsbDotNet.

2- I then double-clicked the ProUsbPanel icon and brought up the GUI, which followed the motion of my controls in cockpit. I then loaded the keystrokes for the landing gear and it worked in-game.

*first odd thing--

When I double-clicked on the ProUsbPanel icon this message came up:

 

Image_00004.png

 

...and it took 3 clicks on OK to bring up the GUI.

 

3- I then copied-and-pasted the v2 folder to its permanent residence on another drive and sent a ProUsbPanels shortcut to desktop from that folder's location.

*GUI works the same with same sequence of that warning and clicks to get to the GUI. I then started creating profiles which brought me to the post of 1/13/14.*

4- When installing subsequent versions, all I did was delete the previous version folder, replace it with the new version and update the version number in the "start in" and "target" properties if the shortcut on desktop.

5- Now with v6, I did exactly the same thing, replacing the folders and updating the shortcut (then i saw you has a neat new one,so i sent it to desktop:smilewink:)---> Now when I double-click the shortcut, it takes 4 clicks to get through the same above warning, but on the 4th click, this warning

 

Image_00005.png

 

and the the GUI come up simultaneously (hides behind the GUI)

However, things still work.

Sorry about the long write, but want to give you as full a picture as possible on what I did, right or wrong...


Edited by goonybird
hit submit accidentaly

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Thanks for the explanation.

First, whenever you replace a version of the application make sure the location is the same. You do not need to re-install LibUSBDotNet. Just unzip into the folder.

Second, I have made minor changes to the profile file structure and that may be the problem. -> nuke the old profiles and create a new one. Working?

I'll re-read your post now and see what could be the problem.

 

Yes, please make sure the location is the same as when you installed LibUSBDotNet and that you create fresh profiles. Do you still have this problem? I will add additional information in the error message.

 

In my enthusiasm over getting the switchpanel working for the first time I neglected to report other "odd things" (if they are indeed odd) that have occurred...

I used versions 2, 3, 4 & 6 and they all work.

1- When I initially installed the GUI (v2), I extracted the downloaded zip into a folder on desktop and installed the LibUsbDotNet.

2- I then double-clicked the ProUsbPanel icon and brought up the GUI, which followed the motion of my controls in cockpit. I then loaded the keystrokes for the landing gear and it worked in-game.

*first odd thing--

When I double-clicked on the ProUsbPanel icon this message came up:

 

...and it took 3 clicks on OK to bring up the GUI.

 

3- I then copied-and-pasted the v2 folder to its permanent residence on another drive and sent a ProUsbPanels shortcut to desktop from that folder's location.

*GUI works the same with same sequence of that warning and clicks to get to the GUI. I then started creating profiles which brought me to the post of 1/13/14.*

4- When installing subsequent versions, all I did was delete the previous version folder, replace it with the new version and update the version number in the "start in" and "target" properties if the shortcut on desktop.

5- Now with v6, I did exactly the same thing, replacing the folders and updating the shortcut (then i saw you has a neat new one,so i sent it to desktop:smilewink:)---> Now when I double-click the shortcut, it takes 4 clicks to get through the same above warning, but on the 4th click, this warning

 

and the the GUI come up simultaneously (hides behind the GUI)

However, things still work.

Sorry about the long write, but want to give you as full a picture as possible on what I did, right or wrong...


Edited by ArturDCS
Link to comment
Share on other sites

v0.7 is up.

 

Commit:

Added error codes where messages boxes are shown for Exceptions.

 

Please use this version. I should be able to narrow down the problems with the new error codes.

 

Please delete old profiles, create new ones. Unzip into same folder as before. No need to re-install LibUSBDotNet.

Link to comment
Share on other sites

Tried to start from scratch on this one:

1- Downloaded v7

2- extracted v7 zip into folder on desktop

3- uninstalled LibUsbDotNet

4- copied&pasted v7 folder to permanent resident location

5- uninstalled switchpanel driver

6- plugged the switchpanel's USB and let windows recognize and install driver automatically:

 

001.png

 

7- installed LibUsbDotNet from v7 folder, full installation, all blocks checked (of course, "don't create start menu" remained unchecked)

8- sequence of warnings clicked "yes" on all:

 

002.png

 

003.png

 

004.png

 

9- next came to the filter installer:

 

005.png

 

10- @ the filter installer, could not find the device on the list, so I cancelled:

 

006.png

 

11- from v7 folder sent ProUsbPanels icon to desktop as shortcut.

12- experienced the came clicking sequence and same warnings as stated in previous post about v6.

13- However, GUI responds to real-world switch and knob movement.

For now, I'm assuming the profiles will work until previous issues are explained of cleared... also GUI is missing menu items in upper left-hand corner:

 

Image_00007.png

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

v0.8 is up.

Commit:

Added button images to application resources. They were referenced locally on the development computer.

 

With the help of a friend I found the problem. He just unzipped the file and started the application without installing LibUSBDotNet. It was the images on the buttons that I had forgot to add to the application's resources. The application picked them locally from my harddrive where I have all the Windows icons and such. As I said, WPF is new to me... :music_whistling:

 

Regarding the dialog "Windows can't open this file" dialog. Windows is not familiar with the file type "*.pup_bindings". What you do is click "Select a program from a list of installed programs" and click "OK".

From the next dialog choose "Notepad" and click "OK". This way Windows knows what to use next time you want to open a profile file.

 

Ok, goonybird if you use the application now what errors do you get? Are we getting there? Thanks for the debugging help!

Can you use the application with DCS, i.e. switches works as desired in DCS?

default_file_handler.png.215a6e8829f61386a49c54b434ae9e6e.png


Edited by ArturDCS
clarification
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...