Tasker 이용 키보드 자동변환하기

최근에 갤럭시 탭 S7+ 키보드 (xeriars.com/278) 를 구매한 후 사용중인데, 한가지 불편한 점이 있다.

세벌식 키배열을 사용하다보니 키보드로 사용할 땐 불편한점이 없는데, 아무래도 터치로 쓰기엔 불편한 점이 있다.

그래서 본체만 사용할 땐 삼성키보드를 사용하고, 키보드 케이스를 붙여서 사용할 땐 세벌식 키보드 앱으로 변경해서 사용했었는데, 매번 이러기엔 미친짓이라는게 중론.

그래서 테스커를 이용해서 사용할 수 있는 방법을 찾아봤는데, 역시나 방법이 있다.

최근 테스커에서는 화면 강제 자동회전(Force rotation)도 지원하므로 키보드 케이스를 붙이면 자동으로 가로모드로 돌려주므로 매우 편리하게 사용할 수 있다.

준비물 : Tasker (유료앱), Securetask (무료앱)

단, Tasker의 Force rotation기능과 Securetask를 활성화하기 위해서는 ADB로 사전에 작업을 좀 해주어야 사용이 가능하다.



1. Tasker에 들어가서 Task탭에서 작업을 생성해야한다.

우측 하단 + 버튼 터치



2. 전역변수를 세팅해주는 task이며, 이름은 대충 keyboard_var_set으로 지었다.

우측 하단 + 버튼을 눌러 Action을 선택할 것이다.



3. Action목록 하단에 보면 Plugin이 있다. Securetask의 plugin을 사용하기 때문.

Plugin 터치



4. Securetask 터치



5. 여러 Action중 “Secure Settings”을 선택한다.



6. 우측상단 Configuration을 설정하기 위해 연필모양 아이콘을 터치한다.



7. Action은 “Read”를 선택하고 Setting에서 돋보기 모양 아이콘을 터치한다.



8. 여러 설정값 중 “Default input method [SECURE]”를 선택한다.



9. Setting에 “secure default_input_method”가 입력된 것을 확인한 후 결과값을 저장할 지역변수를 지정한다.

일단 %keyboard에 저장한다. 단 여기에 입력할 땐 스크린샷처럼 %를 빼고 입력한다.

이렇게 하면 현재 사용중인 키보드 앱 패키지명이 %keyboard라는 지역변수에 저장된다.



10. 설정값이 모두 지정되었으므로 빠져나온다.


11. 이제 또 액션을 추가한다. 이번에는 Variables를 터치



12. 여러 종류 중 Variable Set을 선택한다.



13. 아까 키보드 앱을 읽어온 지역변수(%keyboard)에서 전역변수(%Keytab)에 저장 할 수 있도록 지정한다.

모르는 사람을 위해 조금 더 쓰자면 지역변수와 전역변수의 차이점은 간단한데,

지역변수는 쉽게 말해 현재의 task(keyboard_var_set)의 실행이 종료되면 변수의 내용이 사라지는데 반해,

전역변수는 task가 종료된다고 해도 계속 값을 저장하고 있기 때문에, 다른 task에서도 사용해야 하는 값이라 저장이 필요한 경우에 사용한다.

14. 좌측 하단의 ▶를 터치하면 각 Action 옆에 스샷처럼 녹색불이 들어오는데, 애러(적색불)가 나는 경우에는 99% 확률로 사전에 ADB작업을 해주지 않은 경우이다.

이 경우에는 Securetask앱을 실행해보면 어떻게 해야하는지 나와있으므로 별도의 설명은 패스한다.



15. 이제 변수목록을 보면 조금전에 저장한 전역변수(%Keytab)값이 삼성키보드 앱 패키지명으로 저장되어 있는 것이 보인다.

이제 세벌식 키배열 앱도 동일하게 설정해주어야 한다.



16. 설정에서 입력방법을 설정해주면 되는데, 개인적으로는 세삭 세벌식 입력기를 사용하고 있기 때문에 이것으로 진행을 한다.

일단 입력방법 위와 같이 변경해주고 빠져나온다.



17. 아까 만들어둔 Task (keyboard_var_set)에서 변수명만 변경해서 재사용할것이다. 아까는 전역변수명을 %Keytab으로 해두었으니, 이번엔 %Keycase로 지정해두었다.



18. 마찬가지로 실행을 한번 해주고, 녹색불이 들어와 있는지 확인한다.



19. 변수가 모두 입력된 것을 확인한다.

%Keycase에는 케이스 사용 시 사용할 앱 (세삭 세벌식 입력기) 패키지 명이 저장되어있고,

%Keytab에는 케이스 미사용시 사용할 앱 (삼성 키보드) 패키지 명이 저장된 상태이다.



20. 이제 새로운 Task를 만든다. 개인적으로는 변수명과 동일하게 Keycase, Keytab으로 만들었다.

액션을 추가하는 방법은 아까와 동일(Plugin → Securetask → Secure settings)하지만, 이번에는 패키지명을 읽어오는(Read)게 아닌 쓰는(Write)것이 목적이므로 Action을 Write로 설정한다.

Setting값은 secure default input method이고, %Keycase를 입력해주면

현재 입력기 설정 앱을 %Keycase(삼성키보드)에 저장된 값으로 변경해줄 수 있다.



21. 마찬가지로 Task를 하나 더 만들어서 이번에는 %Keytab 변수에 저장된 값(세삭 세벌식 입력기)을 쓸 수 있도록 한다.



22. 이렇게 3가지 Task를 만들었다. 이제 keyboard_var_set은 삭제해도 무방하다. 나중을 위해서 남겨둬도 좋고.

뭐 편할대로 해도 괜찮다.



23. 이제 실행조건(Profile)을 만들어줄 차례. 우측 하단 +버튼을 터치하면 여러 조건들이 나오는데,

그 중에서 “State”를 선택한다.



24. Hardware를 선택한다. 키보드케이스도 일종의 외부장치이기 때문에 하드웨어에서 설정가능하다.



25. Keyboard Out을 선택한다.

이건 키보드를 장착해제했을때가 아닌, 외장(Out) 키보드를 사용할 때를 의미한다.



26. 발동조건과 조건이 일치시 실행할 Task를 선택해준다. keycase를 선택.

이것을 풀어서 쓰면 다음과 같다.

만약 “키보드가 연결” 되면 “keycase” task를 실행.



27. 반대의 작업(키보드 연결 해제)도 선택해준다. keytab task를 선택해주면 완료된다.

개인적으로는 keytab (태블릿 본체만 사용) task에는 Force rotation을 추가해서 강제로 portrait (세로 고정)을 사용하고

keycase (키보드 케이스 사용) task에는 Force roration에서 Landscape를 설정해서 화면회전까지 되도록 하여 사용중에 있다.

이 부분은 간단한 부분이라서 별도의 설명을 넣진 않았다.

이런식으로 자동화를 한번 설정해주고 나면 키보드 연결해줄 때 별도의 키보드 앱을 변경해줄 필요도, 화면 회전을 번거롭게 해줄 필요도 없어서 매우 편리하게 이용이 가능하다.

결론 : Tasker는 사람을 게으르게 만들어주는 앱인듯 싶다..

댓글 남기기