This website is a clone of OTD.KR - it only exists to maintain the historical information that OTD once housed, and to act as a monument to this incredible, passionate community. Nothing presented here is the original work of kbdarchive.org

❤️ 길을 열어주셔서 감사합니다 ❤️


  • Community(커뮤니티)
  • Otd Info(소식&정보)
  • Forum(포럼)
  • Tip & Tech(팁&테크)
  • Diary(다이어리)

Freeboard 자유게시판

자유롭게 글을 남기는 공간입니다.
이미지 파일은 Album 게시판을, 자료는 PDS 게시판을 이용해주시면 감사하겠습니다.
 
작성일 : 13-01-17 12:41
키매트릭스 컨버터를 구상해보신분 있나요?
http://l.otd.kr/VDPFB3I5
 글쓴이 : ryeona17
조회 : 456  
안녕하세요, 나만의 커스텀키보드를 위해서 여러가지 사전조사중인 ryeona17입니다. 

몇몇 고수님들의 도움으로 
일단 현재의 AIKON으로도 제가 원하는 방식의 설정은 불가능하다는것을 알았고
제가 최족적으로 원하는것이 무선키보드이라는 점을 생각하면서
최소의 비용으로 원하는 결과물을 어떻게 하면 얻을수 있을까 고민해봤습니다. 

그 결과 지금의 AIKON처럼 V-USB를 이용하여 키보드콘트롤러 자체를 만든다기 보다
키보드 매트릭스를 컨버팅하는 회로를 만들면 되지 않을까 하는 생각에 도달했습니다.

다음과 같은 개념도를 참조해주세요.







제가 컴퓨터 관련수업을 들은지 15년이 넘게 지났고, 전혀 관련없는 일을 해오고 있기 때문에 사실 기억이나 관련지식이 희미합니다. 전문가분들의 지적을 부탁드립니다. 

일단 기존 AIKON에서 이용한 ATmega32 칩을 이용하는것은 불가능합니다. 왜냐하면 KMT는 키매트릭스의 변환을 할것이라서 input/output 으로 최소한 키매트릭스 두벌 분의 핀이 필요합니다. 한벌에 18x8 매트릭스를 쓴다하여도 총 52개의 입출력핀이 필요한것이죠 
ATmega32는 전체 핀의 갯수가 44개뿐이니까 턱도없이 부족합니다.

또한 가장 많이 쓰인다는 ATmega128을 살펴보니 전체 핀의 갯수는 64개, 데이터입출력핀으로 53개까지 가능합니다. 이론상 이걸 쓰는게 가능하긴 합니다만, 
레이아웃을 바꿀때마다 Firmware를 다시쓸게 아니라면 자체적인 USB통신을 위한 추가적인 데이터핀이 더 필요하다고 생각됩니다. 
ATmega 칩들이 여러가지 라인업이 있고 가볍게 둘러본결과 100핀짜리 칩도 있는걸로봐서 적당한 칩을 골라서 쓰면 될것 같습니다.

이건 오로지 On/Off 신호만 읽어서 사용할 키보드콘트롤러의 행,열 핀에다가 신호를 주기만 하면되는것이라
HID니 PS/2 에 쓰이는 키보드 인터페이싱 프로토콜이나 심지어는 Scan 코드같은것도 전혀 고려할필요가 없습니
다. 그렇기 때문에 어쩌면 기존의 AIKON Firmware 보다 더 제작 난이도가 쉽지 않을까 싶기도 합니다. 

만약에 이런 구상이 성공적이라면, 

자신이 원하는 형태의 키보드를 

마음대로 레이아웃으로 변경하여 

원하는 방식의 인터페이스를 써서, 

연결시키는게 가능해진다고 생각합니다. 


로지텍 무선유니파잉 키보드든, 블루투스 키보드든 원하는 방식의 기성 키보드를 뜯어서 

콘트롤러를 따낸다음 키매트릭스에 연결되는 행과열만 찾아서  마음에 드른 형태의 키보드와 

KMT(Keyboard Matrix Transfomer)를 통해연결하면 되는것이니까요. 


ps. 어떤 게시판에 좋을지 몰라서 일단 자유게시판에 올렸습니다. 질답게시판에 올리기도, 팁테크 게시판에 올리기도 약간씩은 부적절해보이더라구요. 
그리고 고수님들이 보기에 현실성있는 구상이라면 OtdWiki에 공개 프로젝트 페이지를 만들어 진행해보는게 어떨까 싶습니다. 제가 혼자하려면 꽤 많은 노력을 들여야하는데 적어도 5년안에는 그런 시간내기는 어려울것 같습니다. 많은 능력자분들이 조금씩 기여한다면 훨씬 빠르게 그 결과물을 볼 수 있지 않을까 생각합니다. 

힘내라아빠 [Lv: 786 / 명성: 746 / 전투력: 29815] 13-01-17 13:06
 
공개적으로 아이디어를 모으시는건 좋은 생각이라고 판단됩니다.
잘은 모르지만 위에 개념도를 보면 거의 모든 입출력 디바이스를 다 포괄하는 컨버터를 만드실려고 하는 것 같은데, 우리에겐 AIKON과 atmega 이외에 다른 커스터마이징된 컨트롤러를 만나본 적이 없습니다.
하다못해 현재 블루투스 관련 컨트롤러도 커스터마이징이 된게 없죠.
개인적인 판단으로는 하나씩 다 커스터마이징을 해보고 난 후에야 통합된 컨버터에 대한 아이디어가 나와도 나올 수 있지 않을까 싶습니다.
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 13:24
 
통합된 컨버터라느 개념으로 보긴 힘들다고 생각합니다. 사실 아무 어떤 인터페이싱 프로토콜도 따를 필요가 없기 때문에 콘트롤러라고 보기도 어렵구요.
여기서 인터페이스라고 할만한건 키보드매트릭스 자체죠. 단지 스위치가 on/off 되는걸 원래의 키매트릭스가 아닌 다른 키매트릭스로 바꿔주는 역할만 할뿐입니다.
▶◀노바 [Lv: 300 / 명성: 757 / 전투력: 7658] 13-01-17 13:24
 
재미있는 프로젝트가 될 것 같습니다.

일단 원하시는 구상이 뭔지는 잘 모르거니와 최종목표가 무선이라는 가정 하에 개념도를 보면 제가 잘
이해 했는지는 몰라도 기존 키보드와 컨트롤러 사이에 KMT를 어떻게 위치시킬 것인가가 관건이 될수
있겠습니다. ^^

제가 생각하는 구조는
키보드 - 컨트롤러(유무선 모든방식) - KMT (원하는 배열 자유세팅) - PC 이런 배열은 어떨까 합니다.
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 13:31
 
말씀하신 방법으로 하려면 결국 통신 프로토콜을 번역하는 과정이 있어야합니다. 그건 위에 힘내라 아빠님께서 말씀하신 일종의 "통합된 컨버터" 같은 물건이 되겠죠.
제가 생각하는건 키보드매트릭스 자체의 변환입니다. 키보드매트릭스는 그냥 전기적으로 on/off 만 그물로 연결된 것이고 아무런 회로소자도, 아무런 프로토콜도 없죠. 그걸 ATmega칩에서 재현이 가능할지 여부가 관건이라고 생각됩니다만
이미 Input으로 키매트릭스에서 나오는 신호를 받아볼수있다는건 AIKON 이 성공적으로 동작한다는것에서 알 수 있습니다. 따라서 아트멜사에서 나온 범용프로세스인 이 ATmega 칩들로, Output단에서 키매트릭스신호자체를 재현가능하리라고 봅니다. 실제 구현에서 어떤 문제가 생길지는 아직 모르는것이라 현장경험이 있는 사람의 의견이 중요하다고 생각합니다.
힘내라아빠 [Lv: 786 / 명성: 746 / 전투력: 29815] 13-01-17 13:40
 
노바님도 그렇지만 개념도만 보면 마치 통합된 컨버터로 보여서 오해를 했습니다. 송구합니다.
무엇이 되었든 개념만 명확하다면 아이디어는 많이 나올 것 같은데, 그 개념을 잡으려면 다른 단계부터 차근차근 밟아가야한다는게 생각입니다. 아직 미지의 세계가 넘 많은것 같아욤.
▶◀노바 [Lv: 300 / 명성: 757 / 전투력: 7658] 13-01-17 13:42
 
일반 컨버터의 개념이 아니었군요. ^^
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 13:43
 
개념도에 약간 오해의 소지가 있는것 같아 살짝 수정하였습니다.
선 한개를 점선으로 처리했고, 무선통신을 나타내는 번개마크를 추가했습니다.

자체USB인터페이스와 키보드콘트롤러와 합쳐지는 부분은
컨트롤러가 USB일경우에만 USB단자를 두개쓰일때 하나로 줄이기 위한것으로
무선컨트롤러인경우에는 합치는 부분이 필요없습니다.
제로록 [Lv: 631 / 명성: 655 / 전투력: 18365] 13-01-17 14:17
 
말씀하신 것처럼 컨버터가 아니라 컨트롤러를 만들고 싶어하시는것 같구요

간단하게 요약하자면 아이콘 블루투스 버전을 원하시는것 같습니다.

현재 아이콘은 매트릭스와 무관하게 키맵을 자유롭게 수정할수 있습니다. 말씀하신 기능을 이미 포함하고 있습니다.

하지만 이것을 블루투스 상에 구현하는 것은 회로적으로 전혀 다른일이긴 합니다.

블루투스 모듈을 활용하기에는 사이즈 상으로도 비용적으로 현재까지 그렇게 실용적이지 않아서 진행이 안되는것 같구요
(지금 해당 게시판이 보이지 않지만 이노네이트 님이나 몇몇 분이 고려까지는 하신것으로 압니다. 아마 테스트용은 구현 하셨을지도 모릅니다.)


위의 개념도는 OTD 회원들이 아이콘을 이해하고 있다는 전제하에 너무 복잡한것 같습니다.

제가 이해하기로는 ryeona17님이 원하시는 것은 딱.. 아이콘 블투버전.. 하지만 USB로 장착도 지원 했으면 좋겠다 정도인것 같습니다.



덧붙여서 2개의 별도의 키맵을 원하시는 것일 수도 잇는데요 큰 실용성이 없어서 구현을 안했을 뿐이지 아이콘 처럼 3단의 레이어를 구현한 상태에서 별도로 키맵을 두개 따로 구성하는건 그리 어려운 일은 아닌것 같습니다.
(컨버팅이라는 상황이 필요 없으므로 이건 쓸데없는 첨언이 될것 같습니다. )




다만 여러분들이 언급하신것 처럼 기존의 USB나 PS2 컨트롤러에 대응하는 블루투스 컨버터는 의미가 있다고 생각합니다.

각각의 차이점은 위에서 말씀드린

1. 블루투스 아이콘 버전은 매트릭스 값을 가져와서 블루투스 키보드 신호를 보내는 것이구요

2. 컨버터는 USB나 PS2의 신호를 받아서 블루투스로 변환하는 것입니다.
이과정에서 컨버터에 키값을 원하는 값으로 매칭하는 부가적인 기능을 구현할 수도 잇을것 같습니다.



제가 제대로 이해했는지 모르겠군요 -_-;

아무튼 저도 잘 아는 유저는 못되지만. 첨 설정하신 방향이 조금 난해 한듯해서 제가 이해한 내용을 정리해 봅니다.
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 14:34
 
1. 현재 AIKON에서 제가 원하는 설정은 펌웨어수정하지 않는한 구현안된다고 알고있습니다. 제가 원하는건 Numlock이 마치 쉬프트키처럼 누르는 중에만 Numlock On 이 되고 Numlock키를 떼면 자동으로 off가 되게하는것이죠. 질문게시판에 올려서 답변받은 결과로는 현재로는 안되는것으로 알고있습니다.

2. 제 구상이 제대로 전달이 안된듯 싶습니다. 컨버터도 아니지만 컨트롤러는 더더욱 아닙니다.
, 제가 Matrix Transformer 라고 했는데 굳이 컨버터냐 컨트롤러냐 따지자면 컨버터에 가깝습니다. 하지만 컨버터란 이종의 프로토콜을 번역해준다는 의미인데 반해 키보드 매트릭스 자체는 프로토콜이라고 하기에는 너무나 단순하죠.

이를테면 어떤 키보드에서에서 A키가 눌리면 그 키보드매트릭스의 2행3열에 불이들어온다고 합시다. B키가 눌리면 5행6열에 불이들어오고요 그걸 컨트롤러가 받아서 프로토콜에 맞게 컴퓨터로 A와 B의 스캔코드를 전송해주게 됩니다. 이게 아이콘이든 다른 콘트롤러든 키보드컨트롤러가 하는일이죠.

제가 말씀드린 KMT는 기판과 콘트롤러 사이에 끼워주는것으로 본래 2행3열에 불이들어와야할것을 다른 위치 이를테면 5행6열에 불이들어오게 해주는것이죠. 이렇게 되면 사용자는 A키를 눌렀지만 컨트롤러는 B키가 눌렸다고 인식하게 됩니다.

그렇기 때문에 블루투스 모듈이니 하는거 전혀 신경쓸 필요가 없습니다. 다시한번 강조하지만 기존에 쓰이던 키보드컨트롤러를 그대로 활용하는 방식입니다.
제로록 [Lv: 631 / 명성: 655 / 전투력: 18365] 13-01-17 14:54
 
예 죄송합니다. 이해를 잘못했습니다.

1번에서 원하시는 기능을 가진 키보드가 있고 그 키보드의 컨트롤러를 활용하시고 싶은 거군요.

한번 뿐이라면 그냥 풀와이어링 하시는 것을 권합니다.


아이디어는 무척 참신한것 같습니다. 추천꽝.
제로록 [Lv: 631 / 명성: 655 / 전투력: 18365] 13-01-17 14:53
 
다시 내용을 읽었습니다.

제목이 모든 것을 말씀해 주시는군요 키매트릭스 컨버터군요. (개념도가 오히려 이해에 방해가 되는것 같습니다. )

결국 매트릭스만 변환해주고 별도의 다른 컨트롤러를 맘데로 사용할 수 있는 호환성을 확보하고 싶다는 뜻이시군요
(이해 했습니다. 위의 장황한 내용은 제가 뱉은 말이니 주워담지 않겠습니다. 양해를 부탁드립니다. )


결국 소프트웨어 형태로 풀와이어링을 하신다는 뜻인것 같습니다.
다만 걱정되는 것은 컨트롤러의 매트릭스도 따와야 하고 기판의 메트릭스도 따와야 합니다.

한두개 할꺼면 그냥 손으로 하드웨어 와이어링 하는게 나을수도 잇지만.
다만 메트릭스 정보가 공유가 된다면 다른 사람들은 그런 수고를 덜어도 되겠지요.



그리고 상관 없을 수도 있지만 정말 단순한 작업인데 해당 작업을 하려면 다리가 많은 MCU가 필요하고 그런 MCU는 매우 똑똑하고 비쌉니다.

디먹스를 쓰면 다리 갯수를 줄일수 있겠군요.



여러가지 경험을 할 수 있다는 차원에서 보면 아주 무의미한 작업은 아닌것 같습니다.

하지만 필요수요는 매우 낮을것 같고 혹시라도 무선 아이콘이라도 나오면.. 더욱 활용도가 떨어질것 같습니다.



너무 오지랖넓게 참견해서 죄송합니다.


첨에 그림을 보고 이해를 잘못했네요 꾸벅.
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 15:14
 
제로록 님의 말씀 감사합니다.
1. MCU 가격은 제가 방금 엘레파츠를 둘러본 바로는 Atmega64 시리즈중에 100핀짜리가 있더군요. 데이터핀은 70개이상이라 충분해보입니다. 같은 ATmega64라도, 여러타입이 있어서 가격이 달랐는데 무엇으로 구별했는데 특성을 제실력으로은 아직 알수없었습니다. 아무튼 100핀짜리 ATmega64들중 저렴한것들이 대략 1개만 구입했을때 단가가 만원정도였고 수량이 늘어나면 가격은 많이 다운되는것 같습니다.

제가 현장에 없어서 감이 없기때문에 확신할수는 없지만 이정도 가격이면 아주 무리한 가격대는 아닌것 같습니다.


2. 말씀하신 소프트웨어 와이어링이라는 말씀이 꽤나 적절한 표현같습니다. 다만, 제 구상은 와이어링으로는 구현 불가능한것을 설정할수있습니다. 이를테면 NumLock 동작방식을 제가 말한 방식으로 바꾸는것도 가능하며, 사실 ATmega 칩이 컴퓨터나 다름없기 때문에 매크로도 가능합니다. 즉 지정된 키가 눌렸을때 동적으로 와이어링을 바꿔주면서 원하는 순서대로 키들을 차례로 눌러주는 효과를 줄수 있게 되는것이죠.

3. 사실 AIKON이라는 훌륭한 컨트롤러가 있는 지금, 제가 구상한 KMT의 수요가 크진 않을거라 생각합니다만, 일단 기존의 컨트롤러를 재사용하기때문에 어떤 종류의 무선 연결방식이라도 적용될수있고, 또한 리눅스든 맥이든 심지어는 게임기든 어떤 종류의 터미널이든지간에 어떤 인터페이스라도 적용할수 있다는 점은 큰 장점이고요. 둘째로 매크로기능을 넣을경우 컴퓨터에서는 이게 매크로인지 정상적입력인지 구별할 방법이 원천적으로 없다는 점입니다. 게임을 할때 매크로를 방지하는 각종 기술들이 쓰이는데 이건 막는게 구조적으로 불가능한 매크로를 생성해줍니다. 키보드덕후들에게 보다는 오히려 이쪽에서 수요가 있다고 생각합니다.

4. 키매트리스를 딸 필요가 없습니다. 일단 컨트롤러-KMT-기판 을 행과 열만 알아내서 연결하면 끝입니다. 차례로 A,B,C,D 눌러서 원래 컨트롤러에서 어떤 스캔코드를 주는지만 보면 됩니다. 원래 기판의 매트릭스가 뭐였는지 컨트롤러의 매트릭스가 뭐였는지 조차 알 필요가 전혀 없습니다. 오히려 헷갈리게만 할 뿐이죠.

5. 가급적 많은 의견이나 지적 부탁드립니다. 제가 전자회로, 하드웨어, 임베디드프로그래밍등 구체적으로 들어가기 시작하면 모르는게 참 많습니다.
코렐라스 [Lv: 72 / 명성: 644 / 전투력: 1746] 13-01-17 15:42
 
응원하는 의미로 추천하나 드립니다
제로록 [Lv: 631 / 명성: 655 / 전투력: 18365] 13-01-17 15:50
 
ryeona17님. 이거 이렇게 말씀하시면 제가 첨 올린 글과 결국 같아집니다.

1. 해당 내용은 제가 충분히 알고 잇는 부분입니다.

2. 소프트 웨어 와이어링과 2의 내용 즉 첨에 말씀하신 매트릭스 컨버터와 2번~4번의 내용은 전혀 별개의 내용인것 같습니다.
- 이건 이미 매트릭스 체인지의 범위는 아닌것 같습니다. 낭비에 가깝구요

3. 3도 마찬가지인데 이건 그냥 컨트롤러로 구현하는게 더 쉽고 마찬가지로 매크로인지 아닌지 구분이 불가능합니다.
- UI등의 문제로 구현을 안해놨을 뿐이지 아이콘에서도 매크로가 가능합니다.
- 3의 내용은 완전히 별개의 내용 같습니다.

4. 매트릭스까지 딸필요 없을 정도로 구현하실라면 클라이언트도 있어야 겠구요.. 케이스바이케이스가 너무 많을것 같습니다.
즉 애초에 이정도 노력이면 왜 기존 컨트롤러를 가져다 쓰는지 의문이 생깁니다.
그리고 이경우라도 최종적으로 쓰일 컨트롤러의 메트릭스는 따셔야 합니다. 역으로 딸 수 있도록 만들수도 있겠지만.
이건 정말 산으로 가는 거구요.


솔직히 말씀드리면 새로운 컨트롤러 만드는것보다 더 문제가 되는 부분이 많은 것 같습니다.
아니 이미 말씀하신 내용 자체가 컨트롤러를 만들고 나서 그걸 USB나 PS2같은 특정 신호로 안보내고
다시 원하는 컨트롤러에 맞는 매트릭스 값으로 주는 것이 되겠군요 .

중복 투입되는 자원과 노력이 너무 많아지고

특히나 기존 컨트롤러를 쓴다는 전제를 둔다면 그때그때 상황에 맡게 조치하는것이
훨씬 노력과 비용이 적게 들것 같습니다.


게임 유저들 이야기 하셨는데
하드웨어 매크로를 지원하는 경우는 이미 많이 있습니다.
다만 이경우도 각각의 게임에 맞는 상황 만큼의 옵션이 주어지지 않아서 문제가 되지만요.

즉 마찬가지로 위에서 처럼 범용성을 가지려면 어마어마한 자원의 투입이 필요할 것입니다.


그런데 그러고 나서 결국 다른 키보드의 컨트롤러를 가져다 쓴다?

마지막으로 이경우 컨트롤러 두개를 키보드 하우징에 넣어야 하는 공간적 문제도 있을꺼구요.


차라리 제일 처음 말씀하신 단순한 소프트웨어 와이어링이 더 의미 있는것 같습니다.
ryeona17 [Lv: 1 / 명성: 597 / 전투력: 49] 13-01-17 16:32
 
제로록님 말씀감사합니다. 특히 컨트롤러 두개를 하우징에 넣는 문제도 그리고 무선일경우 배터리를 같이 써야해서 전원소비가 크다는 문제도 생각해봐야할듯합니다. 그리고 매트릭스도 결국은 필요하다는것도 맞는 말씀인것 같습니다. 이미 아이콘에서 가능한데 그만한 투자를 할만한 가치가 있는것도 생각해볼 문제인것 같습니다.

현재의 아이콘에서도 제가 말씀드린 여러가지 요구사항이 가능함은 이미 알고있는데 다만 지금 소프트웨어로는 지원 안된다고 알고있습니다. 사실 논의가 커져서 그렇지 저의 직접적인 필요는 사실 NumLock,Fn,ScrLock 키의 특성(단지 배열 맵핑이 아님) 을 기존과 다르게 바꾸고 싶다는것 뿐입니다. 그걸 할수있도록 아이콘의 기능이 업데이트된다면 무선키보드 관련부분을 제외한다면 솔직히 굳이 더 애쓸 필요가 없다고 생각합니다.

매트릭시 변환기만이 차별적으로 가지는 장점을 굳이 더 생각해보면, 꼭 PC가 아니라도 프로토콜이 잘 알려져 있지않은 장비가 있을경우에도 적용해볼수 있다는 점 정도를 들수 있겠지만 수고대비 산출물을 생각했을때는 좀 투입자원이 너무 크다는데에는 동의합니다.

하드웨어는 제가 익숙치 않아도 클라이언트 소프트웨어 개발은 얼추자력으로 할수있겠다는 생각이 들어서 거기에대한 노력을 좀 작게 생각했던것 같습니다.
제로록 [Lv: 631 / 명성: 655 / 전투력: 18365] 13-01-17 17:40
 
저도 PC가 아닌 부분에 활용될수 있다고 생각됩니다만.

동호회 차원의 논의 사항은 아닌듯 합니다.게다가 그런 경우 말씀 드린것 처럼 굳이 다른 기능을 넣을 필요는 없고 매트릭스끼리 맵핑만 가능하면 더욱 좋을것 입니다. (특화겠죠.)

아무튼 좋은 의견으로 동호회에 활력을 불어 넣어주시니 좋군요.
 


SIDE MENU

Otd Wiki 무엇이든 물어보세요!
Otd
Lotto
누적 포인트 1,799 p
Otd Chat 강냉이 Beta !
Otd
Hands
왼쪽메뉴 숨기기
왼쪽메뉴 펼치기
Loading...