1 # SPDX-License-Identifier: GPL-2.0-or-later
5 importlib
.reload(action_map
)
7 from . import action_map
10 from bpy
.app
.handlers
import persistent
16 # Default action maps.
17 class VRDefaultActionmaps(Enum
):
18 DEFAULT
= "blender_default"
19 GAMEPAD
= "blender_default_gamepad"
23 class VRDefaultActions(Enum
):
24 CONTROLLER_GRIP
= "controller_grip"
25 CONTROLLER_AIM
= "controller_aim"
29 FLY_FORWARD
= "fly_forward"
32 FLY_RIGHT
= "fly_right"
35 FLY_TURNLEFT
= "fly_turnleft"
36 FLY_TURNRIGHT
= "fly_turnright"
37 NAV_RESET
= "nav_reset"
39 HAPTIC_LEFT
= "haptic_left"
40 HAPTIC_RIGHT
= "haptic_right"
41 HAPTIC_LEFTTRIGGER
= "haptic_lefttrigger"
42 HAPTIC_RIGHTTRIGGER
= "haptic_righttrigger"
45 # Default action bindings.
46 class VRDefaultActionbindings(Enum
):
51 REVERB_G2
= "reverb_g2"
54 VIVE_COSMOS
= "vive_cosmos"
55 VIVE_FOCUS
= "vive_focus"
59 class VRDefaultActionprofiles(Enum
):
60 GAMEPAD
= "/interaction_profiles/microsoft/xbox_controller"
61 HUAWEI
= "/interaction_profiles/huawei/controller"
62 INDEX
= "/interaction_profiles/valve/index_controller"
63 OCULUS
= "/interaction_profiles/oculus/touch_controller"
64 REVERB_G2
= "/interaction_profiles/hp/mixed_reality_controller"
65 SIMPLE
= "/interaction_profiles/khr/simple_controller"
66 VIVE
= "/interaction_profiles/htc/vive_controller"
67 VIVE_COSMOS
= "/interaction_profiles/htc/vive_cosmos_controller"
68 VIVE_FOCUS
= "/interaction_profiles/htc/vive_focus3_controller"
69 WMR
= "/interaction_profiles/microsoft/motion_controller"
72 def vr_defaults_actionmap_add(session_state
, name
):
73 am
= session_state
.actionmaps
.new(session_state
, name
, True)
78 def vr_defaults_action_add(am
,
85 haptic_match_user_paths
,
92 ami
= am
.actionmap_items
.new(name
, True)
95 for path
in user_paths
:
96 ami
.user_paths
.new(path
)
99 ami
.bimanual
= bimanual
100 ami
.haptic_name
= haptic_name
101 ami
.haptic_match_user_paths
= haptic_match_user_paths
102 ami
.haptic_duration
= haptic_duration
103 ami
.haptic_frequency
= haptic_frequency
104 ami
.haptic_amplitude
= haptic_amplitude
105 ami
.haptic_mode
= haptic_mode
110 def vr_defaults_pose_action_add(am
,
115 ami
= am
.actionmap_items
.new(name
, True)
118 for path
in user_paths
:
119 ami
.user_paths
.new(path
)
120 ami
.pose_is_controller_grip
= is_controller_grip
121 ami
.pose_is_controller_aim
= is_controller_aim
126 def vr_defaults_haptic_action_add(am
,
129 ami
= am
.actionmap_items
.new(name
, True)
131 ami
.type = 'VIBRATION'
132 for path
in user_paths
:
133 ami
.user_paths
.new(path
)
138 def vr_defaults_actionbinding_add(ami
,
145 amb
= ami
.bindings
.new(name
, True)
147 amb
.profile
= profile
148 for path
in component_paths
:
149 amb
.component_paths
.new(path
)
150 amb
.threshold
= threshold
151 amb
.axis0_region
= axis0_region
152 amb
.axis1_region
= axis1_region
157 def vr_defaults_pose_actionbinding_add(ami
,
163 amb
= ami
.bindings
.new(name
, True)
165 amb
.profile
= profile
166 for path
in component_paths
:
167 amb
.component_paths
.new(path
)
168 amb
.pose_location
= location
169 amb
.pose_rotation
= rotation
174 def vr_defaults_haptic_actionbinding_add(ami
,
178 amb
= ami
.bindings
.new(name
, True)
180 amb
.profile
= profile
181 for path
in component_paths
:
182 amb
.component_paths
.new(path
)
187 def vr_defaults_create_default(session_state
):
188 am
= vr_defaults_actionmap_add(session_state
,
189 VRDefaultActionmaps
.DEFAULT
.value
)
193 ami
= vr_defaults_pose_action_add(am
,
194 VRDefaultActions
.CONTROLLER_GRIP
.value
,
200 vr_defaults_pose_actionbinding_add(ami
,
201 VRDefaultActionbindings
.HUAWEI
.value
,
202 VRDefaultActionprofiles
.HUAWEI
.value
,
207 vr_defaults_pose_actionbinding_add(ami
,
208 VRDefaultActionbindings
.INDEX
.value
,
209 VRDefaultActionprofiles
.INDEX
.value
,
214 vr_defaults_pose_actionbinding_add(ami
,
215 VRDefaultActionbindings
.OCULUS
.value
,
216 VRDefaultActionprofiles
.OCULUS
.value
,
221 vr_defaults_pose_actionbinding_add(ami
,
222 VRDefaultActionbindings
.REVERB_G2
.value
,
223 VRDefaultActionprofiles
.REVERB_G2
.value
,
228 vr_defaults_pose_actionbinding_add(ami
,
229 VRDefaultActionbindings
.SIMPLE
.value
,
230 VRDefaultActionprofiles
.SIMPLE
.value
,
235 vr_defaults_pose_actionbinding_add(ami
,
236 VRDefaultActionbindings
.VIVE
.value
,
237 VRDefaultActionprofiles
.VIVE
.value
,
242 vr_defaults_pose_actionbinding_add(ami
,
243 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
244 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
249 vr_defaults_pose_actionbinding_add(ami
,
250 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
251 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
256 vr_defaults_pose_actionbinding_add(ami
,
257 VRDefaultActionbindings
.WMR
.value
,
258 VRDefaultActionprofiles
.WMR
.value
,
264 ami
= vr_defaults_pose_action_add(am
,
265 VRDefaultActions
.CONTROLLER_AIM
.value
,
271 vr_defaults_pose_actionbinding_add(ami
,
272 VRDefaultActionbindings
.HUAWEI
.value
,
273 VRDefaultActionprofiles
.HUAWEI
.value
,
278 vr_defaults_pose_actionbinding_add(ami
,
279 VRDefaultActionbindings
.INDEX
.value
,
280 VRDefaultActionprofiles
.INDEX
.value
,
285 vr_defaults_pose_actionbinding_add(ami
,
286 VRDefaultActionbindings
.OCULUS
.value
,
287 VRDefaultActionprofiles
.OCULUS
.value
,
292 vr_defaults_pose_actionbinding_add(ami
,
293 VRDefaultActionbindings
.REVERB_G2
.value
,
294 VRDefaultActionprofiles
.REVERB_G2
.value
,
299 vr_defaults_pose_actionbinding_add(ami
,
300 VRDefaultActionbindings
.SIMPLE
.value
,
301 VRDefaultActionprofiles
.SIMPLE
.value
,
306 vr_defaults_pose_actionbinding_add(ami
,
307 VRDefaultActionbindings
.VIVE
.value
,
308 VRDefaultActionprofiles
.VIVE
.value
,
313 vr_defaults_pose_actionbinding_add(ami
,
314 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
315 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
320 vr_defaults_pose_actionbinding_add(ami
,
321 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
322 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
327 vr_defaults_pose_actionbinding_add(ami
,
328 VRDefaultActionbindings
.WMR
.value
,
329 VRDefaultActionprofiles
.WMR
.value
,
335 ami
= vr_defaults_action_add(am
,
336 VRDefaultActions
.TELEPORT
.value
,
339 "wm.xr_navigation_teleport",
349 vr_defaults_actionbinding_add(ami
,
350 VRDefaultActionbindings
.HUAWEI
.value
,
351 VRDefaultActionprofiles
.HUAWEI
.value
,
352 ["/input/trigger/value",
353 "/input/trigger/value"],
357 vr_defaults_actionbinding_add(ami
,
358 VRDefaultActionbindings
.INDEX
.value
,
359 VRDefaultActionprofiles
.INDEX
.value
,
360 ["/input/trigger/value",
361 "/input/trigger/value"],
365 vr_defaults_actionbinding_add(ami
,
366 VRDefaultActionbindings
.OCULUS
.value
,
367 VRDefaultActionprofiles
.OCULUS
.value
,
368 ["/input/trigger/value",
369 "/input/trigger/value"],
373 vr_defaults_actionbinding_add(ami
,
374 VRDefaultActionbindings
.REVERB_G2
.value
,
375 VRDefaultActionprofiles
.REVERB_G2
.value
,
376 ["/input/trigger/value",
377 "/input/trigger/value"],
381 vr_defaults_actionbinding_add(ami
,
382 VRDefaultActionbindings
.SIMPLE
.value
,
383 VRDefaultActionprofiles
.SIMPLE
.value
,
384 ["/input/select/click",
385 "/input/select/click"],
389 vr_defaults_actionbinding_add(ami
,
390 VRDefaultActionbindings
.VIVE
.value
,
391 VRDefaultActionprofiles
.VIVE
.value
,
392 ["/input/trigger/value",
393 "/input/trigger/value"],
397 vr_defaults_actionbinding_add(ami
,
398 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
399 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
400 ["/input/trigger/value",
401 "/input/trigger/value"],
405 vr_defaults_actionbinding_add(ami
,
406 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
407 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
408 ["/input/trigger/value",
409 "/input/trigger/value"],
413 vr_defaults_actionbinding_add(ami
,
414 VRDefaultActionbindings
.WMR
.value
,
415 VRDefaultActionprofiles
.WMR
.value
,
416 ["/input/trigger/value",
417 "/input/trigger/value"],
422 ami
= vr_defaults_action_add(am
,
423 VRDefaultActions
.NAV_GRAB
.value
,
426 "wm.xr_navigation_grab",
436 vr_defaults_actionbinding_add(ami
,
437 VRDefaultActionbindings
.HUAWEI
.value
,
438 VRDefaultActionprofiles
.HUAWEI
.value
,
439 ["/input/trackpad/click",
440 "/input/trackpad/click"],
444 vr_defaults_actionbinding_add(ami
,
445 VRDefaultActionbindings
.INDEX
.value
,
446 VRDefaultActionprofiles
.INDEX
.value
,
447 ["/input/squeeze/force",
448 "/input/squeeze/force"],
452 vr_defaults_actionbinding_add(ami
,
453 VRDefaultActionbindings
.OCULUS
.value
,
454 VRDefaultActionprofiles
.OCULUS
.value
,
455 ["/input/squeeze/value",
456 "/input/squeeze/value"],
460 vr_defaults_actionbinding_add(ami
,
461 VRDefaultActionbindings
.REVERB_G2
.value
,
462 VRDefaultActionprofiles
.REVERB_G2
.value
,
463 ["/input/squeeze/value",
464 "/input/squeeze/value"],
468 vr_defaults_actionbinding_add(ami
,
469 VRDefaultActionbindings
.SIMPLE
.value
,
470 VRDefaultActionprofiles
.SIMPLE
.value
,
471 ["/input/menu/click",
472 "/input/menu/click"],
476 vr_defaults_actionbinding_add(ami
,
477 VRDefaultActionbindings
.VIVE
.value
,
478 VRDefaultActionprofiles
.VIVE
.value
,
479 ["/input/squeeze/click",
480 "/input/squeeze/click"],
484 vr_defaults_actionbinding_add(ami
,
485 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
486 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
487 ["/input/squeeze/click",
488 "/input/squeeze/click"],
492 vr_defaults_actionbinding_add(ami
,
493 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
494 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
495 ["/input/squeeze/click",
496 "/input/squeeze/click"],
500 vr_defaults_actionbinding_add(ami
,
501 VRDefaultActionbindings
.WMR
.value
,
502 VRDefaultActionprofiles
.WMR
.value
,
503 ["/input/squeeze/click",
504 "/input/squeeze/click"],
509 ami
= vr_defaults_action_add(am
,
510 VRDefaultActions
.FLY_FORWARD
.value
,
512 "wm.xr_navigation_fly",
522 vr_defaults_actionbinding_add(ami
,
523 VRDefaultActionbindings
.HUAWEI
.value
,
524 VRDefaultActionprofiles
.HUAWEI
.value
,
525 ["/input/trackpad/y"],
529 vr_defaults_actionbinding_add(ami
,
530 VRDefaultActionbindings
.INDEX
.value
,
531 VRDefaultActionprofiles
.INDEX
.value
,
532 ["/input/thumbstick/y"],
536 vr_defaults_actionbinding_add(ami
,
537 VRDefaultActionbindings
.OCULUS
.value
,
538 VRDefaultActionprofiles
.OCULUS
.value
,
539 ["/input/thumbstick/y"],
543 vr_defaults_actionbinding_add(ami
,
544 VRDefaultActionbindings
.REVERB_G2
.value
,
545 VRDefaultActionprofiles
.REVERB_G2
.value
,
546 ["/input/thumbstick/y"],
550 vr_defaults_actionbinding_add(ami
,
551 VRDefaultActionbindings
.VIVE
.value
,
552 VRDefaultActionprofiles
.VIVE
.value
,
553 ["/input/trackpad/y"],
557 vr_defaults_actionbinding_add(ami
,
558 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
559 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
560 ["/input/thumbstick/y"],
564 vr_defaults_actionbinding_add(ami
,
565 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
566 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
567 ["/input/thumbstick/y"],
571 vr_defaults_actionbinding_add(ami
,
572 VRDefaultActionbindings
.WMR
.value
,
573 VRDefaultActionprofiles
.WMR
.value
,
574 ["/input/thumbstick/y"],
579 ami
= vr_defaults_action_add(am
,
580 VRDefaultActions
.FLY_BACK
.value
,
582 "wm.xr_navigation_fly",
592 vr_defaults_actionbinding_add(ami
,
593 VRDefaultActionbindings
.HUAWEI
.value
,
594 VRDefaultActionprofiles
.HUAWEI
.value
,
595 ["/input/trackpad/y"],
599 vr_defaults_actionbinding_add(ami
,
600 VRDefaultActionbindings
.INDEX
.value
,
601 VRDefaultActionprofiles
.INDEX
.value
,
602 ["/input/thumbstick/y"],
606 vr_defaults_actionbinding_add(ami
,
607 VRDefaultActionbindings
.OCULUS
.value
,
608 VRDefaultActionprofiles
.OCULUS
.value
,
609 ["/input/thumbstick/y"],
613 vr_defaults_actionbinding_add(ami
,
614 VRDefaultActionbindings
.REVERB_G2
.value
,
615 VRDefaultActionprofiles
.REVERB_G2
.value
,
616 ["/input/thumbstick/y"],
620 vr_defaults_actionbinding_add(ami
,
621 VRDefaultActionbindings
.VIVE
.value
,
622 VRDefaultActionprofiles
.VIVE
.value
,
623 ["/input/trackpad/y"],
627 vr_defaults_actionbinding_add(ami
,
628 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
629 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
630 ["/input/thumbstick/y"],
634 vr_defaults_actionbinding_add(ami
,
635 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
636 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
637 ["/input/thumbstick/y"],
641 vr_defaults_actionbinding_add(ami
,
642 VRDefaultActionbindings
.WMR
.value
,
643 VRDefaultActionprofiles
.WMR
.value
,
644 ["/input/thumbstick/y"],
649 ami
= vr_defaults_action_add(am
,
650 VRDefaultActions
.FLY_LEFT
.value
,
652 "wm.xr_navigation_fly",
662 vr_defaults_actionbinding_add(ami
,
663 VRDefaultActionbindings
.HUAWEI
.value
,
664 VRDefaultActionprofiles
.HUAWEI
.value
,
665 ["/input/trackpad/x"],
669 vr_defaults_actionbinding_add(ami
,
670 VRDefaultActionbindings
.INDEX
.value
,
671 VRDefaultActionprofiles
.INDEX
.value
,
672 ["/input/thumbstick/x"],
676 vr_defaults_actionbinding_add(ami
,
677 VRDefaultActionbindings
.OCULUS
.value
,
678 VRDefaultActionprofiles
.OCULUS
.value
,
679 ["/input/thumbstick/x"],
683 vr_defaults_actionbinding_add(ami
,
684 VRDefaultActionbindings
.REVERB_G2
.value
,
685 VRDefaultActionprofiles
.REVERB_G2
.value
,
686 ["/input/thumbstick/x"],
690 vr_defaults_actionbinding_add(ami
,
691 VRDefaultActionbindings
.VIVE
.value
,
692 VRDefaultActionprofiles
.VIVE
.value
,
693 ["/input/trackpad/x"],
697 vr_defaults_actionbinding_add(ami
,
698 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
699 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
700 ["/input/thumbstick/x"],
704 vr_defaults_actionbinding_add(ami
,
705 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
706 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
707 ["/input/thumbstick/x"],
711 vr_defaults_actionbinding_add(ami
,
712 VRDefaultActionbindings
.WMR
.value
,
713 VRDefaultActionprofiles
.WMR
.value
,
714 ["/input/thumbstick/x"],
719 ami
= vr_defaults_action_add(am
,
720 VRDefaultActions
.FLY_RIGHT
.value
,
722 "wm.xr_navigation_fly",
732 vr_defaults_actionbinding_add(ami
,
733 VRDefaultActionbindings
.HUAWEI
.value
,
734 VRDefaultActionprofiles
.HUAWEI
.value
,
735 ["/input/trackpad/x"],
739 vr_defaults_actionbinding_add(ami
,
740 VRDefaultActionbindings
.INDEX
.value
,
741 VRDefaultActionprofiles
.INDEX
.value
,
742 ["/input/thumbstick/x"],
746 vr_defaults_actionbinding_add(ami
,
747 VRDefaultActionbindings
.OCULUS
.value
,
748 VRDefaultActionprofiles
.OCULUS
.value
,
749 ["/input/thumbstick/x"],
753 vr_defaults_actionbinding_add(ami
,
754 VRDefaultActionbindings
.REVERB_G2
.value
,
755 VRDefaultActionprofiles
.REVERB_G2
.value
,
756 ["/input/thumbstick/x"],
760 vr_defaults_actionbinding_add(ami
,
761 VRDefaultActionbindings
.VIVE
.value
,
762 VRDefaultActionprofiles
.VIVE
.value
,
763 ["/input/trackpad/x"],
767 vr_defaults_actionbinding_add(ami
,
768 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
769 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
770 ["/input/thumbstick/x"],
774 vr_defaults_actionbinding_add(ami
,
775 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
776 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
777 ["/input/thumbstick/x"],
781 vr_defaults_actionbinding_add(ami
,
782 VRDefaultActionbindings
.WMR
.value
,
783 VRDefaultActionprofiles
.WMR
.value
,
784 ["/input/thumbstick/x"],
789 ami
= vr_defaults_action_add(am
,
790 VRDefaultActions
.FLY_UP
.value
,
791 ["/user/hand/right"],
792 "wm.xr_navigation_fly",
802 vr_defaults_actionbinding_add(ami
,
803 VRDefaultActionbindings
.HUAWEI
.value
,
804 VRDefaultActionprofiles
.HUAWEI
.value
,
805 ["/input/trackpad/y"],
809 vr_defaults_actionbinding_add(ami
,
810 VRDefaultActionbindings
.INDEX
.value
,
811 VRDefaultActionprofiles
.INDEX
.value
,
812 ["/input/thumbstick/y"],
816 vr_defaults_actionbinding_add(ami
,
817 VRDefaultActionbindings
.OCULUS
.value
,
818 VRDefaultActionprofiles
.OCULUS
.value
,
819 ["/input/thumbstick/y"],
823 vr_defaults_actionbinding_add(ami
,
824 VRDefaultActionbindings
.REVERB_G2
.value
,
825 VRDefaultActionprofiles
.REVERB_G2
.value
,
826 ["/input/thumbstick/y"],
830 vr_defaults_actionbinding_add(ami
,
831 VRDefaultActionbindings
.VIVE
.value
,
832 VRDefaultActionprofiles
.VIVE
.value
,
833 ["/input/trackpad/y"],
837 vr_defaults_actionbinding_add(ami
,
838 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
839 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
840 ["/input/thumbstick/y"],
844 vr_defaults_actionbinding_add(ami
,
845 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
846 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
847 ["/input/thumbstick/y"],
851 vr_defaults_actionbinding_add(ami
,
852 VRDefaultActionbindings
.WMR
.value
,
853 VRDefaultActionprofiles
.WMR
.value
,
854 ["/input/thumbstick/y"],
859 ami
= vr_defaults_action_add(am
,
860 VRDefaultActions
.FLY_DOWN
.value
,
861 ["/user/hand/right"],
862 "wm.xr_navigation_fly",
872 vr_defaults_actionbinding_add(ami
,
873 VRDefaultActionbindings
.HUAWEI
.value
,
874 VRDefaultActionprofiles
.HUAWEI
.value
,
875 ["/input/trackpad/y"],
879 vr_defaults_actionbinding_add(ami
,
880 VRDefaultActionbindings
.INDEX
.value
,
881 VRDefaultActionprofiles
.INDEX
.value
,
882 ["/input/thumbstick/y"],
886 vr_defaults_actionbinding_add(ami
,
887 VRDefaultActionbindings
.OCULUS
.value
,
888 VRDefaultActionprofiles
.OCULUS
.value
,
889 ["/input/thumbstick/y"],
893 vr_defaults_actionbinding_add(ami
,
894 VRDefaultActionbindings
.REVERB_G2
.value
,
895 VRDefaultActionprofiles
.REVERB_G2
.value
,
896 ["/input/thumbstick/y"],
900 vr_defaults_actionbinding_add(ami
,
901 VRDefaultActionbindings
.VIVE
.value
,
902 VRDefaultActionprofiles
.VIVE
.value
,
903 ["/input/trackpad/y"],
907 vr_defaults_actionbinding_add(ami
,
908 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
909 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
910 ["/input/thumbstick/y"],
914 vr_defaults_actionbinding_add(ami
,
915 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
916 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
917 ["/input/thumbstick/y"],
921 vr_defaults_actionbinding_add(ami
,
922 VRDefaultActionbindings
.WMR
.value
,
923 VRDefaultActionprofiles
.WMR
.value
,
924 ["/input/thumbstick/y"],
929 ami
= vr_defaults_action_add(am
,
930 VRDefaultActions
.FLY_TURNLEFT
.value
,
931 ["/user/hand/right"],
932 "wm.xr_navigation_fly",
942 vr_defaults_actionbinding_add(ami
,
943 VRDefaultActionbindings
.HUAWEI
.value
,
944 VRDefaultActionprofiles
.HUAWEI
.value
,
945 ["/input/trackpad/x"],
949 vr_defaults_actionbinding_add(ami
,
950 VRDefaultActionbindings
.INDEX
.value
,
951 VRDefaultActionprofiles
.INDEX
.value
,
952 ["/input/thumbstick/x"],
956 vr_defaults_actionbinding_add(ami
,
957 VRDefaultActionbindings
.OCULUS
.value
,
958 VRDefaultActionprofiles
.OCULUS
.value
,
959 ["/input/thumbstick/x"],
963 vr_defaults_actionbinding_add(ami
,
964 VRDefaultActionbindings
.REVERB_G2
.value
,
965 VRDefaultActionprofiles
.REVERB_G2
.value
,
966 ["/input/thumbstick/x"],
970 vr_defaults_actionbinding_add(ami
,
971 VRDefaultActionbindings
.VIVE
.value
,
972 VRDefaultActionprofiles
.VIVE
.value
,
973 ["/input/trackpad/x"],
977 vr_defaults_actionbinding_add(ami
,
978 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
979 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
980 ["/input/thumbstick/x"],
984 vr_defaults_actionbinding_add(ami
,
985 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
986 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
987 ["/input/thumbstick/x"],
991 vr_defaults_actionbinding_add(ami
,
992 VRDefaultActionbindings
.WMR
.value
,
993 VRDefaultActionprofiles
.WMR
.value
,
994 ["/input/thumbstick/x"],
999 ami
= vr_defaults_action_add(am
,
1000 VRDefaultActions
.FLY_TURNRIGHT
.value
,
1001 ["/user/hand/right"],
1002 "wm.xr_navigation_fly",
1012 vr_defaults_actionbinding_add(ami
,
1013 VRDefaultActionbindings
.HUAWEI
.value
,
1014 VRDefaultActionprofiles
.HUAWEI
.value
,
1015 ["/input/trackpad/x"],
1019 vr_defaults_actionbinding_add(ami
,
1020 VRDefaultActionbindings
.INDEX
.value
,
1021 VRDefaultActionprofiles
.INDEX
.value
,
1022 ["/input/thumbstick/x"],
1026 vr_defaults_actionbinding_add(ami
,
1027 VRDefaultActionbindings
.OCULUS
.value
,
1028 VRDefaultActionprofiles
.OCULUS
.value
,
1029 ["/input/thumbstick/x"],
1033 vr_defaults_actionbinding_add(ami
,
1034 VRDefaultActionbindings
.REVERB_G2
.value
,
1035 VRDefaultActionprofiles
.REVERB_G2
.value
,
1036 ["/input/thumbstick/x"],
1040 vr_defaults_actionbinding_add(ami
,
1041 VRDefaultActionbindings
.VIVE
.value
,
1042 VRDefaultActionprofiles
.VIVE
.value
,
1043 ["/input/trackpad/x"],
1047 vr_defaults_actionbinding_add(ami
,
1048 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
1049 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
1050 ["/input/thumbstick/x"],
1054 vr_defaults_actionbinding_add(ami
,
1055 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
1056 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
1057 ["/input/thumbstick/x"],
1061 vr_defaults_actionbinding_add(ami
,
1062 VRDefaultActionbindings
.WMR
.value
,
1063 VRDefaultActionprofiles
.WMR
.value
,
1064 ["/input/thumbstick/x"],
1069 ami
= vr_defaults_action_add(am
,
1070 VRDefaultActions
.NAV_RESET
.value
,
1072 "/user/hand/right"],
1073 "wm.xr_navigation_reset",
1083 vr_defaults_actionbinding_add(ami
,
1084 VRDefaultActionbindings
.HUAWEI
.value
,
1085 VRDefaultActionprofiles
.HUAWEI
.value
,
1086 ["/input/back/click",
1087 "/input/back/click"],
1091 vr_defaults_actionbinding_add(ami
,
1092 VRDefaultActionbindings
.INDEX
.value
,
1093 VRDefaultActionprofiles
.INDEX
.value
,
1099 vr_defaults_actionbinding_add(ami
,
1100 VRDefaultActionbindings
.OCULUS
.value
,
1101 VRDefaultActionprofiles
.OCULUS
.value
,
1107 vr_defaults_actionbinding_add(ami
,
1108 VRDefaultActionbindings
.REVERB_G2
.value
,
1109 VRDefaultActionprofiles
.REVERB_G2
.value
,
1115 vr_defaults_actionbinding_add(ami
,
1116 VRDefaultActionbindings
.VIVE
.value
,
1117 VRDefaultActionprofiles
.VIVE
.value
,
1118 ["/input/menu/click",
1119 "/input/menu/click"],
1123 vr_defaults_actionbinding_add(ami
,
1124 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
1125 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
1131 vr_defaults_actionbinding_add(ami
,
1132 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
1133 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
1139 vr_defaults_actionbinding_add(ami
,
1140 VRDefaultActionbindings
.WMR
.value
,
1141 VRDefaultActionprofiles
.WMR
.value
,
1142 ["/input/menu/click",
1143 "/input/menu/click"],
1148 ami
= vr_defaults_haptic_action_add(am
,
1149 VRDefaultActions
.HAPTIC
.value
,
1151 "/user/hand/right"])
1153 vr_defaults_haptic_actionbinding_add(ami
,
1154 VRDefaultActionbindings
.HUAWEI
.value
,
1155 VRDefaultActionprofiles
.HUAWEI
.value
,
1158 vr_defaults_haptic_actionbinding_add(ami
,
1159 VRDefaultActionbindings
.INDEX
.value
,
1160 VRDefaultActionprofiles
.INDEX
.value
,
1163 vr_defaults_haptic_actionbinding_add(ami
,
1164 VRDefaultActionbindings
.OCULUS
.value
,
1165 VRDefaultActionprofiles
.OCULUS
.value
,
1168 vr_defaults_haptic_actionbinding_add(ami
,
1169 VRDefaultActionbindings
.REVERB_G2
.value
,
1170 VRDefaultActionprofiles
.REVERB_G2
.value
,
1173 vr_defaults_haptic_actionbinding_add(ami
,
1174 VRDefaultActionbindings
.SIMPLE
.value
,
1175 VRDefaultActionprofiles
.SIMPLE
.value
,
1178 vr_defaults_haptic_actionbinding_add(ami
,
1179 VRDefaultActionbindings
.VIVE
.value
,
1180 VRDefaultActionprofiles
.VIVE
.value
,
1183 vr_defaults_haptic_actionbinding_add(ami
,
1184 VRDefaultActionbindings
.VIVE_COSMOS
.value
,
1185 VRDefaultActionprofiles
.VIVE_COSMOS
.value
,
1188 vr_defaults_haptic_actionbinding_add(ami
,
1189 VRDefaultActionbindings
.VIVE_FOCUS
.value
,
1190 VRDefaultActionprofiles
.VIVE_FOCUS
.value
,
1193 vr_defaults_haptic_actionbinding_add(ami
,
1194 VRDefaultActionbindings
.WMR
.value
,
1195 VRDefaultActionprofiles
.WMR
.value
,
1200 def vr_defaults_create_default_gamepad(session_state
):
1201 am
= vr_defaults_actionmap_add(session_state
,
1202 VRDefaultActionmaps
.GAMEPAD
.value
)
1204 ami
= vr_defaults_action_add(am
,
1205 VRDefaultActions
.TELEPORT
.value
,
1207 "wm.xr_navigation_teleport",
1217 vr_defaults_actionbinding_add(ami
,
1218 VRDefaultActionbindings
.GAMEPAD
.value
,
1219 VRDefaultActionprofiles
.GAMEPAD
.value
,
1220 ["/input/trigger_right/value"],
1225 ami
= vr_defaults_action_add(am
,
1226 VRDefaultActions
.FLY
.value
,
1228 "wm.xr_navigation_fly",
1238 vr_defaults_actionbinding_add(ami
,
1239 VRDefaultActionbindings
.GAMEPAD
.value
,
1240 VRDefaultActionprofiles
.GAMEPAD
.value
,
1241 ["/input/trigger_left/value"],
1246 ami
= vr_defaults_action_add(am
,
1247 VRDefaultActions
.FLY_FORWARD
.value
,
1249 "wm.xr_navigation_fly",
1259 vr_defaults_actionbinding_add(ami
,
1260 VRDefaultActionbindings
.GAMEPAD
.value
,
1261 VRDefaultActionprofiles
.GAMEPAD
.value
,
1262 ["/input/thumbstick_left/y"],
1267 ami
= vr_defaults_action_add(am
,
1268 VRDefaultActions
.FLY_BACK
.value
,
1270 "wm.xr_navigation_fly",
1280 vr_defaults_actionbinding_add(ami
,
1281 VRDefaultActionbindings
.GAMEPAD
.value
,
1282 VRDefaultActionprofiles
.GAMEPAD
.value
,
1283 ["/input/thumbstick_left/y"],
1288 ami
= vr_defaults_action_add(am
,
1289 VRDefaultActions
.FLY_LEFT
.value
,
1291 "wm.xr_navigation_fly",
1301 vr_defaults_actionbinding_add(ami
,
1302 VRDefaultActionbindings
.GAMEPAD
.value
,
1303 VRDefaultActionprofiles
.GAMEPAD
.value
,
1304 ["/input/thumbstick_left/x"],
1309 ami
= vr_defaults_action_add(am
,
1310 VRDefaultActions
.FLY_RIGHT
.value
,
1312 "wm.xr_navigation_fly",
1322 vr_defaults_actionbinding_add(ami
,
1323 VRDefaultActionbindings
.GAMEPAD
.value
,
1324 VRDefaultActionprofiles
.GAMEPAD
.value
,
1325 ["/input/thumbstick_left/x"],
1330 ami
= vr_defaults_action_add(am
,
1331 VRDefaultActions
.FLY_UP
.value
,
1333 "wm.xr_navigation_fly",
1343 vr_defaults_actionbinding_add(ami
,
1344 VRDefaultActionbindings
.GAMEPAD
.value
,
1345 VRDefaultActionprofiles
.GAMEPAD
.value
,
1346 ["/input/thumbstick_right/y"],
1351 ami
= vr_defaults_action_add(am
,
1352 VRDefaultActions
.FLY_DOWN
.value
,
1354 "wm.xr_navigation_fly",
1364 vr_defaults_actionbinding_add(ami
,
1365 VRDefaultActionbindings
.GAMEPAD
.value
,
1366 VRDefaultActionprofiles
.GAMEPAD
.value
,
1367 ["/input/thumbstick_right/y"],
1372 ami
= vr_defaults_action_add(am
,
1373 VRDefaultActions
.FLY_TURNLEFT
.value
,
1375 "wm.xr_navigation_fly",
1385 vr_defaults_actionbinding_add(ami
,
1386 VRDefaultActionbindings
.GAMEPAD
.value
,
1387 VRDefaultActionprofiles
.GAMEPAD
.value
,
1388 ["/input/thumbstick_right/x"],
1393 ami
= vr_defaults_action_add(am
,
1394 VRDefaultActions
.FLY_TURNRIGHT
.value
,
1396 "wm.xr_navigation_fly",
1406 vr_defaults_actionbinding_add(ami
,
1407 VRDefaultActionbindings
.GAMEPAD
.value
,
1408 VRDefaultActionprofiles
.GAMEPAD
.value
,
1409 ["/input/thumbstick_right/x"],
1414 ami
= vr_defaults_action_add(am
,
1415 VRDefaultActions
.NAV_RESET
.value
,
1417 "wm.xr_navigation_reset",
1427 vr_defaults_actionbinding_add(ami
,
1428 VRDefaultActionbindings
.GAMEPAD
.value
,
1429 VRDefaultActionprofiles
.GAMEPAD
.value
,
1435 ami
=vr_defaults_haptic_action_add(am
,
1436 VRDefaultActions
.HAPTIC_LEFT
.value
,
1439 vr_defaults_haptic_actionbinding_add(ami
,
1440 VRDefaultActionbindings
.GAMEPAD
.value
,
1441 VRDefaultActionprofiles
.GAMEPAD
.value
,
1442 ["/output/haptic_left"])
1444 ami
=vr_defaults_haptic_action_add(am
,
1445 VRDefaultActions
.HAPTIC_RIGHT
.value
,
1448 vr_defaults_haptic_actionbinding_add(ami
,
1449 VRDefaultActionbindings
.GAMEPAD
.value
,
1450 VRDefaultActionprofiles
.GAMEPAD
.value
,
1451 ["/output/haptic_right"])
1453 ami
= vr_defaults_haptic_action_add(am
,
1454 VRDefaultActions
.HAPTIC_LEFTTRIGGER
.value
,
1457 vr_defaults_haptic_actionbinding_add(ami
,
1458 VRDefaultActionbindings
.GAMEPAD
.value
,
1459 VRDefaultActionprofiles
.GAMEPAD
.value
,
1460 ["/output/haptic_left_trigger"])
1462 ami
= vr_defaults_haptic_action_add(am
,
1463 VRDefaultActions
.HAPTIC_RIGHTTRIGGER
.value
,
1466 vr_defaults_haptic_actionbinding_add(ami
,
1467 VRDefaultActionbindings
.GAMEPAD
.value
,
1468 VRDefaultActionprofiles
.GAMEPAD
.value
,
1469 ["/output/haptic_right_trigger"])
1472 def vr_get_default_config_path():
1473 filepath
= os
.path
.join(os
.path
.dirname(os
.path
.abspath(__file__
)), "configs")
1474 return os
.path
.join(filepath
, "default.py")
1477 def vr_ensure_default_actionmaps(session_state
):
1480 for name
in VRDefaultActionmaps
:
1481 if not session_state
.actionmaps
.find(session_state
, name
.value
):
1488 # Load default action maps.
1489 filepath
= vr_get_default_config_path()
1491 if not os
.path
.exists(filepath
):
1492 # Create and save default action maps.
1493 vr_defaults_create_default(session_state
)
1494 vr_defaults_create_default_gamepad(session_state
)
1496 action_map
.vr_save_actionmaps(session_state
, filepath
, sort
=False)
1498 loaded
= action_map
.vr_load_actionmaps(session_state
, filepath
)