오큘러스 리프트 S 터치 컨트롤러 인식 오류 해결하는 방법.

오큘러스 리프트 S의 에러 상태
오큘러스 리프트 S

우리집 오큘러스 리프트(Oculus Rift S)는 Left, Right 터치 컨트롤러가 2개씩 생기거나 정신 못차리고 인식에 오류가 있을 때가 많다.

 

USB 연결이 불량인것인지 오큘러스 블루투스 컨트롤러가 이상한것 같기도하고, 지금 사용중인 Windows10 윈도우 상태가 좀 이상한 것 같기도 하다. (무튼 이상하다...)

 

오큘러스 리프트 S의 에러
에러가 발생했다!!

 

근본적인 해결책은 찾지 못했지만, 이런 문제가 생길때 오큘러스 리프트 기기를 재설정하는 것으로 해결이하면서 사용중이다.

 

문제는! 비트세이버를 너무 너무 좋아하시는 우리 와이프님께서는 터치 컨트롤러 오류 문제가 생겼을때 재설정 직접하기 어렵다는 것!

 

그래서 와이프님께서 오큘러스 리프트 터치 컨트롤러 오류를 쉽게 해결 하실수 있도록 간단한 배치명령 아이콘을 실행해 해결할 수 있도록 아이콘을 만들어두었다.

 

"자기야~♥ 안될때 이것만 따닥! 하고 누르면 돼~" 라고 할 수 있도록 말이다.

 

실행계획은 이렇다.

1. 사전에 Safe Zone 등을 잘 설정해 놓은 Best 상태를 백업한 후. (## 백업: 내가 한번만 하면)

2. 오류 설정을 날려 버리고 정상 상태로 만들수 있으면 된다. (## 복구: 마눌님이 해결 할 수 있게)

 

- 아래 스크립트로 백업과 복구를 할 수 있다. -

echo off
net stop OVRService
REM ## 백업
if not exist %LOCALAPPDATA%\Oculus\DeviceCache_best.json copy %LOCALAPPDATA%\Oculus\DeviceCache.json %LOCALAPPDATA%\Oculus\DeviceCache_best.json
REM ## 복원
copy /Y %LOCALAPPDATA%\Oculus\DeviceCache_best.json %LOCALAPPDATA%\Oculus\DeviceCache.json
net start OVRService

 

 

1. 실행파일 만들기.

백업과 복구를 위해 실행파일을 하나 만들기 위해  탐색기(단축키: Win+E)의 보기 옵션을 수정한다.

 (윈도우 탐색기에서 "파일 확장명" 부분이 체크 되도록 한다)

탐색기 옵션을 변경한다
탐색기 옵션

 

"Touch_recover.bat" 로 배치 실행 파일을 하나 만든다.

bat 배치파일을 만들자
bat 배치파일을 만들자

 

bat로 확장자를 정하면 경고가 뜨는데 그냥 "예"를 누른다.

예 변경해주세요!
예 변경해주세요!

 

 

2. 스크립트 내용 작성.

편집을 위해 오른쪽 버튼으로 실행 파일을 수정하자. (오른쪽 버튼 메뉴에서 편집을 누른다)

메모장으로 편집
메모장으로 편집

 

아래의 내용을 입력해준다. 이 스크립트를 통해서 오큘러스 터치 컨트롤러의 설정을 백업하고 복구할 수 있다.

echo off
net stop OVRService
REM ## 백업
if not exist %LOCALAPPDATA%\Oculus\DeviceCache_best.json copy %LOCALAPPDATA%\Oculus\DeviceCache.json %LOCALAPPDATA%\Oculus\DeviceCache_best.json
REM ## 복원
copy /Y %LOCALAPPDATA%\Oculus\DeviceCache_best.json %LOCALAPPDATA%\Oculus\DeviceCache.json
net start OVRService

스크립트 내용

입력후 저장한다.

Ctrl + S 로 저장해도 된다.
Ctrl + S 로 저장해도 된다.

 

3. 바로가기 생성. (속성: 관리자권한으로 실행)

스크립트 저장까지 완료 했다면 실행파일에 "바로가기"를 생성하자.

바로가기 만들기
바로가기 만들기

 

4. 바로가기 속성에  "관리자 권한으로 실행" 을 추가 한다.

만들어진 "바로가기" 아이콘이 관리자권한으로 항상 실행 되도록 속성을 수정하자.

(매번 오른클릭으로 "관리자 권한으로 실행" 누르기 귀잖으니까. ^^;;;)

속성을 변경하러 가보자
속성을 변경하러 가보자

 

 속성창에서 [바로가기] 탭을 선택하고 -> 고급 -> [체크] 관리자 권한으로 실행 -> 고급속성창 [확인] -> 바로가기 속성창 [확인] 을 눌러준다.

관리자 권한이 필요하다
관리자 권한이 필요하다

 

스크립트를 사용 해보자

1. 최대한 잘 설정된 오큘러스 리프트의 터치 컨트롤러 상태를 백업하자. (첫 실행)

정상적인 상태에서 백업을 하도록 하자.

정상 상태에서 진행한다

 

[ Touch_recover.bat - 바로가기 ] 를 실행하면.

스크립트에 의해 현재 설정이 %LOCALAPPDATA%\Oculus\DeviceCache_best.json 로 백업된다.

배치파일을 실행할 수 있는 바로가기를 실행할 수 있다
이제 이것만 실행하면 된다

 

실행시 아래와 같이 경고 메시지가 뜬다. "예" 를 눌러 준다. (설치되어 있는 오큘러스 서비스를 재시작하기 때문이다.)

관리자 권한으로 실행한다

 

관리자권한으로 실행되면서 백업후 오큘러스 서비스(OVRService)가 리스타트 된다.

 

2. 오큘러스 리프트의 터치 컨트롤러 설정을 복구 한다. (오류 상태에서)

문제가 있을때 주황색불이 떠 있다면. 

에러가 발생한 상태

[ Touch_recover.bat - 바로가기 ] 를 실행하면: %LOCALAPPDATA%\Oculus\DeviceCache.json을  백업해 두었던 파일(%LOCALAPPDATA%\Oculus\DeviceCache_best.json)로 덮어 씌운다.

만들어놓은 바로가기를 실행한다
만들어놓은 바로가기를 실행한다

 

 

컨트롤러 문제를 해결 하도록 "예" 를 눌러 준다.

관리자권한으로 실행
관리자권한으로 실행

스크립트에 의해 오큘러스 리프트 S의 터치 컨트롤러 정보를 복구하면서 오큘러스 서비스가 리스타트 되고 오큘러스 상태가 정상으로(녹색) 돌아오면 OK 다.

(돌아와라~ 그린라이트!!.)

정상 상태가 되었다
정상 상태가 되었다


마치며.

간단한 스크립트이긴 하지만. 이제 와이프님께 오큘러스 리프트로 게임을 하다가 터치 컨트롤러 오류문제가 생겼을때

"이걸 떠블클릭 실행하고 5분 있다가 다시 하면 돼~" 라고 말씀 드리면 된다. ^^/

이걸 실행시키라고!
이걸 실행시키라고!

 

Tip. 설정을 다시 백업하고 싶을때는 %LOCALAPPDATA%\Oculus\DeviceCache_best.json 을 삭제하고

다시 실행하면 스크립트에 의해 터치 컨트롤러 설정을 DeviceCache_best.json 으로 백업한다.