질문의 내용이 답변을 받기 어려울 듯 하네요. 가능하면 좀더 자세히 적으셔야 할 것 같은데, 그러려고 공부하다 보면 답을 찾으실 것 같긴 하네요.
어떤 MCU를 사용하는지, 어떤 블루투스 모듈을 사용하는지에 따라서 답이 다 달라집니다. USB 인터페이스 지원을 위해서는, MCU가 ATMega32U4와 같이 USB 모듈을 포함하는 경우 지정된 핀으로 data 라인을 연결해야 하구요, 그 외의 경우에는 VUSB 라이브러리를 써야해서 인터럽트 포트로 연결해야 합니다. PS/2도 지원하는 경우에는 이렇게 연결된 핀을 적절히 이용해서 구현하면 되구요.
블루투스를 지원하고 싶으면 블루투스 HID를 지원하는 MCU(CC2540 칩셋이라든지...)를 이용하는 것이 가장 좋긴 합니다. 대부분의 저가형의 블루투스 키보드들이 이 MCU를 쓰고 있기도 하구요. 이게 저전력이라서 소용량 배터리로도 오래 쓸 수 있기도 할 거구, 사용할 수 있는 핀의 수나 플래시 메모리의 용량도 나쁘지 않아서 커스텀 키보드를 만드는 데 큰 문제는 없을 것 같긴 한데, 문제는 공개된 자료가 적은데다가 개발 툴의 가격이 좀 많이 셉니다. 거기다 최종적으로 블루투스 인증을 통과해야 해서, 이런 비용까지 감안하면 어마어마한 비용(큰거 한장...)이 들어가게 됩니다. 구글링해 보다 보면, 이런 삽질을 하다가 방치된 프로젝트도 있습니다. ^^
그래서 대체적으로 별도의 블루투스 모듈을 사용하게 되는데, HID를 지원하는 모듈이 몇가지 없습니다. 가장 유명한게 RN42HID와 곤님의 너드 기판에서 사용하는 FB155BC_HID 정도... 결국 이 모듈들도 CC2540 같은 칩셋에 블루투스 HID 펌웨어를 올리고 외부와 시리얼 통신으로 연결해서 제어하도록 만들어 놓은 겁니다. 그래서 별도의 MCU와 시리얼 통신으로 연결해야 하니까, USART 포트를 이용해서 통신을 합니다. 이것도 사용하는 MCU에 따라서 달라지게 될 겁니다. RN42HID를 사용하는 예제로는 https://geekhack.org/index.php?topic=12047.0 를 참조해 보세요. TMK 키보드 펌웨어에 통합되어 있는데, 회로도와 소스가 공개되어 있으니 참조할 만 할 겁니다.
가능하면 좀더 자세히 적으셔야 할 것 같은데, 그러려고 공부하다 보면 답을 찾으실 것 같긴 하네요.
어떤 MCU를 사용하는지, 어떤 블루투스 모듈을 사용하는지에 따라서 답이 다 달라집니다.
USB 인터페이스 지원을 위해서는, MCU가 ATMega32U4와 같이 USB 모듈을 포함하는 경우 지정된 핀으로 data 라인을 연결해야 하구요, 그 외의 경우에는 VUSB 라이브러리를 써야해서 인터럽트 포트로 연결해야 합니다.
PS/2도 지원하는 경우에는 이렇게 연결된 핀을 적절히 이용해서 구현하면 되구요.
블루투스를 지원하고 싶으면 블루투스 HID를 지원하는 MCU(CC2540 칩셋이라든지...)를 이용하는 것이 가장 좋긴 합니다.
대부분의 저가형의 블루투스 키보드들이 이 MCU를 쓰고 있기도 하구요.
이게 저전력이라서 소용량 배터리로도 오래 쓸 수 있기도 할 거구, 사용할 수 있는 핀의 수나 플래시 메모리의 용량도 나쁘지 않아서 커스텀 키보드를 만드는 데 큰 문제는 없을 것 같긴 한데, 문제는 공개된 자료가 적은데다가 개발 툴의 가격이 좀 많이 셉니다.
거기다 최종적으로 블루투스 인증을 통과해야 해서, 이런 비용까지 감안하면 어마어마한 비용(큰거 한장...)이 들어가게 됩니다.
구글링해 보다 보면, 이런 삽질을 하다가 방치된 프로젝트도 있습니다. ^^
그래서 대체적으로 별도의 블루투스 모듈을 사용하게 되는데, HID를 지원하는 모듈이 몇가지 없습니다.
가장 유명한게 RN42HID와 곤님의 너드 기판에서 사용하는 FB155BC_HID 정도...
결국 이 모듈들도 CC2540 같은 칩셋에 블루투스 HID 펌웨어를 올리고 외부와 시리얼 통신으로 연결해서 제어하도록 만들어 놓은 겁니다.
그래서 별도의 MCU와 시리얼 통신으로 연결해야 하니까, USART 포트를 이용해서 통신을 합니다.
이것도 사용하는 MCU에 따라서 달라지게 될 겁니다.
RN42HID를 사용하는 예제로는 https://geekhack.org/index.php?topic=12047.0 를 참조해 보세요.
TMK 키보드 펌웨어에 통합되어 있는데, 회로도와 소스가 공개되어 있으니 참조할 만 할 겁니다.
이 정도면 시작점은 될 것 같은데...
참고해서 좋은 결과물을 만들어보세요. ^^