information
  language "Spanish"
  country "Argentina"
  country "Bolivia, Plurinational State of"
  country "Chile"
  country "Colombia"
  country "Costa Rica"
  country "Cuba"
  country "Dominican Republic"
  country "Ecuador"
  country "El Salvador"
  country "Guatemala"
  country "Haiti"
  country "Honduras"
  country "Mexico"
  country "Nicaragua"
  country "Panama"
  country "Paraguay"
  country "Peru"
  country "Puerto Rico"
  country "Uruguay"
  country "Venezuela, Bolivarian Republic of"
  variant "Latin American, QWERTY"
end information

function before_one/0
  "|"
end function
function comma/0
  ","
end function
function altcomma/0
  "."
end function

include "../common/qwerty"
include "../common/base"


macro mod_letter/2
  <letter \1> : "\1"
  <shift letter \1> : "\2"
  <caps letter \1> : "\2"
  <shift caps letter \1> : "\1"
end macro

mod_letter("ñ" "Ñ")
mod_letter("ç" "Ç")

<keycode 41> : <letter |>
<keycode 12> : <letter '>
<keycode 13> : <letter ¿>
<keycode 26> : <dead letter ´>
<keycode 27> : <letter +>
<keycode 39> : <letter ñ>
<keycode 40> : <letter {>
<keycode 43> : <letter }>
<keycode 86> : <letter <>
<keycode 51> : <letter ,>
<keycode 52> : <letter .>
<keycode 53> : <letter ->


macro key/4
  <letter \1> : "\1"
  <shift letter \1> : "\2"
  <altgr letter \1> : "\3"
  <altgr shift letter \1> : "\4"
end macro

macro nocaps/2
  <altgr letter \1> : "\2"
  <altgr shift letter \1> : <void>
end macro

macro nocaps/3
  <altgr letter \1> : "\2"
  <altgr shift letter \1> : "\3"
end macro

macro caps/3
  <altgr letter \1> : "\2"
  <altgr shift letter \1> : "\3"
  <altgr caps letter \1> : "\3"
  <altgr caps shift letter \1> : "\2"
end macro


key("|" "°" "¬" "¾")
key("1" "!" "|" "¡")
key("2" "\"" "@" "⅛")
key("3" "#" "·" "£")
key("4" "$" "~" "¼")
key("5" "%" "½" "⅜")
key("6" "&" "¬" "⅝")
key("7" "/" "{" "⅞")
key("8" "(" "[" "™")
key("9" ")" "]" "±")
key("0" "=" "}" "°")
key("'" "?" "\\" "¿")
<letter ¿> : "¿"
<shift letter ¿> : "!"
<altgr letter ¿> : <dead letter ¸>
<altgr shift letter ¿> : <dead letter ˛>


nocaps("q" "Ω")
caps("w" "ł" "Ł")
nocaps("e" "€" "¢")
nocaps("r" "¶" "®")
caps("t" "ŧ" "Ŧ")
nocaps("y" "←" "¥")
nocaps("u" "↓" "↑")
nocaps("i" "→" "ı")
caps("o" "ø" "Ø")
caps("p" "þ" "Þ")

<shift dead letter ´> : <dead letter ¨>
<altgr dead letter ´> : <dead letter ˘>
<altgr shift dead letter ´> : <dead letter °>

<letter +> : "+"
<shift letter +> : "*"
<altgr letter +> : <dead letter ~>
<altgr shift letter +> : <dead letter ¯>


caps("a" "æ" "Æ")
nocaps("s" "ß" "§")
caps("d" "ð" "Ð")
nocaps("f" "đ" "ª")
caps("g" "ŋ" "Ŋ")
caps("h" "ħ" "Ħ")

<altgr letter j> : <dead letter ˀ>
<altgr shift letter j> : <dead letter \u031B> # horn

nocaps("k" "ĸ")
caps("l" "œ" "Œ")

<altgr letter ñ> : <dead letter ~>
<altgr shift letter ñ> : <dead letter ˝>

<letter {> : "{"
<shift letter {> : "["
<altgr letter {> : <dead letter ^>
<altgr shift letter {> : <dead letter ˇ>

<letter }> : "}"
<shift letter }> : "]"
<altgr letter }> : <dead letter `>
<altgr shift letter }> : <void>


key("<" ">" "|" "¦")
nocaps("z" "«" "⸘")
nocaps("x" "»" "‽")
nocaps("c" "¢" "©")
nocaps("v" "“" "‘")
nocaps("b" "”" "’")
<altgr letter n> : <dead letter ˛>
<altgr shift letter n> : <dead letter ˙>
nocaps("m" "µ" "º")

<letter ,> : ","
<shift letter ,> : ";"
<altgr letter ,> : <dead letter ¸>
<altgr shift letter ,> : "×"

<letter .> : "."
<shift letter .> : ":"
<altgr letter .> : "·"
<altgr shift letter .> : "÷"

<letter -> : "-"
<shift letter -> : "_"
<altgr letter -> : <dead letter \u0323>
<altgr shift letter -> : <dead letter ¯>