OpenLP should reserve specific keys operating system wide to allow for certain functions.
This
would be a most useful and important feature, especially when the
service started already and you need to do something else on the same
computer, like researching a picture to display or adding new songs,
changing whatever is needed.
These dedicated, 'reserved' keys would ALWAYS
.) goto the 'next slide'/previous slide,
.) blank the screen...
no
matter if I am in the Windows Explorer, or Browser or whatever other
program or even if I currently change a song within OpenLP
Multiple keys should be mappable to one action:
eg for 'next slide':
.) the '6' or '8' on the number block
.) the wireless presenters 'right' button
.) Or even if I use a second 'mini' keyboard or numberblock just for navigation of the slides
a.s.o
This
way I could, in every situation or state of the computer or focus of
the current window, control the presentation. Or even more important the
preacher or the person using the presenter is always in control of his
slide, no matter if the technician who uses OpenLP has its focus on
OpenLP or uses another program at the moment...
I know about the 'remote' control feature of OpenLP, which is cool, but just not enough for this reasons:
.) I'll have to find the browser window with the 'remote' control first and the click next -> toooo slow
.) The preacher does not have this 'remote control', he ususally uses the wireless presenter.
I know this is possible by reserving USB devices for certain programs, like Virtualbox does it, or similar ways.
This feature would be soooo needed - for some technicians
Comments
Hi Tomzi,
FYI, a presenter 'Right' button simulates the keyboard 'Right' button, and it is not possible to know at the program level (OpenLP) which 'Right' button got hit, the keyboard one or the presenter one.
https://github.com/rene-aguirre/pywinusb
Look into the examples section: How to listen to a PNP event, and reading from the device
Another example:
http://wiki.wxpython.org/MonitoringWindowsUsb
And there are others on the internet.
So I guess it would be possible to Make OpenLP read from a second Keyboard or from a presenter since the all have different HID ID's
What do you think?
But as I said, it would be something to try out and test. At least try to start and mess with the examples in https://github.com/rene-aguirre/pywinusb/tree/master/examples on Windows and Linux and you quickly find out how 'easy' it works.
The additional features OpenLP would need, would be:
- Some dialog that will list all USB HID devices (keyboards, presenter...) connected
- Show a list of available Actions (like 'Next slide') that should be mapped. Now OpenLP listens to all/one USB device that has been selected above.
- If the user klicks on the 'presenter' or the external Numpad. OpenLP registers
target_vendor_id, target_product_id and the key being pressed - And now OpenLP starts some thread that constantly listens for input for the specified USB devices and starts the action.
The merits/advantages would be a great user interface improvement and would also look great on the feature list of OpenLP. Which other presenter software could list such a feature?Wouldn't that be great?!
There are some other projects:
http://www.libusb.org/
http://sourceforge.net/apps/trac/pyusb/
Wouldn't you agree?
I (as many others) see myself more on the QA side. I hope to help everyone by spending time to figure out, where the bugs are and how to improve user experience. (for this project at least)
Maybe if I get the hang of it, I'll some day in the future have a look at python. But for the time being I hope I can help you otherwise
We'll add it to the list of features, just don't expect it any time soon.
Until then I keep posting
By the way should Bugs and Feature requests all go in this Discussion group, or are there other more suitable places?
Have you read the FAQ yet?
It is great to code in C# for VideoPsalm after work.
You can view the doc here: http://bazaar.launchpad.net/~openlp-core/openlp/trunk/view/head:/openlp/plugins/remotes/lib/httpserver.py#L30
Note, the API is going to change soon as we are adding https and password protection soon.
Regards