type virtual_touchpad, domain; type virtual_touchpad_exec, system_file_type, exec_type, file_type; binder_use(virtual_touchpad) binder_service(virtual_touchpad) add_service(virtual_touchpad, virtual_touchpad_service) # Needed to check app permissions. binder_call(virtual_touchpad, system_server) # Requires access to /dev/uinput to create and feed the virtual device. allow virtual_touchpad uhid_device:chr_file { w_file_perms ioctl }; # Requires access to the permission service to validate that clients have the # appropriate VR permissions. allow virtual_touchpad permission_service:service_manager find;