반응형


휴일날 msx-basic 을 가지고 좀 놀아 보았는데요. 프로그램 실행시 중간에 중단하는것이 안되더군요.

msx-basic 의 중단키는 ctrl+stop 입니다.

openmsx 에서는 ctrl 키는 윈도우에서의 키와 같고 stop 키는 f8 펑션키로 할당이 되어 있는데 이상하게 제 컴퓨터에서는 ctrl + stop( ctrl + f8) 의 키조합은 작동하지 않았습니다. 이 문제에 대해 국내에서는 답을 찾을 수가 없었고요. 해외포럼에서 해결방법을 발견했는데 키보드의 다른키로 할당해 주는 방법을 사용했습니다.

https://www.msx.org/forum/msx-talk/openmsx/openmsx-question-how-bind-keys

위 링크에 키보드의 다른키로 바인딩 해주는 방법이 있습니다. 

bind Pageup "keymatrixdown 7 16"
bind Pageup,release "keymatrixup 7 16"
bind Pageup+CTRL "keymatrixdown 6 2 ; keymatrixdown 7 16"
bind Pageup+CTRL,release "keymatrixup 6 2 ; keymatrixup 7 16"

위 방법은 pageup 키를 stop 키로 바꾸고 ctrl+pageup 키를 누르면 ctrl+stop 이 누른것 처럼 작동하도록 키를 재정의 해 줍니다.

keymatrix 에 사용된 숫자들은 http://map.grauw.nl/articles/keymatrix.php 를 참고 하시기 바라고요. 2진수니 잘 계산해 보면 답이 나옵니다. ^^;

openmsx 실행후 f10 키를 눌러 콘솔을 열고, 콘솔에서 위와 같이 입력해 주면 값은 저장되어 계속 적용됩니다.

값이 저장되는 곳은 제 경우 리눅스에서의 위치를 알려드리면...홈 디렉토리에....

".openMSX/share/settings.xml" 에 기록됩니다.

제 경우 파일의 일부를 발췌해서 보여드리면.....

  <bindings>
    <bind key="keyb PAGEUP,RELEASE">keymatrixup 7 16</bind>
    <bind key="keyb PAGEUP+CTRL,RELEASE">keymatrixup 6 2; keymatrixup 7 16</bind>
    <bind key="keyb PAGEUP">keymatrixdown 7 16</bind>
    <bind key="keyb PAGEUP+CTRL">keymatrixdown 6 2; keymatrixdown 7 16</bind>
  </bindings>

xml 파일에 위와 같이 bind 내용이 추가 되어 있습니다. 

이것 해결하는데 조금 시간이 걸렸습니다. 인터넷도 오래 썼는데 검색방법이 잘못된건지.....ㅡㅡ; 그래도 검색어 잘 쓰니 역시 구글신이 잘 찾아주시는군요. ^^;


+ Recent posts