The SFS 5966 keyboard is a good sample solution for user case 1, for Finland. User case 1 can be solved for other countries using similar methods.
User case 2 can be solved only if all countries' create an international keyboard layout solution which is based on a common model. If a common set of rules is followed, only those characters which are specific to the national keyboard will be different on each keyboard. All other keys should be positioned using a uniform layout. In the end, we will have a common way for producing some finite set of characters. That set will be discovered only after every layout has been designed. Once the layouts have been designed, we will know the shared set. Every keyboard layout must then be provided with extra documentation for producing the set of characters which fall outside the shared set. Once this is done, any user anywhere in Europe can sit at any keyboard following the shared layout, and just look up those keys which differ between his/her national keyboard layout and the one she/he is sitting in front of at the moment.
In other words, every country in Europe must follow a common set of guidelines for designing their internation keyboard layout which can be used to generate those characters which fall outside their national set of characters. This means that user case 2 cannot be solved immediately using the SFS 5966 solution. However, if countries adopt the solution, user case 2 will gradually get solved.
User case 3 cannot be solved satisfactorily with the SFS 5966 solution, as frequent use of certain characters requires that those characters be produced with a single key press (with at most one modifier key in addition to the shift key). Multiple key presses to generate one character, except in rare cases of characters with multiple diacriticis, are not an acceptable solution for a user who needs to enter large volumes of text.
SFS solution: All base letters (characters without diacritics) (with slash modified characters considered having a diacritic) can be found in levels 1-4. All characters with a diacritic are entered by first entering a diacritic, which is behind one key in level 1-4, and then a base letter. In addition, nationally defined characters with a diacritic can have their own position so that they can be produced with a single key in levels 1-4. Covers many symbols used in Europe. I don't know how many, if any, symbols which are needed in Europe are missing. Additional work is required to cover all needed symbols, even if the work ends up concluding that all symbols are covered.
Global IM solution: Covers all characters, and even non-character strings. No implementation is currently available, but due to simplicity of implementation, one could be achieved in a short amount of time. The advantage is that all characters can be entered with a single keystroke in levels 1-4, even characters with a diacritic (even a limited number of characters with multiple diacritics). The disadvantage is that users must always select a specific keyboard layout before they start typing. This burden can be alleviated by using a simple interface for selecting the layout.
ISO-IEC-9995-3 solution: Covers all latin characters, not just those in use in Europe. Includes support for cyrillic, Greek and other scripts, and symbols. A single universal means for entering all latin characters. The big advantage is that once a user learns the method once, it will work the same on all keyboards. Disadvantages are: (a) Each "international" character (characters outside "a-zA-Z0-9,.-") requires multiple keystrokes. (b) Each character's sequence must be memorized, which can be difficult. No implementation is currently available. Implemenation work can probably not start before the method has been finalized.
Jukka Korpela's symbols solution: Provides a means to enter a large number of symbols, and potentially other characters such as Greek, using a system which is the same on any keyboard. The system requires that a national keyboard have a number of level 3 positions available and not in other use. The system parallels the SFS 5966 method in that it makes some keys work as dead keys (when used in combination with AltGr) to create symbols. It also parallels the 9995-3 solution in that the method is almost identical to 9995-3's latching system (AltGr is used instead of a super key, and the key positions are different). This solution has the potential to solve the issue of symbols. Since "@~" are also symbols, it also solves one of the problems with Internet cafes. After some consideration, however, Korpela's method seems to be largely similar to the 9995-3 approach, and it is my opinion that implementing both would be unwise, as it would create two systems with an almost identical underlying concept, but with a different implementation in regards to the key positions used.
User case 2 can be solved only if all countries' create an international keyboard layout solution which is based on a common model. If a common set of rules is followed, only those characters which are specific to the national keyboard will be different on each keyboard. All other keys should be positioned using a uniform layout. In the end, we will have a common way for producing some finite set of characters. That set will be discovered only after every layout has been designed. Once the layouts have been designed, we will know the shared set. Every keyboard layout must then be provided with extra documentation for producing the set of characters which fall outside the shared set. Once this is done, any user anywhere in Europe can sit at any keyboard following the shared layout, and just look up those keys which differ between his/her national keyboard layout and the one she/he is sitting in front of at the moment.
In other words, every country in Europe must follow a common set of guidelines for designing their internation keyboard layout which can be used to generate those characters which fall outside their national set of characters. This means that user case 2 cannot be solved immediately using the SFS 5966 solution. However, if countries adopt the solution, user case 2 will gradually get solved.
User case 3 cannot be solved satisfactorily with the SFS 5966 solution, as frequent use of certain characters requires that those characters be produced with a single key press (with at most one modifier key in addition to the shift key). Multiple key presses to generate one character, except in rare cases of characters with multiple diacriticis, are not an acceptable solution for a user who needs to enter large volumes of text.
Description of all three solutions
SFS solution: All base letters (characters without diacritics) (with slash modified characters considered having a diacritic) can be found in levels 1-4. All characters with a diacritic are entered by first entering a diacritic, which is behind one key in level 1-4, and then a base letter. In addition, nationally defined characters with a diacritic can have their own position so that they can be produced with a single key in levels 1-4. Covers many symbols used in Europe. I don't know how many, if any, symbols which are needed in Europe are missing. Additional work is required to cover all needed symbols, even if the work ends up concluding that all symbols are covered.
Global IM solution: Covers all characters, and even non-character strings. No implementation is currently available, but due to simplicity of implementation, one could be achieved in a short amount of time. The advantage is that all characters can be entered with a single keystroke in levels 1-4, even characters with a diacritic (even a limited number of characters with multiple diacritics). The disadvantage is that users must always select a specific keyboard layout before they start typing. This burden can be alleviated by using a simple interface for selecting the layout.
ISO-IEC-9995-3 solution: Covers all latin characters, not just those in use in Europe. Includes support for cyrillic, Greek and other scripts, and symbols. A single universal means for entering all latin characters. The big advantage is that once a user learns the method once, it will work the same on all keyboards. Disadvantages are: (a) Each "international" character (characters outside "a-zA-Z0-9,.-") requires multiple keystrokes. (b) Each character's sequence must be memorized, which can be difficult. No implementation is currently available. Implemenation work can probably not start before the method has been finalized.
Jukka Korpela's symbols solution: Provides a means to enter a large number of symbols, and potentially other characters such as Greek, using a system which is the same on any keyboard. The system requires that a national keyboard have a number of level 3 positions available and not in other use. The system parallels the SFS 5966 method in that it makes some keys work as dead keys (when used in combination with AltGr) to create symbols. It also parallels the 9995-3 solution in that the method is almost identical to 9995-3's latching system (AltGr is used instead of a super key, and the key positions are different). This solution has the potential to solve the issue of symbols. Since "@~" are also symbols, it also solves one of the problems with Internet cafes. After some consideration, however, Korpela's method seems to be largely similar to the 9995-3 approach, and it is my opinion that implementing both would be unwise, as it would create two systems with an almost identical underlying concept, but with a different implementation in regards to the key positions used.