{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/comments/202110345","pull_request_review_id":136744610,"id":202110345,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMjExMDM0NQ==","diff_hunk":"@@ -0,0 +1,214 @@\n+﻿// Copyright (c) Microsoft Corporation. All rights reserved.\n+// Licensed under the MIT License. See LICENSE in the project root for license information.\n+\n+using Microsoft.MixedReality.Toolkit.Internal.Definitions.Utilities;\n+using System.Collections.Generic;\n+\n+namespace Microsoft.MixedReality.Toolkit.Internal.Definitions.Devices\n+{\n+    /// <summary>\n+    /// Helper utility to manage all the required Axis configuration for platforms, where required\n+    /// </summary>\n+    public static class ControllerInputAxisMappingLibrary\n+    {\n+        #region Controller axis mapping configuration\n+\n+        //Axis and Input mapping configuration for each controller type.  Centralized here... Because Unity..\n+\n+        #region OpenVR\n+\n+        private static readonly string[] OpenVRInputMappings =\n+        {\n+            \"OPENVR_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 0 - TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\n+            \"OPENVR_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 1 - TOUCHPAD_LEFT_CONTROLLER_VERTICAL\n+            \"OPENVR_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 2 - TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\n+            \"OPENVR_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 3 - TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\n+            \"OPENVR_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 4 - THUMBSTICK_LEFT_CONTROLLER_HORIZONTAL\n+            \"OPENVR_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 5 - THUMBSTICK_LEFT_CONTROLLER_VERTICAL\n+            \"OPENVR_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 6 - THUMBSTICK_RIGHT_CONTROLLER_HORIZONTAL\n+            \"OPENVR_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 7 - THUMBSTICK_RIGHT_CONTROLLER_VERTICAL\n+            \"OPENVR_TRIGGER_LEFT_CONTROLLER\",               // 8 - TRIGGER_LEFT_CONTROLLER\n+            \"OPENVR_TRIGGER_RIGHT_CONTROLLER\",              // 9 - TRIGGER_RIGHT_CONTROLLER\n+            \"OPENVR_GRIP_LEFT_CONTROLLER\",                  // 10 - GRIP_LEFT_CONTROLLER\n+            \"OPENVR_GRIP_RIGHT_CONTROLLER\"                  // 11 - GRIP_RIGHT_CONTROLLER\n+        };\n+\n+        private static InputManagerAxis[] OpenVRControllerAxisMappings = new InputManagerAxis[]\n+        {\n+            new InputManagerAxis() { Name = OpenVRInputMappings[0], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 1 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[1], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 2 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[2], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 4 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[3], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 5 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[4], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 1 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[5], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 2 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[6], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 4 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[7], Dead = 0.1f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 5 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[8], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 9 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[9], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 10 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[10], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 11 },\n+            new InputManagerAxis() { Name = OpenVRInputMappings[11], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 12 }\n+        };\n+\n+        #endregion OpenVR\n+\n+        #region HTCVive\n+\n+        private static readonly string[] HTCViveInputMappings =\n+        {\n+            \"VIVE_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 0 - TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\n+            \"VIVE_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 1 - TOUCHPAD_LEFT_CONTROLLER_VERTICAL\n+            \"VIVE_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 2 - TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\n+            \"VIVE_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 3 - TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\n+            \"VIVE_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 4 - THUMBSTICK_LEFT_CONTROLLER_HORIZONTAL\n+            \"VIVE_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 5 - THUMBSTICK_LEFT_CONTROLLER_VERTICAL\n+            \"VIVE_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 6 - THUMBSTICK_RIGHT_CONTROLLER_HORIZONTAL\n+            \"VIVE_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 7 - THUMBSTICK_RIGHT_CONTROLLER_VERTICAL\n+            \"VIVE_TRIGGER_LEFT_CONTROLLER\",               // 8 - TRIGGER_LEFT_CONTROLLER\n+            \"VIVE_TRIGGER_RIGHT_CONTROLLER\",              // 9 - TRIGGER_RIGHT_CONTROLLER\n+            \"VIVE_GRIP_LEFT_CONTROLLER\",                  // 10 - GRIP_LEFT_CONTROLLER\n+            \"VIVE_GRIP_RIGHT_CONTROLLER\"                  // 11 - GRIP_RIGHT_CONTROLLER\n+        };\n+\n+        private static InputManagerAxis[] HTCViveControllerAxisMappings = new InputManagerAxis[]\n+        {\n+            new InputManagerAxis() { Name = HTCViveInputMappings[0], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 1 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[1], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 2 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[2], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 4 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[3], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 5 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[8], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 9 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[9], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 10 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[10], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 11 },\n+            new InputManagerAxis() { Name = HTCViveInputMappings[11], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 12 }\n+        };\n+\n+        #endregion HTCVive\n+\n+        #region OculusTouch\n+        \n+        private static readonly string[] OculusTouchInputMappings =\n+        {\n+            \"OTOUCH_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 0 - TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\n+            \"OTOUCH_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 1 - TOUCHPAD_LEFT_CONTROLLER_VERTICAL\n+            \"OTOUCH_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 2 - TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\n+            \"OTOUCH_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 3 - TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\n+            \"OTOUCH_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 4 - THUMBSTICK_LEFT_CONTROLLER_HORIZONTAL\n+            \"OTOUCH_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 5 - THUMBSTICK_LEFT_CONTROLLER_VERTICAL\n+            \"OTOUCH_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 6 - THUMBSTICK_RIGHT_CONTROLLER_HORIZONTAL\n+            \"OTOUCH_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 7 - THUMBSTICK_RIGHT_CONTROLLER_VERTICAL\n+            \"OTOUCH_TRIGGER_LEFT_CONTROLLER\",               // 8 - TRIGGER_LEFT_CONTROLLER\n+            \"OTOUCH_TRIGGER_RIGHT_CONTROLLER\",              // 9 - TRIGGER_RIGHT_CONTROLLER\n+            \"OTOUCH_GRIP_LEFT_CONTROLLER\",                  // 10 - GRIP_LEFT_CONTROLLER\n+            \"OTOUCH_GRIP_RIGHT_CONTROLLER\"                  // 11 - GRIP_RIGHT_CONTROLLER\n+        };\n+\n+        private static InputManagerAxis[] OculusTouchControllerAxisMappings = new InputManagerAxis[]\n+        {\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[0], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 1 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[1], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 2 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[2], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 4 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[3], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 5 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[8], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 9 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[9], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 10 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[10], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 11 },\n+            new InputManagerAxis() { Name = OculusTouchInputMappings[11], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 12 }\n+        };\n+\n+        #endregion\n+\n+        #region ValveKnuckles\n+        \n+        private static readonly string[] ValveKnucklesInputMappings =\n+        {\n+            \"VKNUCKLES_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 0 - TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\n+            \"VKNUCKLES_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 1 - TOUCHPAD_LEFT_CONTROLLER_VERTICAL\n+            \"VKNUCKLES_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 2 - TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\n+            \"VKNUCKLES_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 3 - TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\n+            \"VKNUCKLES_TOUCHPAD_LEFT_CONTROLLER_HORIZONTAL\",   // 4 - THUMBSTICK_LEFT_CONTROLLER_HORIZONTAL\n+            \"VKNUCKLES_TOUCHPAD_LEFT_CONTROLLER_VERTICAL\",     // 5 - THUMBSTICK_LEFT_CONTROLLER_VERTICAL\n+            \"VKNUCKLES_TOUCHPAD_RIGHT_CONTROLLER_HORIZONTAL\",  // 6 - THUMBSTICK_RIGHT_CONTROLLER_HORIZONTAL\n+            \"VKNUCKLES_TOUCHPAD_RIGHT_CONTROLLER_VERTICAL\",    // 7 - THUMBSTICK_RIGHT_CONTROLLER_VERTICAL\n+            \"VKNUCKLES_TRIGGER_LEFT_CONTROLLER\",               // 8 - TRIGGER_LEFT_CONTROLLER\n+            \"VKNUCKLES_TRIGGER_RIGHT_CONTROLLER\",              // 9 - TRIGGER_RIGHT_CONTROLLER\n+            \"VKNUCKLES_GRIP_LEFT_CONTROLLER\",                  // 10 - GRIP_LEFT_CONTROLLER\n+            \"VKNUCKLES_GRIP_RIGHT_CONTROLLER\",                 // 11 - GRIP_RIGHT_CONTROLLER\n+            \"VKNUCKLES_INDEXFINGER_LEFT_CONTROLLER\",           // 12 - INDEXFINGER_LEFT_CONTROLLER\n+            \"VKNUCKLES_INDEXFINGER_RIGHT_CONTROLLER\",          // 13 - INDEXFINGER_RIGHT_CONTROLLER\n+            \"VKNUCKLES_MIDDLEFINGER_LEFT_CONTROLLER\",          // 14 - MIDDLEFINGER_LEFT_CONTROLLER\n+            \"VKNUCKLES_MIDDLEFINGER_RIGHT_CONTROLLER\",         // 15 - MIDDLEFINGER_RIGHT_CONTROLLER\n+            \"VKNUCKLES_RINGFINGER_LEFT_CONTROLLER\",            // 16 - RINGFINGER_LEFT_CONTROLLER\n+            \"VKNUCKLES_RINGFINGER_RIGHT_CONTROLLER\",           // 17 - RINGFINGER_RIGHT_CONTROLLER\n+            \"VKNUCKLES_PINKYFINGER_LEFT_CONTROLLER\",           // 18 - PINKYFINGER_LEFT_CONTROLLER\n+            \"VKNUCKLES_PINKYFINGER_RIGHT_CONTROLLER\",          // 19 - PINKYFINGER_RIGHT_CONTROLLER\n+        };\n+\n+        private static InputManagerAxis[] ValveKnucklesControllerAxisMappings = new InputManagerAxis[]\n+        {\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[0], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 1 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[1], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 2 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[2], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 4 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[3], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 5 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[8], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 9 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[9], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 10 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[10], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 11 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[11], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 12 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[12], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 20 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[13], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 21 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[14], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 22 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[15], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 23 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[16], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 24 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[17], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 25 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[18], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 26 },\n+            new InputManagerAxis() { Name = ValveKnucklesInputMappings[19], Dead = 0.001f, Sensitivity = 1, Invert = false, Type = InputManagerAxisType.JoystickAxis, Axis = 27 }\n+        };\n+\n+        #endregion ValveKnuckles","path":"Assets/MixedRealityToolkit/_Core/Definitions/Devices/ControllerInputAxisMappingLibrary.cs","position":164,"original_position":164,"commit_id":"4dcc3169fd8a051d7eb12ca5b47b4edaa61f5a50","original_commit_id":"4dcc3169fd8a051d7eb12ca5b47b4edaa61f5a50","user":{"login":"StephenHodgson","id":13334553,"node_id":"MDQ6VXNlcjEzMzM0NTUz","avatar_url":"https://avatars2.githubusercontent.com/u/13334553?v=4","gravatar_id":"","url":"https://api.github.com/users/StephenHodgson","html_url":"https://github.com/StephenHodgson","followers_url":"https://api.github.com/users/StephenHodgson/followers","following_url":"https://api.github.com/users/StephenHodgson/following{/other_user}","gists_url":"https://api.github.com/users/StephenHodgson/gists{/gist_id}","starred_url":"https://api.github.com/users/StephenHodgson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephenHodgson/subscriptions","organizations_url":"https://api.github.com/users/StephenHodgson/orgs","repos_url":"https://api.github.com/users/StephenHodgson/repos","events_url":"https://api.github.com/users/StephenHodgson/events{/privacy}","received_events_url":"https://api.github.com/users/StephenHodgson/received_events","type":"User","site_admin":false},"body":"Well this axes utility is only a stop gap until we figure out a way to get the axis data directly.","created_at":"2018-07-12T17:07:54Z","updated_at":"2018-07-12T17:07:54Z","html_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437#discussion_r202110345","pull_request_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/comments/202110345"},"html":{"href":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437#discussion_r202110345"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437"}},"in_reply_to_id":202107660},"pull_request":{"url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437","id":201053019,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxMDUzMDE5","html_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437","diff_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437.diff","patch_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437.patch","issue_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/2437","number":2437,"state":"open","locked":false,"title":"Mrtk version next unity input manager update","user":{"login":"SimonDarksideJ","id":1793042,"node_id":"MDQ6VXNlcjE3OTMwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1793042?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonDarksideJ","html_url":"https://github.com/SimonDarksideJ","followers_url":"https://api.github.com/users/SimonDarksideJ/followers","following_url":"https://api.github.com/users/SimonDarksideJ/following{/other_user}","gists_url":"https://api.github.com/users/SimonDarksideJ/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonDarksideJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonDarksideJ/subscriptions","organizations_url":"https://api.github.com/users/SimonDarksideJ/orgs","repos_url":"https://api.github.com/users/SimonDarksideJ/repos","events_url":"https://api.github.com/users/SimonDarksideJ/events{/privacy}","received_events_url":"https://api.github.com/users/SimonDarksideJ/received_events","type":"User","site_admin":false},"body":"Overview\r\n---\r\nUpdated the Unity InputManager implementation requires to support Axis Data for OpenVR.\r\n\r\nSolution now builds a project.\r\n\r\nI've tried to unify this and affect as little other code as possible, although these are the notable points.\r\n\r\nNotes\r\n---\r\n\r\n* New ControllerInputAxisMappingLibrary to centralise the controller Axis data.  No way to get it from each controller type separately.\r\n* Updated the MixedRealityControllerMappingProfileInspector to check for and load the appropriate Axis data for the controllers as the user edits them.  It also refreshes the mappings on selecting the controller profile (just in case).\r\n**Note** As Unity does not have a SerializedProperty.Changed or SerializedProperty.Value, certain \"hacks\" are required to unpack the properties so we can validate the array of controller data.  It works, and doesn't slow down the editor.  As it's the only place we can fully interrogate the data, it seemed prudent.\r\n* Split up the Nested types in to their own classes, InputManagerAxis & InputManagerAxisType\r\n\r\nChanges\r\n---\r\n- Fixes: Standalone and UWP builds now... Build\r\n\r\nResolves\r\n---\r\n#2432 \r\n\r\n","created_at":"2018-07-12T16:10:41Z","updated_at":"2018-07-12T17:07:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0a032ef17660d67e485e4034b00a0d88bc43c8fb","assignee":{"login":"SimonDarksideJ","id":1793042,"node_id":"MDQ6VXNlcjE3OTMwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1793042?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonDarksideJ","html_url":"https://github.com/SimonDarksideJ","followers_url":"https://api.github.com/users/SimonDarksideJ/followers","following_url":"https://api.github.com/users/SimonDarksideJ/following{/other_user}","gists_url":"https://api.github.com/users/SimonDarksideJ/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonDarksideJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonDarksideJ/subscriptions","organizations_url":"https://api.github.com/users/SimonDarksideJ/orgs","repos_url":"https://api.github.com/users/SimonDarksideJ/repos","events_url":"https://api.github.com/users/SimonDarksideJ/events{/privacy}","received_events_url":"https://api.github.com/users/SimonDarksideJ/received_events","type":"User","site_admin":false},"assignees":[{"login":"SimonDarksideJ","id":1793042,"node_id":"MDQ6VXNlcjE3OTMwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1793042?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonDarksideJ","html_url":"https://github.com/SimonDarksideJ","followers_url":"https://api.github.com/users/SimonDarksideJ/followers","following_url":"https://api.github.com/users/SimonDarksideJ/following{/other_user}","gists_url":"https://api.github.com/users/SimonDarksideJ/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonDarksideJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonDarksideJ/subscriptions","organizations_url":"https://api.github.com/users/SimonDarksideJ/orgs","repos_url":"https://api.github.com/users/SimonDarksideJ/repos","events_url":"https://api.github.com/users/SimonDarksideJ/events{/privacy}","received_events_url":"https://api.github.com/users/SimonDarksideJ/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":318131835,"node_id":"MDU6TGFiZWwzMTgxMzE4MzU=","url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/labels/Bug","name":"Bug","color":"b60205","default":false},{"id":850652486,"node_id":"MDU6TGFiZWw4NTA2NTI0ODY=","url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/labels/MRTK%20vNEXT","name":"MRTK vNEXT","color":"0b4ce5","default":false},{"id":769313068,"node_id":"MDU6TGFiZWw3NjkzMTMwNjg=","url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/labels/Ready%20for%20Review","name":"Ready for Review","color":"88f91d","default":false},{"id":923010991,"node_id":"MDU6TGFiZWw5MjMwMTA5OTE=","url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/labels/Refactor","name":"Refactor","color":"b2fffb","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437/commits","review_comments_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437/comments","review_comment_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/2437/comments","statuses_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/statuses/4dcc3169fd8a051d7eb12ca5b47b4edaa61f5a50","head":{"label":"SimonDarksideJ:MRTK-Version-Next_UnityInputManagerUpdate","ref":"MRTK-Version-Next_UnityInputManagerUpdate","sha":"4dcc3169fd8a051d7eb12ca5b47b4edaa61f5a50","user":{"login":"SimonDarksideJ","id":1793042,"node_id":"MDQ6VXNlcjE3OTMwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1793042?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonDarksideJ","html_url":"https://github.com/SimonDarksideJ","followers_url":"https://api.github.com/users/SimonDarksideJ/followers","following_url":"https://api.github.com/users/SimonDarksideJ/following{/other_user}","gists_url":"https://api.github.com/users/SimonDarksideJ/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonDarksideJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonDarksideJ/subscriptions","organizations_url":"https://api.github.com/users/SimonDarksideJ/orgs","repos_url":"https://api.github.com/users/SimonDarksideJ/repos","events_url":"https://api.github.com/users/SimonDarksideJ/events{/privacy}","received_events_url":"https://api.github.com/users/SimonDarksideJ/received_events","type":"User","site_admin":false},"repo":{"id":104344456,"node_id":"MDEwOlJlcG9zaXRvcnkxMDQzNDQ0NTY=","name":"MixedRealityToolkit-Unity","full_name":"SimonDarksideJ/MixedRealityToolkit-Unity","owner":{"login":"SimonDarksideJ","id":1793042,"node_id":"MDQ6VXNlcjE3OTMwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1793042?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonDarksideJ","html_url":"https://github.com/SimonDarksideJ","followers_url":"https://api.github.com/users/SimonDarksideJ/followers","following_url":"https://api.github.com/users/SimonDarksideJ/following{/other_user}","gists_url":"https://api.github.com/users/SimonDarksideJ/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonDarksideJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonDarksideJ/subscriptions","organizations_url":"https://api.github.com/users/SimonDarksideJ/orgs","repos_url":"https://api.github.com/users/SimonDarksideJ/repos","events_url":"https://api.github.com/users/SimonDarksideJ/events{/privacy}","received_events_url":"https://api.github.com/users/SimonDarksideJ/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/SimonDarksideJ/MixedRealityToolkit-Unity","description":"MixedRealityToolkit-Unity uses code from the base MixedRealityToolkit repository and makes it easier to consume in Unity.","fork":true,"url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity","forks_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/forks","keys_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/teams","hooks_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/hooks","issue_events_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/issues/events{/number}","events_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/events","assignees_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/assignees{/user}","branches_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/branches{/branch}","tags_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/tags","blobs_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/git/refs{/sha}","trees_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/statuses/{sha}","languages_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/languages","stargazers_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/stargazers","contributors_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/contributors","subscribers_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/subscribers","subscription_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/subscription","commits_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/commits{/sha}","git_commits_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/git/commits{/sha}","comments_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/comments{/number}","issue_comment_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/issues/comments{/number}","contents_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/contents/{+path}","compare_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/merges","archive_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/downloads","issues_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/issues{/number}","pulls_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/pulls{/number}","milestones_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/milestones{/number}","notifications_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/labels{/name}","releases_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/releases{/id}","deployments_url":"https://api.github.com/repos/SimonDarksideJ/MixedRealityToolkit-Unity/deployments","created_at":"2017-09-21T12:19:58Z","updated_at":"2018-07-11T09:52:39Z","pushed_at":"2018-07-12T16:01:02Z","git_url":"git://github.com/SimonDarksideJ/MixedRealityToolkit-Unity.git","ssh_url":"git@github.com:SimonDarksideJ/MixedRealityToolkit-Unity.git","clone_url":"https://github.com/SimonDarksideJ/MixedRealityToolkit-Unity.git","svn_url":"https://github.com/SimonDarksideJ/MixedRealityToolkit-Unity","homepage":"","size":351004,"stargazers_count":2,"watchers_count":2,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":2,"default_branch":"MRTK-Version-Next"}},"base":{"label":"Microsoft:mrtkDevelopment","ref":"mrtkDevelopment","sha":"16596be2cbbc513e1e4c042c491d2bd2235f6bac","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":50605426,"node_id":"MDEwOlJlcG9zaXRvcnk1MDYwNTQyNg==","name":"MixedRealityToolkit-Unity","full_name":"Microsoft/MixedRealityToolkit-Unity","owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity","description":"MixedRealityToolkit-Unity uses code from the base MixedRealityToolkit repository and makes it easier to consume in Unity.","fork":false,"url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity","forks_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/forks","keys_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/teams","hooks_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/events","assignees_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/tags","blobs_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/languages","stargazers_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/subscription","commits_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/merges","archive_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/downloads","issues_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/deployments","created_at":"2016-01-28T18:54:58Z","updated_at":"2018-07-12T13:54:06Z","pushed_at":"2018-07-12T16:51:14Z","git_url":"git://github.com/Microsoft/MixedRealityToolkit-Unity.git","ssh_url":"git@github.com:Microsoft/MixedRealityToolkit-Unity.git","clone_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity.git","svn_url":"https://github.com/Microsoft/MixedRealityToolkit-Unity","homepage":"","size":613736,"stargazers_count":1887,"watchers_count":1887,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":912,"mirror_url":null,"archived":false,"open_issues_count":347,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":912,"open_issues":347,"watchers":1887,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437"},"html":{"href":"https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2437"},"issue":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/2437"},"comments":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/issues/2437/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/pulls/2437/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/MixedRealityToolkit-Unity/statuses/4dcc3169fd8a051d7eb12ca5b47b4edaa61f5a50"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"StephenHodgson"}}