shaise / dise Goto Github PK
View Code? Open in Web Editor NEWA DIY speed editor to use with video editing sw such as Davinci Resolve and others
License: GNU Lesser General Public License v2.1
A DIY speed editor to use with video editing sw such as Davinci Resolve and others
License: GNU Lesser General Public License v2.1
How to use Davinci Resolve speed editor to use with video editing SW such as Final Cut Pro and others?
I separated this issue in a new different thread for the shake of clarity.
Sometimes after plugging and unplugging the keyboard in different ports the keyboard the Programmer app won't be able to communicate to the keyboard.
It seems that when you plug the DISE there are two devices listed as connected in windows HIDLibrary.
The last one is always used. But not always the correct one.
Connect the keyboard in different USB ports until the app stops showing any of the keypresses despite of showing the green connected icon.
Disconnect the DISE and then using a program like devmanview remove all the non connected HID entries. then connect the keyboard and it will work again. Beause windows will list the devices and install the drivers in the right order.
I've changed the code from the InitDevice to debug whats been listed, and all the available information from each device using this code:
** MainWindow.xml.cs** Line 248 function InitDevice()
private void InitDevice()
{
if (kbdDevice != null)
return;
foreach (HidDevice detectedKbd in HidDevices.Enumerate(VendorId, ProductId)) {
Console.WriteLine("Detected one Keyboard connected!");
Console.WriteLine("Detected: " + detectedKbd.ToString());
Console.WriteLine("Description: " + detectedKbd.Description.ToString());
Console.WriteLine("DevicePath: " + detectedKbd.DevicePath.ToString());
Console.WriteLine("Attributes: " + detectedKbd.Attributes.ToString());
Console.WriteLine("Capabilites: " + detectedKbd.Capabilities.ToString());
if (detectedKbd != null && detectedKbd.IsConnected && detectedKbd.DevicePath.Substring(detectedKbd.DevicePath.Length - 3) != "kbd")
{
Console.WriteLine("Detected one that will work :) ");
kbdDevice = detectedKbd;
}
else Console.WriteLine("Detected one that won't work :( ");
}
//kbdDevice = HidDevices.Enumerate(VendorId, ProductId).LastOrDefault();
if (kbdDevice == null)
return;
dispatcherTimer.Stop();
SetTitle(true, "Connected");
kbdDevice.Inserted += KbdDevice_Inserted;
kbdDevice.Removed += KbdDevice_Removed;
kbdDevice.MonitorDeviceEvents = true;
}
This modification in a non working condition will make the keyboard work and display this at the output:
Detected one Keyboard connected!
Detected: VendorID=0x0483, ProductID=0x573E, Version=512, DevicePath=\\?\hid#vid_0483&pid_573e&mi_01#a&177847e2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Description: Dispositivo compatible con HID
DevicePath: \\?\hid#vid_0483&pid_573e&mi_01#a&177847e2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Attributes: HidLibrary.HidDeviceAttributes
Capabilites: HidLibrary.HidDeviceCapabilities
Detected one that will work :)
Detected one Keyboard connected!
Detected: VendorID=0x0483, ProductID=0x573E, Version=512, DevicePath=\\?\hid#vid_0483&pid_573e&mi_00#a&4482ba4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
Description: Dispositivo de teclado HID
DevicePath: \\?\hid#vid_0483&pid_573e&mi_00#a&4482ba4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
Attributes: HidLibrary.HidDeviceAttributes
Capabilites: HidLibrary.HidDeviceCapabilities
Detected one that won't work :(
The only difference that the HIDLibrary is showing as far as I know is the ending \kbd of one of them on the DevicePath.
What the modification is doing to make the program select the right one is:
I have the feeling that this fix is kind of ugly. Excluding a device by it's ending on the device path probably doesn't cut it.
And i'm unsure about the longevity of the fix on future Windows releases.
I don't know if anyone knows a better solution, to differentiate between the good and bad HID device now that we have the problem identified.
If you want to have this solution implemented for the time being, I can clean up the logging output lines and commit a pull request.
Hello,
I found this project and I would really like to replicate it.
Could you help me out answering some questions?
It ended up working with davinci?
Is there a recommended BOM?
Wich encoder did you use? It is the most important part for usability.
Did you DIY yourself the keycaps? do you reccommend where to get them?
I'd like to replicate the project, and once it is working modify the software so it could be used aswell with other software like OBS Studio. to provide more flexibility.
Thank you very much in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.