I occasionally read and write French and German by myself, because I am too lazy to ask translation to someone. These languages use characters that are not provided on KINESIS (and most of the non-European) keyboards.
I have been working as a member of the Mule developing team, and have written many input methods for European languages. But I myself do not use them because of the following reasons.
So I had written my own input method and used it for a while, but it was troublesome because the very same keystrokes behaved differently in different modes. After that, I used the Hyper key as a shift for diacritical marks. At first it seemed to work fine, but I soon realised that keeping one key held down while hitting another key is more difficult than hitting two keys consecutively. Therefore now I am using the Tab key allocated to the right thumb as the introducer of a single shift mode. A key stroke following the Tab key produces a letter with diacritical mark. (Whenever Emacs expects the Tab function, you can use 'C-i' insted.) The keymap preceded by the Tab key looks like the following:
With a Shift key, the keymap looks like the following:
The configuration file to input French and German is read by the ~/.emacs at the startup time.
This is the end of level 3 keyboard customisation. By now, you should be able to type Emacs commands, English text, French text and German text quite easily.