aboutsummaryrefslogtreecommitdiffstats
path: root/res/keyboard/layout/sv/programmer
blob: 1d4314b8f9666fe43156f4d3a6e7a43ade58edcd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
information
  language "Swedish"
  country "Sweden"
  variant "QWERTY, programmer"
end information

# This variant is intended to reduce the risk
# repetitive strain injury for programmers.
# Do not forget the caps_is_ctrl mod.


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("ä" "Ä")
mod_letter("ö" "Ö")

<keycode 41> : <letter |>
<keycode 12> : <letter +>
<keycode 13> : <dead letter ´>
<keycode 26> : <letter ->
<keycode 27> : <dead letter ^>
<keycode 39> : <letter ö>
<keycode 40> : <letter .>
<keycode 43> : <letter '>
<keycode 86> : <letter <>
<keycode 51> : <letter å>
<keycode 52> : <letter ,>
<keycode 53> : <letter ä>


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

macro key/4
  key("\1" "\1" "\2" "\3" "\3")
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"  "!" "1" "" "¡")
key("2"  "\"" "2" "@" "“")
key("3"  "#" "3" "£" "”")
key("4"  "$" "4" "¢" "‘")
key("5"  "%" "5" "€" "’")
key("6"  "&" "6" "¥" "¬")
key("7"  "/" "7" "{" "÷")
key("8"  "(" "8" "[" "«")
key("9"  ")" "9" "]" "»")
key("0"  "=" "0" "}" "°")
key("+"  "+" "?" "\\" "¿")
<shift dead letter ´> : <dead letter `>
<altgr dead letter ´> : "±"
<altgr shift dead letter ´> : <dead letter ¨>

<shift dead letter ^> : "^"
<altgr dead letter ^> : <dead letter ~>
<altgr shift dead letter ^> : "~"

key("'" "*" "`" "×")
key("<" ">" "|" "\\")

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

<letter .> : "."
<shift letter .> : ":"
<altgr letter .> : "·"
<altgr shift letter .> : <dead letter ˙>

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


nocaps("q" "[" "<")
nocaps("w" "]" ">")
nocaps("e" "“" "‘")
nocaps("r" "”" "’")
nocaps("t" "/" "*")
<altgr letter y> : "switch ()" <left>
<altgr shift letter y> : "default:"
<altgr letter u> : "unsigned "
<altgr shift letter u> : "signed "
<altgr letter i> : "else if ()" <left>
<altgr shift letter i> : "else"
<altgr letter o> : "while ()" <left>
<altgr shift letter o> : "for ()" <left>
<altgr letter p> : "continue;"
<altgr shift letter p> : "break;"
# - (see earlier)
# ^ (see earlier)

nocaps("a" "(" "{")
nocaps("s" ")" "}")
nocaps("d" "'" "\"")
nocaps("f" "`" "\\")
nocaps("g" "↑")
# h
<altgr letter j> : "goto fail;"
<altgr shigy letter j> : "goto "
<altgr letter k> : "const "
<altgr shift letter k> : "restrict "
<altgr letter l> : "static "
<altgr shift letter l> : "static inline "
<altgr letter ö> : "return "
<altgr shift letter ö> : "volatile "
# . (see earlier)
# ' (see earlier)

# < (see earlier)
<altgr letter i> : "size_t"
<altgr shift letter i> : "sizeof()" <left>
# x
nocaps("c" "©" "®")
nocaps("v" "←")
nocaps("b" "↓")
nocaps("n" "→" "–")
nocaps("m" "µ" "—")
# å
# , (see earlier)
# ä