home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR22
/
JORF21_2.ZIP
/
FRENKEYS.J
< prev
next >
Wrap
Text File
|
1993-07-05
|
3KB
|
135 lines
FrenKeys:Start
New Key
Win:Add ("What Key?", 5, 15, 15, 50)
For French accents, use normal punctuation
characters in front of letters for these
accents:
' Accent Ague 'e = é
` Accent Grave `a = à
, Cedille ,c = ç
^ Circumflex ^o = ô
: Umlaut :U = Ü
<< Quotes << = «
{}
Event:Add ("FrenKeys","Key",Here) | And use Frenkeys
Win:Msg ("Press Esc to Quit")
While (Kbd:Got!="Esc_Key")
Str:Put ("Press a Key: ")
Key = Ok
While Key = Ok
Key = Kbd:Get ("Big")
Str:PutLine ('That was the "' + Key + '".')
Jorf:Exit
FrenKeys:'_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = "'"
Return (Ok)
FrenKeys:,_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = ","
Return (Ok)
FrenKeys::_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = ":"
Return (Ok)
FrenKeys:<_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = "<"
Return (Ok)
FrenKeys:>_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = ">"
Return (Ok)
FrenKeys:^_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = "^"
Return (Ok)
FrenKeys:`_key
If Mem:Ptr->LastKey
Return (Null)
Mem:Ptr->LastKey = "`"
Return (Ok)
FrenKeys:Else (Key)
New (DoubleKey)
If (Mem:Ptr->LastKey)
DoubleKey = Mem:Ptr->LastKey + Str:At (Key,1,1)
Mem:Ptr->LastKey = Null
Switch DoubleKey
Case "`A"
Return "à_key"
Case "'A"
Return "á_key"
Case "^A"
Return "â_key"
Case ":A"
If To:Ascii (Key) < 97
Return "Ä_key"
Return "ä_key"
Case ',C'
If To:Ascii (Key) < 97
Return "Ç_Key"
Return "ç_Key"
Case "`E"
Return "è_key"
Case "'E"
If To:Ascii (Key) < 97
Return "É_key"
Return ("é_key")
Case "^E"
Return "ê_key"
Case ":E"
Return "ë_key"
Case "`I"
Return "ì_key"
Case "'I"
Return "í_key"
Case "^I"
Return "î_key"
Case ":I"
Return "ï_key"
Case "`O"
Return "ò_key"
Case "'O"
Return "ó_key"
Case "^O"
Return "ô_key"
Case ":O"
If To:Ascii (Key) < 97
Return "Ö_key"
Return "ö_key"
Case "`U"
Return "ù_key"
Case "'U"
Return "ú_key"
Case "^U"
Return "û_key"
Case ":U"
If To:Ascii (Key) < 97
Return "Ü_key"
Return "ü_key"
Case "<<"
Return "«_key"
Case ">>"
Return "»_key"
Kbd:Put (Key)
Return (Str:At (DoubleKey,1,1) + "_key")
Return (Key)