21 _button_events =
new ButtonEventList;
22 _pointer_events =
new PointerEventList;
30 LightMutexHolder holder(_lock);
40 LightMutexHolder holder(_lock);
50 LightMutexHolder holder(_lock);
51 return _serial_number;
60 LightMutexHolder holder(_lock);
70 LightMutexHolder holder(_lock);
80 LightMutexHolder holder(_lock);
90 LightMutexHolder holder(_lock);
100 return (_features & (1 << (
unsigned int)feature)) != 0;
152 LightMutexHolder holder(_lock);
153 return _tracker_data;
162 LightMutexHolder holder(_lock);
163 return _battery_data;
174 LightMutexHolder holder(_lock);
175 return _buttons.size();
191 if (index >= _buttons.size()) {
195 _buttons[index].handle = button;
205 if (index < _buttons.size()) {
206 return _buttons[index].handle;
208 return ButtonHandle::none();
218 if (index < _buttons.size()) {
219 return (_buttons[index]._state == S_down);
231 if (index < _buttons.size()) {
232 return _buttons[index]._state != S_unknown;
244 nassertr_always(index < _buttons.size(), ButtonState());
245 return _buttons[index];
254 for (
size_t i = 0; i < _buttons.size(); ++i) {
255 if (_buttons[i].handle == handle) {
279map_axis(
size_t index, InputDevice::Axis axis) {
281 if (index >= _axes.size()) {
285 _axes[index].axis = axis;
295 if (index < _axes.size()) {
296 return _axes[index].value;
308 nassertr_always(index < _axes.size(), AxisState());
318 for (
size_t i = 0; i < _axes.size(); ++i) {
319 if (_axes[i].axis == axis) {
332 if (index < _axes.size()) {
333 return _axes[index].known;
347 do_set_vibration((std::max)((std::min)(strong, 1.0), 0.0), (std::max)((std::min)(weak, 1.0), 0.0));
356 _enable_pointer_events =
true;
365 _enable_pointer_events =
false;
366 _pointer_events.clear();
373INLINE
void InputDevice::
374enable_feature(Feature feature) {
375 _features |= (1 << (
unsigned int)feature);
385 _is_connected = connected;
391INLINE InputDevice::ButtonState::
401 return (_state != S_unknown);
409 return (_state == S_down);
Similar to MutexHolder, but for a light mutex.
Stores the kinds of data that a tracker might output.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.