Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

Custom Keyboard Layout

Last updated on 7 years ago
I like using a custom keyboard layout while typing long texts.
I would like to know if someone is used to creating layouts and can tell how I can create mine, I have browsed http://aros.sourc...mentation/ already and all I find is low level references about keyboard mapping.

Do I need to code in C a new keyboard mapping? Is there a new way?

For example, for Windows and Linux I've managed to create the layout without needing to write low level code.

(I tried to ask the guys from aros-exec but I cannot register there)

Thanks in advance.
Welcome to ArosWorld MasterTggtt

Here are the maps, if you want to give it a try.


Iirc, because of spamming, some e-mail addresses are not allowed at Aros-Exec, you might try another if available. Also you could try another browser, or first delete any cookies received from Aros-exec.
Hi MasterTggtt,

cavemann is right, keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards.

Theoretical it should be possible to create some kind of a keyboard/leymap editor (amiga-os had them as well) to circumvent the use of grabbing a c-compiler. On the other hand, it 'only' involves adjusting some tables.

If you would like further instructions on creating/modifying keyboard layout then feel free to ask (although i have to dive into it myself, but there are some others that did the same before us)...

Cavemann is also right about the acceptance of certain e-mail addresses (although the one you used to register here should be accepted by aros-exec). Please try cavemann's other suggestion as well. Mostly it's just a browser (and it's cache) that's playing tricks.

If you are still having troubles and really want to register on a-e.org then please feel free to send a pm. It's no problem for us (besides being busy) getting in contact with a-e admin to ask questions on your behalf in order to sort things out.
Thanks a lot, it seems easy enough to create via C code anyway.
Perhaps I could help on a new keyboard layout editor later,
now I just need to to learn how to compile it, I'm going to try using "make" to read that makefile.

After a while, I was sent a registration code for aros-exec as well. I'm going to post news there if I succeed.
A keyboard layout editor would be a fine project and benefit Aros. Hope you have a chance to do it. Good luck.


MasterTggtt wrote:
now I just need to to learn how to compile it, I'm going to try using "make" to read that makefile.

Erm, not that i am someone that knows, but i believe using make on something like that is a bit overkill. In the end you only need to add your compiled table as new keymap.

So taking a little peek here shows that it should be possible to compile using


gcc -opc105_tr pc_105.c -nostdlib

were ofcourse the pc105_tr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file.

Glad to see that you were able to make it over to a-e.org as well :)
I keep getting "initializer element not computable at load time" when trying to compile any of the layout files.
Usually this error appears when someone mistakes C++ for C when initializing arrays, but g++ gives more errors.

At first I thought it was my "sdk on linux"'s fault but the same thing happens on Icaros native.
I will update once I find the problem. I will try compiling from the aros sources instead of using SDK includes. maybe something has changed.
Just in case: please note that abiv0 <> abiv1, so please don't mix them up.

Normally when you installed latest aspireOS/Icaros, there is no need to update the sdk. That would only be enjoyable when wanting to really develop for Aros, but then you would most probably have another development environment to begin with.

FWIW: it's just c, not c++.

See also here.
This message was written using OWB and my custom keyboard layout.

Thank you very much. I've found a thread on aros-exec about how to compile differently than the turkish example.
i386-aros-gcc -o outputdevfile input.c -nostartfiles

The compile time problem was m problem caused by the struct node. In common.h there's the line:
    NULL, NULL, 0, 0, keymapname

However, the struct node has two possible formats and the AROS I'm running was expecting

    NULL, NULL, keymapname, 0, 0

Therefore the error was caused by the compiler trying to convert the name into a dynamic pointer, so it could be converted into an integer.
node.h has the following solution that is also used by that turkish layout magorium has linked.
       NULL, NULL, 0, 0, keymapname
      NULL, NULL, keymapname, 0, 0

I've changed a common.h here, but I've kept the interface as expected by the common.h provided in the repositories. Maybe it was related to the ABI issue and I got the wrong "common"

I have, up to now, 3 layouts that I've coded. 2 are not custom so I think I should contribute, who do I should contact to make it public?
hi MasterTggtt,

Thanks you for the extensive report on your findings. I'm more then sure it would be helpfull to others as well :thumbsup:


I have, up to now, 3 layouts that I've coded. 2 are not custom so I think I should contribute, who do I should contact to make it public?

There are several options:
1) submit your archived project to the aros-archives (can include sources, but is not requirement)
2) if you have svn acces, you can upload your sources there
3) If you do not have svn acces but would like someone to help you then make contact on the developer mailing list (ML), telling what you did and what you need help for.
4) Upload your changes to repo, which requires account as well (but is easier to get then svn acces which takes long to verify sometimes -> months). repo is abiv1 only btw, need to ask someone to backport when wanted.
5) upload changes to gitorious (supports all abi's in seperate branches), also requires account (and also quicker than svn).

All vcs solutions would require you to be familiar (or get familiar) with version control software.
If that is too much, then simply upload to aros-archives or ask help from a developer on ML.

If all of the above fails or does not apply for you, then i'm out of ideas :D (in which case ask on ML for help).

If you think that the files you created are supplemental or bonus files that some people might find worthwhile to download, then upload them to Aros-Archive. It's easy.

Otoh, if you think it would be better if these files were integrated into the Aros code base, then please consider the other options magorium outlined.

Either way, it seems that you might enjoy the developer mailing list. ;)
You can view all discussion threads in this forum.
You can start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You can upload attachments in this forum.
You can download attachments in this forum.