# # Copyright 2006 Computing Research Labs, New Mexico State University # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT # OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR # THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # $Id$ # # Designate the family and layout names for the input method. # inputmethod "Vietnamese" "VIQR Implicit" # # Set the special processing for letter decomposition. # option decompose # # Bind the key that will force the input method to reset if it is not already # in the initial state. # bind " " resetorsend \x{0020} bind "!" send \x{0021} keycap \x{0021} bind "\"" send \x{0022} keycap \x{0022} bind "#" send \x{0023} keycap \x{0023} bind "$" send \x{0024} keycap \x{0024} bind "%" send \x{0025} keycap \x{0025} bind "&" send \x{0026} keycap \x{0026} bind "'" send \x{0027} keycap \x{0027} bind "(" send \x{0028} keycap \x{0028} bind ")" send \x{0029} keycap \x{0029} bind "*" send \x{002A} keycap \x{002A} bind "+" send \x{002B} keycap \x{002B} bind "," send \x{002C} keycap \x{002C} bind "-" send \x{002D} keycap \x{002D} bind "." send \x{002E} keycap \x{002E} bind "/" send \x{002F} keycap \x{002F} bind "0" digit \x{0030} bind "1" digit \x{0031} bind "2" digit \x{0032} bind "3" digit \x{0033} bind "4" digit \x{0034} bind "5" digit \x{0035} bind "6" digit \x{0036} bind "7" digit \x{0037} bind "8" digit \x{0038} bind "9" digit \x{0039} bind ":" send \x{003A} keycap \x{003A} bind ";" send \x{003B} keycap \x{003B} bind "<" send \x{003C} keycap \x{003C} bind "=" send \x{003D} keycap \x{003D} bind ">" send \x{003E} keycap \x{003E} bind "?" send \x{003F} keycap \x{003F} bind "@" send \x{0040} keycap \x{0040} bind "A" send \x{0041} keycap \x{0041} bind "B" send \x{0042} keycap \x{0042} bind "C" send \x{0043} keycap \x{0043} bind "D" send \x{0044} keycap \x{0044} bind "E" send \x{0045} keycap \x{0045} bind "F" send \x{0046} keycap \x{0046} bind "G" send \x{0047} keycap \x{0047} bind "H" send \x{0048} keycap \x{0048} bind "I" send \x{0049} keycap \x{0049} bind "J" send \x{004A} keycap \x{004A} bind "K" send \x{004B} keycap \x{004B} bind "L" send \x{004C} keycap \x{004C} bind "M" send \x{004D} keycap \x{004D} bind "N" send \x{004E} keycap \x{004E} bind "O" send \x{004F} keycap \x{004F} bind "P" send \x{0050} keycap \x{0050} bind "Q" send \x{0051} keycap \x{0051} bind "R" send \x{0052} keycap \x{0052} bind "S" send \x{0053} keycap \x{0053} bind "T" send \x{0054} keycap \x{0054} bind "U" send \x{0055} keycap \x{0055} bind "V" send \x{0056} keycap \x{0056} bind "W" send \x{0057} keycap \x{0057} bind "X" send \x{0058} keycap \x{0058} bind "Y" send \x{0059} keycap \x{0059} bind "Z" send \x{005A} keycap \x{005A} bind "[" send \x{005B} keycap \x{005B} bind "\\" send \x{005C} keycap \x{005C} bind "]" send \x{005D} keycap \x{005D} bind "^" send \x{005E} keycap \x{005E} bind "_" send \x{005F} keycap \x{005F} bind "`" send \x{0060} keycap \x{0060} bind "a" send \x{0061} keycap \x{0061} bind "b" send \x{0062} keycap \x{0062} bind "c" send \x{0063} keycap \x{0063} bind "d" send \x{0064} keycap \x{0064} bind "e" send \x{0065} keycap \x{0065} bind "f" send \x{0066} keycap \x{0066} bind "g" send \x{0067} keycap \x{0067} bind "h" send \x{0068} keycap \x{0068} bind "i" send \x{0069} keycap \x{0069} bind "j" send \x{006A} keycap \x{006A} bind "k" send \x{006B} keycap \x{006B} bind "l" send \x{006C} keycap \x{006C} bind "m" send \x{006D} keycap \x{006D} bind "n" send \x{006E} keycap \x{006E} bind "o" send \x{006F} keycap \x{006F} bind "p" send \x{0070} keycap \x{0070} bind "q" send \x{0071} keycap \x{0071} bind "r" send \x{0072} keycap \x{0072} bind "s" send \x{0073} keycap \x{0073} bind "t" send \x{0074} keycap \x{0074} bind "u" send \x{0075} keycap \x{0075} bind "v" send \x{0076} keycap \x{0076} bind "w" send \x{0077} keycap \x{0077} bind "x" send \x{0078} keycap \x{0078} bind "y" send \x{0079} keycap \x{0079} bind "z" send \x{007A} keycap \x{007A} bind "{" send \x{007B} keycap \x{007B} bind "|" send \x{007C} keycap \x{007C} bind "}" send \x{007D} keycap \x{007D} bind "~" send \x{007E} keycap \x{007E} # # Add the Vietnamese D-bar characters. # #bind "Control+D" send \x{0110} keycap \x{0110} #bind "Control+d" send \x{0111} keycap \x{0111} bind "A'" send \x{00C1} bind "A(" send \x{0102} bind "A('" send \x{1EAE} bind "A(." send \x{1EB6} bind "A(?" send \x{1EB2} bind "A(`" send \x{1EB0} bind "A(~" send \x{1EB4} bind "A." send \x{1EA0} bind "A?" send \x{1EA2} bind "A^" send \x{00C2} bind "A^'" send \x{1EA4} bind "A^." send \x{1EAC} bind "A^?" send \x{1EA8} bind "A^`" send \x{1EA6} bind "A^~" send \x{1EAA} bind "A`" send \x{00C0} bind "A~" send \x{00C3} bind "DD" send \x{0110} bind "E'" send \x{00C9} bind "E." send \x{1EB8} bind "E?" send \x{1EBA} bind "E^" send \x{00CA} bind "E^'" send \x{1EBE} bind "E^." send \x{1EC6} bind "E^?" send \x{1EC2} bind "E^`" send \x{1EC0} bind "E^~" send \x{1EC4} bind "E`" send \x{00C8} bind "E~" send \x{1EBC} bind "I'" send \x{00CD} bind "I." send \x{1ECA} bind "I?" send \x{1EC8} bind "I`" send \x{00CC} bind "I~" send \x{0128} bind "O'" send \x{00D3} bind "O+" send \x{01A0} bind "O+'" send \x{1EDA} bind "O+." send \x{1EE2} bind "O+?" send \x{1EDE} bind "O+`" send \x{1EDC} bind "O+~" send \x{1EE0} bind "O." send \x{1ECC} bind "O?" send \x{1ECE} bind "O^" send \x{00D4} bind "O^'" send \x{1ED0} bind "O^." send \x{1ED8} bind "O^?" send \x{1ED4} bind "O^`" send \x{1ED2} bind "O^~" send \x{1ED6} bind "O`" send \x{00D2} bind "O~" send \x{00D5} bind "U'" send \x{00DA} bind "U+" send \x{01AF} bind "U+'" send \x{1EE8} bind "U+." send \x{1EF0} bind "U+?" send \x{1EEC} bind "U+`" send \x{1EEA} bind "U+~" send \x{1EEE} bind "U." send \x{1EE4} bind "U?" send \x{1EE6} bind "U`" send \x{00D9} bind "U~" send \x{0168} bind "Y'" send \x{00DD} bind "Y." send \x{1EF4} bind "Y?" send \x{1EF6} bind "Y`" send \x{1EF2} bind "Y~" send \x{1EF8} bind "a'" send \x{00E1} bind "a(" send \x{0103} bind "a('" send \x{1EAF} bind "a(." send \x{1EB7} bind "a(?" send \x{1EB3} bind "a(`" send \x{1EB1} bind "a(~" send \x{1EB5} bind "a." send \x{1EA1} bind "a?" send \x{1EA3} bind "a^" send \x{00E2} bind "a^'" send \x{1EA5} bind "a^." send \x{1EAD} bind "a^?" send \x{1EA9} bind "a^`" send \x{1EA7} bind "a^~" send \x{1EAB} bind "a`" send \x{00E0} bind "a~" send \x{00E3} bind "dd" send \x{0111} bind "e'" send \x{00E9} bind "e." send \x{1EB9} bind "e?" send \x{1EBB} bind "e^" send \x{00EA} bind "e^'" send \x{1EBF} bind "e^." send \x{1EC7} bind "e^?" send \x{1EC3} bind "e^`" send \x{1EC1} bind "e^~" send \x{1EC5} bind "e`" send \x{00E8} bind "e~" send \x{1EBD} bind "i'" send \x{00ED} bind "i." send \x{1ECB} bind "i?" send \x{1EC9} bind "i`" send \x{00EC} bind "i~" send \x{0129} bind "o'" send \x{00F3} bind "o+" send \x{01A1} bind "o+'" send \x{1EDB} bind "o+." send \x{1EE3} bind "o+?" send \x{1EDF} bind "o+`" send \x{1EDD} bind "o+~" send \x{1EE1} bind "o." send \x{1ECD} bind "o?" send \x{1ECF} bind "o^" send \x{00F4} bind "o^'" send \x{1ED1} bind "o^." send \x{1ED9} bind "o^?" send \x{1ED5} bind "o^`" send \x{1ED3} bind "o^~" send \x{1ED7} bind "o`" send \x{00F2} bind "o~" send \x{00F5} bind "u'" send \x{00FA} bind "u+" send \x{01B0} bind "u+'" send \x{1EE9} bind "u+." send \x{1EF1} bind "u+?" send \x{1EED} bind "u+`" send \x{1EEB} bind "u+~" send \x{1EEF} bind "u." send \x{1EE5} bind "u?" send \x{1EE7} bind "u`" send \x{00F9} bind "u~" send \x{0169} bind "y'" send \x{00FD} bind "y." send \x{1EF5} bind "y?" send \x{1EF7} bind "y`" send \x{1EF3} bind "y~" send \x{1EF9}