Subj : Re: Vice and keyboard mapping
To   : Chicken Head
From : Tristan Miller
Date : Thu Jan 30 2020 02:00 pm

Greetings.

On 14/01/2020 03.41, Chicken Head wrote:
> So I've had this Ultima V itch I really need scratched.  Back in the day in
> 1988 I played it on my trusty Commodore 64.
>
> I can do it in Vice, but the default keyboard mapping is awful.  Instead I've
> been using AppleWin since at least the arrow keys do what they are supposed
to
> do.
>
> How can you easily change the default keyboard mapping in Vice?  "Symbolic"
> just doesn't cut the mustard.


In VICE 3.3 (Gtk3), go to Settings->Settings...->Input devices->Keyboard
settings.  In that dialog you will be able to specify a custom keymap
file.  Default symbolic and positional keymap files are distributed as
part of VICE -- they're named gtk3_sym.vkm and gtk3_pos.vkm,
respectively.  You can use these as a starting point to create your own
keymaps.  The files themselves contain comments explaining the format
pretty thoroughly.  Unfortunately, the format isn't particularly "easy"
though it is comprehensible with a little effort.  Just look at some
example keycodes and cross-reference them with the keyboard matrix
diagrams included in the file.

If all you want to do is to remap your arrow keys to the default
movement keys in the C64/C128 version of Ultima V (if memory serves,
these are @ for up, / for down, : for left, and ; for right), then I
believe all you need to do is to find the lines in the keymap file
beginning "Up", "Down", "Left", and "Right", erase the three numbers
that follow those words, and replace them with the same three numbers
that follow the lines beginning "at", "slash", "colon", and "semicolon".

Regards,
Tristan

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                 Tristan Miller
Free Software developer, ferret herder, logologist
            https://logological.org/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)