passu
TRANSCRIPT
Pass Your devices via Network
Team 패쓰유윤재석 , 김 찬 , 최현빈 , 함영식
PassU 개발 동기1.
TABLE OF CONTENTS
2.PassU 개발 목표
3.PassU 기술 소개
4.데모 , Q & A
다중 PC 환경 사용자의 증가1. 2. 3.다중 PC 환경의 불편함 다중 PC 환경을 위한 프로그램
선정 배경
각각의 PC 마다 각기
다른 환경을 구축할 수 있어서 작업 효율의 편의를 제공한다 .
그러나 각각의 PC 마다
입력장치를사용해야 한다 .
‘Input Director’‘Synergy’기존 프로그램이 존재하지만PC - Android 불가능
개발 동기
그래서 passU 를 만들었습니다 .
다중 PC 환경을 위한 프로그램 개발 가능성 확보
단순한 입력장치 공유 뿐만이 아니라 USB, 시리얼통신 , 블루투스 , 사운드 등의다양한 장치를 공유하는 솔루션을 제작 가능성 확보
2
Pass Your devices via Network
1 기존 다중 PC 환경을 위한 프로그램이 가진 한계점 개선
PC 와 PC 뿐만이 아닌 PC 와 안드로이드 간의 입력장치를 공유할 수 있는 프로그램
개발 목표
기존 다중 PC 환경을 위한 프로그램이 가진 한계점 개선
PC 와 PC 뿐만이 아닌 PC 와 안드로이드 간의 입력장치를 공유할 수 있는 프로그램
1
• Windows – Windows 간 입력장치 ( 키보드 , 마우스 ) 를 공유하여 한 쌍의 입력장치로 다중 PC 환경을 제어할 수 있도록 하는 기능을 구현한다 .
• 또한 , 안드로이드 스마트폰에 가상 마우스 컨트롤러를 올려 동일한 입력장치로 안드로이드 스마트폰을 제어할 수 있도록 구현한다 .
Pass Your devices via Network개발 목표
개발 목표
2
• 현재까지는 마우스 , 키보드 입력장치만을 공유하는 것으로 마무리
• 단순한 입력장치 공유 뿐만이 다양한 장치를 공유할 수 있는 기반을 구현한다 .
다중 PC 환경을 위한 프로그램 개발 가능성 확보
단순한 입력장치 공유 뿐만이 아니라 USB, 시리얼통신 , 블루투스 , 사운드 등의다양한 장치를 공유하는 솔루션을 제작 가능성 확보
Pass Your devices via Network
시스템 구성도 Pass Your devices via Network
멀티쓰레드 서버 구현
PC 간 통신을 위한 서버는 멀티쓰레드로 구현하여둘 이상의 다중 PC 환경에서도 입력장치 공유할 수 있도록구현하였다 .
기술 소개 1. Input Device Sharing (PC - PC) Pass Your devices via Network
메시지 후킹을 통한 입력장치 공유
키보드와 마우스 메시지 후킹을 이용하여서버에 연결된 마우스와 키보드 정보를 클라이언트에 공유할 수 있도록구현하였다
기술 소개 1. Input Device Sharing (PC - PC) Pass Your devices via Network
안드로이드 Service 를 활용한 가상 마우스 커서 구현
Activity 가 아닌 Service 에 View 를 붙여서안드로이드의 Background 에서 마우스 커서를 표현할 수 있도록 구현
기술 소개 2. Input Device Sharing (PC - Android) Pass Your devices via Network
가상 디바이스를 설치한 뒤 JNI 를 통해 이벤트 강제 호출
마우스 커서 위치에서 터치 이벤트가발생할 수 있도록 구현
기술 소개 2. Input Device Sharing (PC - Android) Pass Your devices via Network
Demo
Q&A