|
|
@@ -1679,16 +1679,18 @@ class ShowBase(DirectObject.DirectObject):
|
|
|
return self.mouseWatcherNode.getModifierButtons().isDown(
|
|
|
KeyboardButton.meta())
|
|
|
|
|
|
- def attachInputDevice(self, device, prefix=None, gui=False):
|
|
|
+ def attachInputDevice(self, device, prefix=None, watch=False):
|
|
|
"""
|
|
|
This function attaches an input device to the data graph, which will
|
|
|
cause the device to be polled and generate events. If a prefix is
|
|
|
given and not None, it is used to prefix events generated by this
|
|
|
device, separated by a hyphen.
|
|
|
|
|
|
- The gui argument can be set to True (as of Panda3D 1.10.3) to set up
|
|
|
+ The watch argument can be set to True (as of Panda3D 1.10.3) to set up
|
|
|
the default MouseWatcher to receive inputs from this device, allowing
|
|
|
- it to control user interfaces.
|
|
|
+ it to be polled via mouseWatcherNode and control user interfaces.
|
|
|
+ Setting this to True will also make it generate unprefixed events,
|
|
|
+ regardless of the specified prefix.
|
|
|
|
|
|
If you call this, you should consider calling detachInputDevice when
|
|
|
you are done with the device or when it is disconnected.
|
|
|
@@ -1700,7 +1702,7 @@ class ShowBase(DirectObject.DirectObject):
|
|
|
idn = self.dataRoot.attachNewNode(InputDeviceNode(device, device.name))
|
|
|
|
|
|
# Setup the button thrower to generate events for the device.
|
|
|
- if prefix is not None or not gui:
|
|
|
+ if prefix is not None or not watch:
|
|
|
bt = idn.attachNewNode(ButtonThrower(device.name))
|
|
|
if prefix is not None:
|
|
|
bt.node().setPrefix(prefix + '-')
|
|
|
@@ -1709,7 +1711,7 @@ class ShowBase(DirectObject.DirectObject):
|
|
|
assert self.notify.debug("Attached input device {0} with prefix {1}".format(device, prefix))
|
|
|
self.__inputDeviceNodes[device] = idn
|
|
|
|
|
|
- if gui:
|
|
|
+ if watch:
|
|
|
idn.node().addChild(self.mouseWatcherNode)
|
|
|
|
|
|
def detachInputDevice(self, device):
|