[gentoo] 푸른이빨 무선키보드 설정법

Necromancer의 이미지

키보드를 마제 유선에서 마제스터치 푸른이빨(블루투스) 무선키보드로 바꾸면서 삽질을 했네요.
유선은 집에서 쓰고, 무선은 회사 들고다니면서 필요할때마다 쓸 계획으로 구입했습니다. 덕분에 실탄 바닥났습니다. OTL

강좌는 gentoo 기준입니다. 제가 다른 배포본을 설치해서 쓸 여유가 있는 편은 아니어서
확인은 못했습니다. 다른 배포본은 그 배포본 환경에 맞게 해주셔야 합니다.

---- 준비사항 ----

가장 먼저 푸른이빨을 사용하기 위해서는 커널에서 지원해야 합니다.

푸른이빨 옵션은 커널의 Networking -> Bluetooth subsystem support 아래에 다 모여 있습니다.
가급적이면 이들 옵션들은 모두 활성화시킬 것을 권장합니다.

그다음 푸른이빨을 사용하기 위한 bluez-libs, bluez-utils 를 설치합니다.

emerge bluez-libs
emerge bluez-utils

USE 플래그는 디버그/테스트 관련 옵션(debug, test-programs)을 빼고 모두 활성화시키세요.
여기까지만 하면 푸른이빨 기기를 쓸 준비가 됐습니다.

----- 사용하기 -----

기본 사용법은 아래와 같이 하면 됩니다. (하지만 이거 꽤 불편합니다. 왜그런지 밑에 써 놓았습니다.)

먼저 푸른이빨 키보드를 pairing 한 직후에 아래 명령 내립니다.
pairing하는 시간은 어디어디 제품이냐에 따라 다 틀리니... 제 키보드는 한 몇 분 되는 거 같습니다.

그리고 명령 실행할려면 루트권한 필요합니다.

hcitool scan

키보드를 pairing한 상태에서 위 명령을 내리면 푸른이빨 하드웨어 주소(랜카드 맥과 똑같습니다)와 장비명이 뜹니다.

XX:XX:XX:XX:XX:XX ProductName...

pairing 안한 상태로 이 명령 내리면 뜨지 않습니다. 이건 해보시면 아실겁니다.

쓰기 위해서는 그다음 아래 명령을 내립니다. XX부분은 위에서 스캔해서 나온 주소를 넣습니다.

hidd --connect XX:XX:XX:XX:XX:XX

이 연결도 키보드가 pairing 상태일때 해줘야 합니다. 안된다면 pairing 상태가 아니라는 얘기이므로 키보드를 다시 pairing해야죠.

위 내용까지는 몇몇 분들이 블로그에 자료를 올려주셔서 쉽게 찾았습니다.

하지만 위 방식이 좀 문제가 있는데, 몇분 이상 안 쓰면 키보드가 대기 모드로
들어가면서 연결이 끊어지고, 쓸려면 키보드 다시 pairing하고 위 명령을 루트로
내려줘야 하는 짜증나는 일이 벌어집니다.

이것을 해결하는 방법을 설정파일 뒤져서 찾아냈습니다.

일단 /etc/bluetooth/rfcomm.conf를 수정해서 아래 내용을 추가합니다.
(젠투기준, 다른배포본이면 경로가 다를수 있습니다)
device란의 XX는 위에서 hcitool scan 으로 나온 주소 넣으면 됩니다.

rfcomm0 {
        bind yes;
        device XX:XX:XX:XX:XX:XX;
        channel 1;
        comment "Keyboard Name";
}

그다음 /etc/bluetooth/hcid.conf에서 options 안에 있는 security를 auto로 바꿉니다.

options {
    ...
    security = auto;
    ...
}

그다음 푸른이빨 관련 대몬들을 재시작시키면 됩니다.

/etc/init.d/bluetooth restart

이렇게 하면 푸른이빨 키보드 전원을 끈다든지 해서 연결을 끊은 경우 다시 켜면
자동으로 연결됩니다. pairing하고 루트권한으로 명령내리는 뻘짓을 할 필요가 없어지죠.
bluetooth 스크립트를 뒤져보니까 hcid, rfcomm 2개를 실행시키네요. (hid2hci도 있긴 한데 disable되어 있습니다)

그리고 bluez 맨페이지가 상대적으로 좀 부실한거 같네요. 패키지내에서 같이 제공하는
툴에 대한 설명이 없어서 애를 좀 먹었습니다.
다른 패키지들 man 페이지 보면 같이 제공되는 다른 툴을 참조하라고 나오던에.

Forums: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.