Hi. I’ve been looking for a solution for the following issue:
Context:
When you have your typing keyboard, Blender recognizes the numpad in it by default.
Thus, Numpad 1 (on the typing keyboard) focus the camera to front cartographic view (default behavior).
When you attach a secondary USB numpad to your PC, a new HID device is recognized in Windows,
and the numpad works mirroring as if it were the Typing Keyboard numpad (default expected behavior).
Problem:
Is it possible for Blender to tell apart which is the Typing Keyboard NUMPAD and which is the
additional USB Numpad via Python?
Currently, any extra USB numpad (or typing keyboard) connected to the PC drives Blender doing the
same functions than your main typing keyboard (expected behavior). What we want is to use those
extra devices like a BUTTON PRESET CONSOLE.
(please, do not mix ideas with OSC or MIDI, this has NOTHING to do with those devices or such workflows)
USAGE
Why would you want to recognize additional X numbers of physical USB Numpads (or more typing keyboards) with Blender?
-
Macros ( you can create custom commands to activate Blender functions outside of your typing
keyboard), in this way you can have your regular Blender commands intact, but have a separate
keyboard to do extra commands (i.e. preset trigger “Custom user preset”: vertical renders 1080x1920 at 50%) -
Dedicated hardware to trigger drivers and controls for rigging. (i.e: Numpad 1 on the secondary USB
keyboard, triggers: Action pose A from Quick favorites)
Blender is able to recognize CPU and GPU, and I would believe it is possible to show additional USB hardware (in our case the USB generic numpad) and show it as a HID available in Blender and that
Blender can tell apart which key is being pushed from which keyboard for the benefits mentioned above.
Researching about HID recognition in Python, I found out this:
https://python.hotexamples.com/examples/hid/-/device/python-device-function-examples.html
Recognizing different human input devices (HID) could allow us to have a fully “custom-console
Blender” with ordinary hardware. Recognizing VR devices is already possible.
Maybe this is something that could take shape in the next Blender release?