{
	  "controller_type" :	"holographic_controller",
    "action_binds": [
        {
            "action": "/actions/system/in/SystemButtonChord",
            "source": "/filters/system_button/held"
        },
        {
            "action": "/actions/system/in/ToggleDashboard",
            "source": "/filters/system_button/single"
        },
        {
            "action": "/actions/system/in/TakeScreenshot",
            "source": "/filters/screenshot_chord/result",
	    "filters_to_cancel" : [ "system_button" ]
        },
        {
            "action": "/actions/system/in/ShowPowerMenu",
            "source": "/filters/system_button/long"
        },
        {
            "action": "/actions/system/in/ToggleRoomView",
            "source": "/filters/system_button/double"
        },
        {
            "action": "/actions/lasermouse/in/Pointer",
            "source": "/user/hand/left/pose/tip"
        },
        {
            "action": "/actions/lasermouse/in/Pointer",
            "source": "/user/hand/right/pose/tip"
        },
        {
            "action": "/actions/lasermouse/in/LeftClick",
            "source": "/filters/primary_trigger_lasermouse_l/result"
        },
        {
            "action": "/actions/lasermouse/in/LeftClick",
            "source": "/filters/primary_trigger_lasermouse_r/result"
        },
        {
            "action": "/actions/lasermouse/in/RightClick",
            "source": "/filters/lasermouse_dpad_l/east"
        },
        {
            "action": "/actions/lasermouse/in/RightClick",
            "source": "/filters/lasermouse_dpad_r/east"
        },
        {
            "action": "/actions/lasermouse/in/Back",
            "source": "/user/hand/left/input/grip/click"
        },
        {
            "action": "/actions/lasermouse/in/Back",
            "source": "/user/hand/right/input/grip/click"
        },
        {
            "action": "/actions/lasermouse/in/Home",
            "source": "/user/hand/left/input/application_menu/click"
        },
        {
            "action": "/actions/lasermouse/in/Home",
            "source": "/user/hand/right/input/application_menu/click"
        },
        {
            "action": "/actions/lasermouse/in/TrackpadTouch",
            "source": "/user/hand/left/input/trackpad/touch"
        },
        {
            "action": "/actions/lasermouse/in/TrackpadValue",
            "source": [ "/user/hand/left/input/trackpad/x", "/user/hand/left/input/trackpad/y" ]
        },
        {
            "action": "/actions/lasermouse/in/TrackpadTouch",
            "source": "/user/hand/right/input/trackpad/touch"
        },
        {
            "action": "/actions/lasermouse/in/TrackpadValue",
            "source": [ "/user/hand/right/input/trackpad/x", "/user/hand/right/input/trackpad/y" ]
        },
        {
            "action": "/actions/lasermouse_secondary/in/SwitchLaserHand",
            "source": "/filters/secondary_trigger_lasermouse_l/result"
        },
        {
            "action": "/actions/lasermouse_secondary/in/SwitchLaserHand",
            "source": "/filters/secondary_trigger_lasermouse_r/result"
        },
        {
            "action": "/actions/dualanalog/in/LeftValue",
            "source": [ "/user/hand/left/input/trackpad/x", "/user/hand/left/input/trackpad/y" ]
        },
        {
            "action": "/actions/dualanalog/in/RightValue",
            "source": [ "/user/hand/right/input/trackpad/x", "/user/hand/right/input/trackpad/y" ]
        },
        {
            "action": "/actions/dualanalog/in/LeftTouch",
            "source": "/user/hand/left/input/trackpad/touch"
        },
        {
            "action": "/actions/dualanalog/in/RightTouch",
            "source": "/user/hand/right/input/trackpad/touch"
        },
        {
            "action": "/actions/dualanalog/in/LeftClick",
            "source": "/user/hand/left/input/trackpad/click"
        },
        {
            "action": "/actions/dualanalog/in/RightClick",
            "source": "/user/hand/right/input/trackpad/click"
        },
        {
            "action": "/actions/dualanalog/in/ModeSwitch1",
            "source": "/user/hand/left/input/grip/click"
        },
        {
            "action": "/actions/dualanalog/in/ModeSwitch2",
            "source": "/user/hand/right/input/grip/click"
        }
    ],

	"filters" :[
		{
			"name" : "all_system_buttons",
			"type" : "boolean_or",
			"action_sets" : [ "/actions/system", "/actions/lasermouse", "/actions/dualanalog" ],
			"input" : {
				"1":"/user/hand/left/input/system/click",
				"2":"/user/hand/right/input/system/click"
			},
			"output" : "result"
		},
		{
			"name" : "system_button",
			"type" : "boolean_button_press_state",
			"input" : "/filters/all_system_buttons/result",
			"action_sets" : [ "/actions/system", "/actions/lasermouse", "/actions/dualanalog" ],
			"parameters" :
			{
				"long_press_delay" : 1.5
			},
			"output" :
			{
				"long" : "long",
				"double" : "double",
				"single" : "single",
				"held" : "held"
			}
		},
		{
			"name" : "any_trigger_chord",
			"type" : "boolean_threshold",
			"action_sets" : [ "/actions/system" ],
			"input" : "/user/hand/*/input/trigger/value",
			"output" : "result"
		},
		{
			"name" : "primary_trigger_lasermouse_l",
			"type" : "boolean_threshold",
			"action_sets" : [ "/actions/lasermouse" ],
			"input" : "/user/hand/left/input/trigger/value",
			"output" : "result"
		},
		{
			"name" : "primary_trigger_lasermouse_r",
			"type" : "boolean_threshold",
			"action_sets" : [ "/actions/lasermouse" ],
			"input" : "/user/hand/right/input/trigger/value",
			"output" : "result"
		},
		{
			"name" : "secondary_trigger_lasermouse_r",
			"type" : "boolean_threshold",
			"action_sets" : [ "/actions/lasermouse_secondary" ],
			"input" : "/user/hand/right/input/trigger/value",
			"output" : "result"
		},
		{
			"name" : "secondary_trigger_lasermouse_l",
			"type" : "boolean_threshold",
			"action_sets" : [ "/actions/lasermouse_secondary" ],
			"input" : "/user/hand/left/input/trigger/value",
			"output" : "result"
		},
		{
			"name": "lasermouse_dpad_l",
			"type": "dpad",
			"action_sets": [ "/actions/lasermouse" ],
			"input": {
				"x" : "/user/hand/left/input/trackpad/x",
				"y" : "/user/hand/left/input/trackpad/y",
				"enable" : "/user/hand/left/input/trackpad/click"
			},
			"output" : {
				"north" : "north",
				"south" : "south",
				"east" : "east",
				"west" : "west"
			}
		},
		{
			"name": "lasermouse_dpad_r",
			"type": "dpad",
			"action_sets": [ "/actions/lasermouse" ],
			"input": {
				"x" : "/user/hand/right/input/trackpad/x",
				"y" : "/user/hand/right/input/trackpad/y",
				"enable" : "/user/hand/right/input/trackpad/click"
			},
			"output" : {
				"north" : "north",
				"south" : "south",
				"east" : "east",
				"west" : "west"
			}
		},
		{
			"name" : "screenshot_chord",
			"type" : "boolean_and",
			"action_sets" : [ "/actions/system" ],
			"input" :
			{
				"1":"/filters/system_button/held",
				"2":"/filters/any_trigger_chord/result"
			},
			"output" : "result"
		}
	],
	"bindings" :
	{
		"/actions/dualanalog" : {
		"sources" :
		[
		{
			"path" : "/user/hand/left/input/trackpad",
			"mode" : "trackpad",
			"inputs" :
			{
				"click" :
				{
					"output" : "/actions/dualanalog/in/LeftClick"
				},
				"touch" :
				{
					"output" : "/actions/dualanalog/in/LeftTouch"
				},
				"position" :
				{
					"output" : "/actions/dualanalog/in/LeftValue"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/trackpad",
			"mode" : "trackpad",
			"inputs" :
			{
				"click" :
				{
					"output" : "/actions/dualanalog/in/RightClick"
				},
				"touch" :
				{
					"output" : "/actions/dualanalog/in/RightTouch"
				},
				"position" :
				{
					"output" : "/actions/dualanalog/in/RightValue"
				}
			}
		},
		{
			"path" : "/user/hand/left/input/grip",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
					"output" :	"/actions/dualanalog/in/ModeSwitch1"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/grip",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
					  "output" : "/actions/dualanalog/in/ModeSwitch2"
				}
			}
		}
		] },
		"/actions/lasermouse" : {
		"sources":
		[
		{
			"path" : "/user/hand/right/input/trigger",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/LeftClick"
				}
			}
		},
		{
			"inputs" : {
				"click" : {
					"output" : "/actions/lasermouse/in/LockMousePosition"
				}
			},
			"mode" : "button",
			"parameters" : {
				"click_activate_threshold" : "0.1",
				"click_deactivate_threshold" : "0.05",
				"haptic_amplitude" : "0"
			},
			"path" : "/user/hand/right/input/trigger"
		},
		{
			"path" : "/user/hand/right/input/grip",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/Back"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/application_menu",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/Home"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/trackpad",
			"mode" : "trackpad",
			"inputs" :
			{
				"touch" :
				{
					"output" : "/actions/lasermouse/in/TrackpadTouch"
				},
				"position" :
				{
					"output" : "/actions/lasermouse/in/TrackpadValue"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/trackpad",
			"mode" : "dpad_click",
			"inputs" :
			{
				"east" :
				{
					"output" : "/actions/lasermouse/in/RightClick"
				}
			}
		},
		{
			"path" : "/user/hand/left/input/trigger",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/LeftClick"
				}
			}
		},
		{
			"inputs" : {
				"click" : {
					"output" : "/actions/lasermouse/in/LockMousePosition"
				}
			},
			"mode" : "button",
			"parameters" : {
				"click_activate_threshold" : "0.1",
				"click_deactivate_threshold" : "0.05",
				"haptic_amplitude" : "0"
			},
			"path" : "/user/hand/left/input/trigger"
		},
		{
			"path" : "/user/hand/left/input/grip",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/Back"
				}
			}
		},
		{
			"path" : "/user/hand/left/input/application_menu",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse/in/Home"
				}
			}
		},
		{
			"path" : "/user/hand/left/input/trackpad",
			"mode" : "trackpad",
			"inputs" :
			{
				"touch" :
				{
					"output" : "/actions/lasermouse/in/TrackpadTouch"
				},
				"position" :
				{
					"output" : "/actions/lasermouse/in/TrackpadValue"
				}
			}
		},
		{
			"path" : "/user/hand/left/input/trackpad",
			"mode" : "dpad_click",
			"inputs" :
			{
				"east" :
				{
					"output" : "/actions/lasermouse/in/RightClick"
				}
			}
		}
		],
		"poses":
		[
			{
				"output": "/actions/lasermouse/in/Pointer",
				"path": "/user/hand/left/pose/tip"
			},
			{
				"output": "/actions/lasermouse/in/Pointer",
				"path": "/user/hand/right/pose/tip"
			}

		] },
		"/actions/lasermouse_secondary" : {
		"sources":
		[
		{
			"path" : "/user/hand/left/input/trigger",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse_secondary/in/SwitchLaserHand"
				}
			}
		},
		{
			"path" : "/user/hand/right/input/trigger",
			"mode" : "button",
			"inputs" :
			{
				"click" :
				{
						"output" : "/actions/lasermouse_secondary/in/SwitchLaserHand"
				}
			}
		}
		],
		"poses":
		[]},
	      "/actions/scroll_discrete" : {
	         "sources" : [
	            {
	               "inputs" : {
	                  "scroll" : {
	                     "output" : "/actions/scroll_discrete/in/scroll"
	                  }
	               },
	               "mode" : "scroll",
	               "path" : "/user/hand/left/input/trackpad"
	            },
	            {
	               "inputs" : {
	                  "scroll" : {
	                     "output" : "/actions/scroll_discrete/in/scroll"
	                  }
	               },
	               "mode" : "scroll",
	               "path" : "/user/hand/right/input/trackpad"
	            },
	            {
	               "inputs" : {
	                  "scroll" : {
	                     "output" : "/actions/scroll_discrete/in/scroll"
	                  }
	               },
	               "mode" : "scroll",
	               "parameters" : {
	                  "scroll_mode" : "discrete"
	               },
	               "path" : "/user/hand/left/input/joystick"
	            },
	            {
	               "inputs" : {
	                  "scroll" : {
	                     "output" : "/actions/scroll_discrete/in/scroll"
	                  }
	               },
	               "mode" : "scroll",
	               "parameters" : {
	                  "scroll_mode" : "discrete"
	               },
	               "path" : "/user/hand/right/input/joystick"
	            }
	         ]
	      },
		"/actions/scroll_smooth": {
			"sources": [
				{
					"path": "/user/hand/left/input/trackpad",
					"mode": "scroll",
					"parameters": {
						"scroll_mode": "smooth",
						"smooth_scroll_multiplier": "11.8"
					},
					"inputs": {
						"scroll": {
							"output": "/actions/scroll_smooth/in/scroll"
						}
					}
				},
				{
					"path": "/user/hand/right/input/trackpad",
					"mode": "scroll",
					"parameters": {
						"scroll_mode": "smooth",
						"smooth_scroll_multiplier": "11.8"
					},
					"inputs": {
						"scroll": {
							"output": "/actions/scroll_smooth/in/scroll"
						}
					}
				},
				{
					"path": "/user/hand/left/input/joystick",
					"mode": "scroll",
					"parameters": {
						"scroll_mode": "smooth",
						"smooth_scroll_joystick_min_input_magnitude": "0.3"
					},
					"inputs": {
						"scroll": {
							"output": "/actions/scroll_smooth/in/scroll"
						}
					}
				},
				{
					"path": "/user/hand/right/input/joystick",
					"mode": "scroll",
					"parameters": {
						"scroll_mode": "smooth",
						"smooth_scroll_joystick_min_input_magnitude": "0.3"
					},
					"inputs": {
						"scroll": {
							"output": "/actions/scroll_smooth/in/scroll"
						}
					}
				}
			]
		},
		"/actions/system" : {
		"chords" :
		[
			{
				"output": "/actions/system/in/TakeScreenshot",
				"inputs": [ ["/user/hand/left/input/system", "held" ], ["/user/hand/left/input/trigger", "click"] ]
			},
			{
				"output": "/actions/system/in/TakeScreenshot",
				"inputs": [ ["/user/hand/right/input/system", "held" ], ["/user/hand/right/input/trigger", "click"] ]
			}
		],
		"sources" :
		[
			{
				"path" : "/user/hand/left/input/trigger",
				"parameters" : {
					"haptic_amplitude" : "0"
				},
				"mode" : "button"
			},
			{
				"path" : "/user/hand/right/input/trigger",
				"parameters" : {
					"haptic_amplitude" : "0"
				},
				"mode" : "button"
			},
			{
				"path" : "/user/hand/left/input/system",
				"mode" : "button",
				"inputs" :
				{
					"held" :
					{
							"output" : "/actions/system/in/SystemButtonChord"
					},
					"long" :
					{
							"long_press_delay" : 1.5,
							"output" : "/actions/system/in/ShowPowerMenu"
					},
					"click" :
					{
							"output" : "/actions/system/in/ToggleDashboard"
					},
					"double" :
					{
							"output" : "/actions/system/in/ToggleRoomView"
					}
				}
			},
			{
				"path" : "/user/hand/right/input/system",
				"mode" : "button",
				"inputs" :
				{
					"held" :
					{
							"output" : "/actions/system/in/SystemButtonChord"
					},
					"long" :
					{
							"long_press_delay" : 1.5,
							"output" : "/actions/system/in/ShowPowerMenu"
					},
					"click" :
					{
							"output" : "/actions/system/in/ToggleDashboard"
					},
					"double" :
					{
							"output" : "/actions/system/in/ToggleRoomView"
					}
				}
			}
		] }
	}
}

