jr: thanks a lot!! I'm looking forward to your patches.
What exactly is different in the Finnish keyboard layout? And what will be the influence of this on useful key mappings, you think?
Last question: did you base your work on SVN HEAD?
No problem, since you're using subversion, I'll send the patches as attachments to keep the formatting correct; my mailer tries to be unnecessarily clever and mangles all white spaces not to mention cutting lines in inlined patches. For some odd reason git manages to bypass that problem. Anyway I'll try to do it tomorrow.
Well, it's like PC keyboards, some of the keys have different meanings and/or are located differently on different countries. So with N900 and openmsx, all keys that do not require special mappings will work as-is but the mode shifted keys are probably located differently -- just a guess, I haven't seen other keyboard layouts than the finnish one, but I doubt that the UK version for example would have å, ä or ö keys but instead something else. Some of the keys are of course the same, for example the fact that the Enter key on the N900 keyboard is in fact KP_ENTER I think remains the same in all layouts so the need for a key binding that converts KP_ENTER to ENTER is needed for non-finnish keyboard layouts too.
The stuff I did today was based on the HEAD, I did a full checkout of the complete openmsx repository and worked on top of the trunk folder.
We use Subversion, but Wouter and me use git on top of it. Anyway, attachments will be fine, of course
About keyboards: openMSX by default doesn't do hard key to MSX-key mapping. It maps the actual unicode value to the proper key combination on the MSX. So if you type å, ä or ö, you should actually see that in the MSX (if it supports those characters).
So, except for some special keys (like META, etc.), the keyboard layout should be having quite a little influence. The fact that the ENTER is actually KP_ENTER does not really help, but OK, I hope it still works mostly.
I'm not really sure why you need a binding to convert KP_ENTER to ENTER, by the way... KP_ENTER works fine in the console, at least on my PC. Are you sure you don't need this setting: http://openmsx.sourceforge.net/manual/commands.html#kbd_numkeypad_enter_key
There are probably more interesting settings starting with kbd... Check it out on that commands.html doc :)
Perfect that you worked on SVN HEAD. Then we should have very little problems to examine (and hopefully integrate) those patches.
Strangely enough, the kbd_numkeypad_enter_key setting seems to have no effect on the N900. And yes, the enter key works just fine in the console without any extra bindings, it's just that it doesn't work in the emulated MSX (even with the kbd_numkeypad_enter_key setting).
My current settings.xml looks like this (see below), it's not optimized for gaming because up/down arrows require the mode key. For games I guess it would be better to sacrifice some special keys like ä and ö on the keyboard and map them as arrows.
<!DOCTYPE settings SYSTEM 'settings.dtd'> <settings> <settings> <setting id="fullscreen">true</setting> <setting id="resampler">fast</setting> <setting id="blur">0</setting> <setting id="scanline">0</setting> </settings> <bindings> <bind key="keyb KP_ENTER,RELEASE">keymatrixup 7 0x80</bind> <bind key="keyb E+CTRL,RELEASE">keymatrixup 6 0x80</bind> <bind key="keyb Q+CTRL,RELEASE">keymatrixup 6 0x20</bind> <bind key="keyb R+CTRL,RELEASE">keymatrixup 7 0x01</bind> <bind key="keyb T+CTRL,RELEASE">keymatrixup 7 0x02</bind> <bind key="keyb W+CTRL,RELEASE">keymatrixup 6 0x40</bind> <bind key="keyb BACKSPACE+MODE,RELEASE">keymatrixup 8 0x08</bind> <bind key="keyb KP_ENTER+MODE,RELEASE">keymatrixup 8 0x04</bind> <bind key="keyb RIGHT+MODE,RELEASE">keymatrixup 8 0x40</bind> <bind key="keyb LEFT+MODE,RELEASE">keymatrixup 8 0x20</bind> <bind key="keyb KP_ENTER">keymatrixdown 7 0x80</bind> <bind key="keyb E+CTRL">keymatrixdown 6 0x80</bind> <bind key="keyb Q+CTRL">keymatrixdown 6 0x20</bind> <bind key="keyb R+CTRL">keymatrixdown 7 0x01</bind> <bind key="keyb T+CTRL">keymatrixdown 7 0x02</bind> <bind key="keyb W+CTRL">keymatrixdown 6 0x40</bind> <bind key="keyb WORLD_69+CTRL">toggle console</bind> <bind key="keyb BACKSPACE+MODE">keymatrixdown 8 0x08</bind> <bind key="keyb A+MODE">type *</bind> <bind key="keyb D+MODE">type #</bind> <bind key="keyb G+MODE">type _</bind> <bind key="keyb H+MODE">type (</bind> <bind key="keyb J+MODE">type )</bind> <bind key="keyb L+MODE">type :</bind> <bind key="keyb S+MODE">type +</bind> <bind key="keyb X+MODE">type $</bind> <bind key="keyb KP_ENTER+MODE">keymatrixdown 8 0x04</bind> <bind key="keyb RIGHT+MODE">keymatrixdown 8 0x40</bind> <bind key="keyb LEFT+MODE">keymatrixdown 8 0x20</bind> </bindings> </settings>
The key bindings are as follows in human readable form for those who don't remember MSX keyboard matrix by heart:
- N900 ENTER mapped to MSX ENTER
- N900 MODE+BACKSPACE mapped to MSX DELETE
- N900 MODE+ENTER mapped to MSX INSERT
- N900 CTRL+Å mapped to toggle console (i.e. CTRL and the key to the left of backspace on the N900 finnish keypad layout)
- N900 CTRL+Q,W,E,R,T mapped to MSX F1,F2,F3,F4,F5
- additional mappings for the finnish N900 keypad layout to produce correct characters in MSX (*,#, _, (, ), :, +, $, up/down arrows), these are not absolutely mandatory as you can get the same results by pressing MODE+SHIFT+key, it just so happens that for my bulky fingers it is getting a little bit difficult to press the N900 MODE+SHIFT+keys all together so I made it easier and now things work with just MODE+key
Another thing to remember perhaps is that when running openmsx fullscreen, you can access the N900 task switcher by pressing CTRL+BACKSPACE.
So, you set that kbd_numkeypad_enter_key on ENTER, and it had no effect? That sounds like a bug...
(Note that you need to be a member to post on openmsx-devel, in order to prevent spam...)
Uhh... I got a reply saying the list moderator needs to review the mail before it's posted. Who's your list moderator? Well I guess I can join the list and repost.
I don't know I do not seem to have the password in any case. GOod that you just joined that list
my N900 just arived the other day. fmsx works fine. hows openmsx doing?
and what about bluemsx
the device rocks!
openMSX is doing pretty fine
I guess I should build some new packages. But maybe jr can already help you easier now?