c             Swiss French Keyboard control file 
c  (for use with Tavultesoft Keyboard Manager  Version 3.1-beta )

c  This program emulates Windows' International Keyboard key-reassignment
c  but simplifies the switching between multiple keyboards (e.g. Lao)

c  Note that in this version, only the left Alt key can be used for
c  enabling or disabling the keyboard (with Alt+=), as the right Alt key
c  is recognized as AltGr and used for some extra keyboard functions.

NAME "Swiss French"
BITMAPS SwissFr1 SwissFr0
HOTKEY "^+F"
VERSION 3.1

begin > use(Main)

c Simple keyboard relocations

store(swapKey) "yYzZ!#$^&*()[{};:\|<>/?`~-_'" '"' "@"
store(swapChar) "zZyY+*į&/()=čü!éö$Ģ;:-_§°'?āä" '"'

c Accented-characters

store(vowel) "aeiouzAEIOUZ"			c this is actually a key, not a code

store(vUmlaut) "äëïöüĸÄËÏÖÜY"		c not Y
store(vCirc) "âęîôûyÂĘÎÔÛY"			c not y, Y
store(vGrave) "āčėōųyĀČĖŌŲY"		c not y, Y
store(vAcute) "áéíóúýÁÉÍÓÚÝ"

store(tildeLtr) "aonAON"
store(tildeChar) "ãõņÃÕŅ"

group(Main) using keys

+ any(swapKey)	>	index(swapChar,1)

c  Define (deadkey) accent characters  (RAlt is AltGr)

+ "]"		>	d168
+ "="		>	'^'
+ "+"		>	'`'
+ [RAlt K_HYPHEN]	>	d180
+ [RAlt K_EQUAL]	>	'~'

d168 + any(vowel)	>	index(vUmlaut,2)
'^' + any(vowel)	>	index(vCirc,2)
'`' + any(vowel)	>	index(vGrave,2)
d180 + any(vowel)	>	index(vAcute,2)
'~' + any(tildeLtr)	>	index(tildeChar,2)

c  AltGr key combinations

c  In the following, AltGr with 9, 0 and ` are used to provide an
c  alternate means of inserting <, > and \  as those characters
c  are normally on an extra key, provided on some European
c  keyboards, but not on standard US keyboards.

+ [RAlt K_1]		> "|"
+ [RAlt K_2]		> "@"
+ [RAlt K_3]		> "#"
+ [RAlt K_4]		> "°"
+ [RAlt K_5]		> "§"
+ [RAlt K_6]		> "Ž"
+ [RAlt K_7]		> "|"
+ [RAlt K_8]		> "Ē"
+ [RAlt K_9]		> "<"
+ [RAlt K_0]		> ">"

+ [RAlt K_LBRKT]		> "["
+ [RAlt K_RBRKT]		> "]"
+ [RAlt K_BKQUOTE]	> "\"
+ [RAlt K_QUOTE]		> "{"
+ [RAlt K_BKSLASH]	> "}"