Keyboard Support

Contact and Search

Keyman.com Homepage

Header bottom

Keyman.com

Index

On this page

Step 9: The Finished Keyboard

The Quick French Keyboard

Here is the completed keyboard:

c Simplified French Keyboard for Keyman 7.0
c
c This keyboard program uses a simplified set of keys
c for typing French, especially for those who don't know the
c standard French keyboard.
c
c NOTE: This keyboard was created from the Keyman keyboard
c programming tutorial.

store(&Version) "7.0"             c This keyboard is for use with Keyman 7.0
store(&Name)    "Quick French"
store(&Bitmap)  "qfrench.ico"
store(&MnemonicLayout) "1"        c This keyboard uses a mnemonic layout.

begin Unicode > use(Main)

group( Main ) using keys

c Store the upper and lowercase vowels with different accents
store( plainvowels )  'a'    'e'    'i'    'o'    'u'      'A'    'E'    'I'    'O'    'U'
store( acutevowels )  U+00E1 U+00E9 U+00ED U+00F3 U+00FA   U+00C1 U+00C9 U+00CD U+00D3 U+00DA
store( gravevowels )  U+00E0 U+00E8 U+00EC U+00F2 U+00F9   U+00C0 U+00C8 U+00CC U+00D2 U+00D9
store( circumvowels ) U+00E2 U+00EA U+00EE U+00F4 U+00FB   U+00C2 U+00CA U+00CE U+00D4 U+00DB
store( dresisvowels ) U+00E4 U+00EB U+00EF U+00F6 U+00FC   U+00C4 U+00CB U+00CF U+00D6 U+00DC

c Output deadkeys only for the accent keys pressed
+ "'" > dk(quote)     c Quote for acute accent
+ "`" > dk(bkquote)   c Backquote for grave accent
+ "^" > dk(caret)     c Caret for circumflex
+ '"' > dk(dbquote)   c Double-quote for dieresis

c Rules for accented vowels
dk(quote)   + any( plainvowels ) > index( acutevowels, 2 )
dk(bkquote) + any( plainvowels ) > index( gravevowels, 2 )
dk(caret)   + any( plainvowels ) > index( circumvowels, 2 )
dk(dbquote) + any( plainvowels ) > index( dresisvowels, 2 )

c Rules for other characters
dk(quote) + "y" > U+00FD  c Acute-accented Y
dk(quote) + "Y" > U+00DD

dk(quote) + "c" > U+00E7  c C-cedilla
dk(quote) + "C" > U+00C7

"<" + "<" > U+00AB        c Angled quotes
">" + ">" > U+00BB

c Rules for the accent character itself (type it twice)
dk(quote)   + "'" > "'"   c Quote
dk(bkquote) + "`" > "`"   c Backquote
dk(caret)   + "^" > "^"   c Caret
dk(dbquote) + '"' > '"'   c Double-quote

c End of keyboard