summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp38
1 files changed, 30 insertions, 8 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp
index f01180b..2106d19 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2016 Team Kodi 2 * Copyright (C) 2014-2017 Team Kodi
3 * http://kodi.tv 3 * http://kodi.tv
4 * 4 *
5 * This Program is free software; you can redistribute it and/or modify 5 * This Program is free software; you can redistribute it and/or modify
@@ -362,7 +362,9 @@ namespace ADDON
362 * 362 *
363 * Semiaxis: 363 * Semiaxis:
364 * - driver index 364 * - driver index
365 * - center
365 * - semiaxis direction 366 * - semiaxis direction
367 * - range
366 * 368 *
367 * Motor: 369 * Motor:
368 * - driver index 370 * - driver index
@@ -377,7 +379,9 @@ namespace ADDON
377 m_type(type), 379 m_type(type),
378 m_driverIndex(driverIndex), 380 m_driverIndex(driverIndex),
379 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), 381 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN),
380 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN) 382 m_center(0),
383 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN),
384 m_range(1)
381 { 385 {
382 } 386 }
383 387
@@ -389,7 +393,9 @@ namespace ADDON
389 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN), 393 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN),
390 m_driverIndex(0), 394 m_driverIndex(0),
391 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), 395 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN),
392 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN) 396 m_center(0),
397 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN),
398 m_range(1)
393 { 399 {
394 } 400 }
395 401
@@ -409,7 +415,9 @@ namespace ADDON
409 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_HAT_DIRECTION), 415 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_HAT_DIRECTION),
410 m_driverIndex(hatIndex), 416 m_driverIndex(hatIndex),
411 m_hatDirection(direction), 417 m_hatDirection(direction),
412 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN) 418 m_center(0),
419 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN),
420 m_range(1)
413 { 421 {
414 } 422 }
415 423
@@ -417,11 +425,13 @@ namespace ADDON
417 * \brief Construct a driver primitive representing the positive or negative 425 * \brief Construct a driver primitive representing the positive or negative
418 * half of an axis 426 * half of an axis
419 */ 427 */
420 DriverPrimitive(unsigned int axisIndex, JOYSTICK_DRIVER_SEMIAXIS_DIRECTION direction) : 428 DriverPrimitive(unsigned int axisIndex, int center, JOYSTICK_DRIVER_SEMIAXIS_DIRECTION direction, unsigned int range) :
421 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS), 429 m_type(JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS),
422 m_driverIndex(axisIndex), 430 m_driverIndex(axisIndex),
423 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), 431 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN),
424 m_semiAxisDirection(direction) 432 m_center(center),
433 m_semiAxisDirection(direction),
434 m_range(range)
425 { 435 {
426 } 436 }
427 437
@@ -437,7 +447,9 @@ namespace ADDON
437 m_type(primitive.type), 447 m_type(primitive.type),
438 m_driverIndex(0), 448 m_driverIndex(0),
439 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN), 449 m_hatDirection(JOYSTICK_DRIVER_HAT_UNKNOWN),
440 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN) 450 m_center(0),
451 m_semiAxisDirection(JOYSTICK_DRIVER_SEMIAXIS_UNKNOWN),
452 m_range(1)
441 { 453 {
442 switch (m_type) 454 switch (m_type)
443 { 455 {
@@ -455,7 +467,9 @@ namespace ADDON
455 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS: 467 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS:
456 { 468 {
457 m_driverIndex = primitive.semiaxis.index; 469 m_driverIndex = primitive.semiaxis.index;
470 m_center = primitive.semiaxis.center;
458 m_semiAxisDirection = primitive.semiaxis.direction; 471 m_semiAxisDirection = primitive.semiaxis.direction;
472 m_range = primitive.semiaxis.range;
459 break; 473 break;
460 } 474 }
461 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_MOTOR: 475 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_MOTOR:
@@ -471,7 +485,9 @@ namespace ADDON
471 JOYSTICK_DRIVER_PRIMITIVE_TYPE Type(void) const { return m_type; } 485 JOYSTICK_DRIVER_PRIMITIVE_TYPE Type(void) const { return m_type; }
472 unsigned int DriverIndex(void) const { return m_driverIndex; } 486 unsigned int DriverIndex(void) const { return m_driverIndex; }
473 JOYSTICK_DRIVER_HAT_DIRECTION HatDirection(void) const { return m_hatDirection; } 487 JOYSTICK_DRIVER_HAT_DIRECTION HatDirection(void) const { return m_hatDirection; }
488 int Center(void) const { return m_center; }
474 JOYSTICK_DRIVER_SEMIAXIS_DIRECTION SemiAxisDirection(void) const { return m_semiAxisDirection; } 489 JOYSTICK_DRIVER_SEMIAXIS_DIRECTION SemiAxisDirection(void) const { return m_semiAxisDirection; }
490 unsigned int Range(void) const { return m_range; }
475 491
476 bool operator==(const DriverPrimitive& other) const 492 bool operator==(const DriverPrimitive& other) const
477 { 493 {
@@ -492,7 +508,9 @@ namespace ADDON
492 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS: 508 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS:
493 { 509 {
494 return m_driverIndex == other.m_driverIndex && 510 return m_driverIndex == other.m_driverIndex &&
495 m_semiAxisDirection == other.m_semiAxisDirection; 511 m_center == other.m_center &&
512 m_semiAxisDirection == other.m_semiAxisDirection &&
513 m_range == other.m_range;
496 } 514 }
497 default: 515 default:
498 break; 516 break;
@@ -520,7 +538,9 @@ namespace ADDON
520 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS: 538 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_SEMIAXIS:
521 { 539 {
522 driver_primitive.semiaxis.index = m_driverIndex; 540 driver_primitive.semiaxis.index = m_driverIndex;
541 driver_primitive.semiaxis.center = m_center;
523 driver_primitive.semiaxis.direction = m_semiAxisDirection; 542 driver_primitive.semiaxis.direction = m_semiAxisDirection;
543 driver_primitive.semiaxis.range = m_range;
524 break; 544 break;
525 } 545 }
526 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_MOTOR: 546 case JOYSTICK_DRIVER_PRIMITIVE_TYPE_MOTOR:
@@ -542,7 +562,9 @@ namespace ADDON
542 JOYSTICK_DRIVER_PRIMITIVE_TYPE m_type; 562 JOYSTICK_DRIVER_PRIMITIVE_TYPE m_type;
543 unsigned int m_driverIndex; 563 unsigned int m_driverIndex;
544 JOYSTICK_DRIVER_HAT_DIRECTION m_hatDirection; 564 JOYSTICK_DRIVER_HAT_DIRECTION m_hatDirection;
565 int m_center;
545 JOYSTICK_DRIVER_SEMIAXIS_DIRECTION m_semiAxisDirection; 566 JOYSTICK_DRIVER_SEMIAXIS_DIRECTION m_semiAxisDirection;
567 unsigned int m_range;
546 }; 568 };
547 569
548 typedef PeripheralVector<DriverPrimitive, JOYSTICK_DRIVER_PRIMITIVE> DriverPrimitives; 570 typedef PeripheralVector<DriverPrimitive, JOYSTICK_DRIVER_PRIMITIVE> DriverPrimitives;