| 737 | } |
| 738 | |
| 739 | void Xbox360Peripheral::fiddleReport(XBOX360_HAT& left, XBOX360_HAT& right) |
| 740 | { |
| 741 | // deadOff - Normalize checkbox is checked if true |
| 742 | // relative - Linked checkbox is checked if true |
| 743 | |
| 744 | if(invertLeftX) left.x=~left.x; |
| 745 | if(!invertLeftY) left.y=~left.y; |
| 746 | if(invertRightX) right.x=~right.x; |
| 747 | if(!invertRightY) right.y=~right.y; |
| 748 | |
| 749 | if(deadzoneLeft!=0) { |
| 750 | if(relativeLeft) { |
| 751 | if((getAbsolute(left.x)<deadzoneLeft)&&(getAbsolute(left.y)<deadzoneLeft)) { |
| 752 | left.x=0; |
| 753 | left.y=0; |
| 754 | } |
| 755 | else if(deadOffLeft) { |
| 756 | normalizeAxis(left.x, deadzoneLeft); |
| 757 | normalizeAxis(left.y, deadzoneLeft); |
| 758 | } |
| 759 | } else { // Linked checkbox has no check |
| 760 | if(getAbsolute(left.x)<deadzoneLeft) |
| 761 | left.x=0; |
| 762 | else if (deadOffLeft) |
| 763 | normalizeAxis(left.x, deadzoneLeft); |
| 764 | |
| 765 | if(getAbsolute(left.y)<deadzoneLeft) |
| 766 | left.y=0; |
| 767 | else if (deadOffLeft) |
| 768 | normalizeAxis(left.y, deadzoneLeft); |
| 769 | } |
| 770 | } |
| 771 | if(deadzoneRight!=0) { |
| 772 | if(relativeRight) { |
| 773 | if((getAbsolute(right.x)<deadzoneRight)&&(getAbsolute(right.y)<deadzoneRight)) { |
| 774 | right.x=0; |
| 775 | right.y=0; |
| 776 | } |
| 777 | else if(deadOffRight) { |
| 778 | normalizeAxis(left.x, deadzoneRight); |
| 779 | normalizeAxis(left.y, deadzoneRight); |
| 780 | } |
| 781 | } else { |
| 782 | if(getAbsolute(right.x)<deadzoneRight) |
| 783 | right.x=0; |
| 784 | else if (deadOffRight) |
| 785 | normalizeAxis(right.x, deadzoneRight); |
| 786 | if(getAbsolute(right.y)<deadzoneRight) |
| 787 | right.y=0; |
| 788 | else if (deadOffRight) |
| 789 | normalizeAxis(right.y, deadzoneRight); |
| 790 | } |
| 791 | } |
| 792 | } |
| 793 | |
| 794 | // This forwards a completed read notification to a member function |
| 795 | void Xbox360Peripheral::ReadCompleteInternal(void *target,void *parameter,IOReturn status,UInt32 bufferSizeRemaining) |
no test coverage detected