| 105 | | Achtung: Diese Anleitung wird nicht so gut gewartet wie die für Linux. Bevor |
| 106 | | man anfängt, sollte man sich eine Kopie von /usr/X11R7/lib/X11/xkb machen. Man |
| 107 | | sollte in der Lage sein, von der Konsole aus mit dieser Kopie den |
| 108 | | Ausgangszustand wiederherzustellen. Unter X mit einer zerschossenen |
| 109 | | Tastaturbelegung könnte das nämlich schwierig werden. |
| 110 | | |
| 111 | | Neo lässt sich mit NetBSD ähnlich wie unter Linux betreiben. Die folgenden |
| 112 | | Instruktionen funktionieren für NetBSD-current/i386 auf ungefähr dem Stand von |
| 113 | | NetBSD-5.0, mit Xorg aus dem Basissystem (also nicht aus pkgsrc). |
| 114 | | |
| 115 | | Zuerst holt man sich '''[http://neo-layout.org/xkb.tgz]''') und entpackt es. |
| 116 | | Dann kopiert man die Dateien (als root) an ihren Platz. |
| 117 | | {{{ |
| 118 | | tar xzf xkb.tgz |
| 119 | | cd xkb |
| 120 | | su |
| 121 | | umask 022 |
| 122 | | cp symbols/de /usr/X11R7/lib/X11/xkb/symbols/pc |
| 123 | | cp symbols/level5 /usr/X11R7/lib/X11/xkb/symbols |
| 124 | | cp symbols/level3 /usr/X11R7/lib/X11/xkb/symbols |
| 125 | | cp symbols/shift /usr/X11R7/lib/X11/xkb/symbols |
| 126 | | cp types/level5 /usr/X11R7/lib/X11/xkb/types |
| 127 | | cp compat/neo_mods /usr/X11R7/lib/X11/xkb/compat |
| 128 | | cd /usr/X11R7/lib/X11/xkb/symbols |
| 129 | | ln -s pc/latin |
| 130 | | ln -s keypad kpdl |
| 131 | | rm de |
| 132 | | ln -s pc/de |
| 133 | | }}} |
| 134 | | |
| 135 | | Man ergänzt /usr/X11R7/lib/X11/xkb/types/complete, um types/level5 einzubinden. |
| 136 | | Die geänderte Datei sieht so aus: |
| 137 | | {{{ |
| 138 | | default xkb_types "complete" { |
| 139 | | include "basic" |
| 140 | | include "mousekeys" |
| 141 | | include "pc" |
| 142 | | include "iso9995" |
| 143 | | include "extra" |
| 144 | | include "level5" |
| 145 | | }; |
| 146 | | }}} |
| 147 | | |
| 148 | | Man erweitert level5_lock in /usr/X11R7/lib/X11/xkb/compat/neo_mods zu: |
| 149 | | {{{ |
| 150 | | partial xkb_compatibility "level5_lock" { |
| 151 | | virtual_modifiers NumLock,LevelFive; |
| 152 | | interpret ISO_Level5_Lock { |
| 153 | | action = LockMods(modifiers = NumLock); |
| 154 | | }; |
| 155 | | interpret ISO_Level5_Shift { |
| 156 | | action = SetMods(modifiers = LevelFive); |
| 157 | | }; |
| 158 | | }; |
| 159 | | }}} |
| 160 | | |
| 161 | | Man ergänzt /usr/X11R7/lib/X11/xkb/compat/complete, um compat/neo_mods einzubinden. |
| 162 | | Die geänderte Datei sieht so aus: |
| 163 | | {{{ |
| 164 | | default xkb_compatibility "complete" { |
| 165 | | include "basic" |
| 166 | | augment "iso9995" |
| 167 | | augment "mousekeys" |
| 168 | | augment "accessx(full)" |
| 169 | | augment "misc" |
| 170 | | augment "xfree86" |
| 171 | | augment "neo_mods" |
| 172 | | }; |
| 173 | | }}} |
| 174 | | |
| 175 | | Um die Modifikatoren bekannt zu machen sucht man in |
| 176 | | /usr/X11R7/lib/X11/xkb/rules/xorg diese Zeile: |
| 177 | | {{{ |
| 178 | | ! option = symbols |
| 179 | | }}} |
| 180 | | und schreibt diese darunter: |
| 181 | | {{{ |
| 182 | | shift:both_capslock = +shift(both_capslock) |
| 183 | | shift:lshift_both_capslock = +shift(lshift_both_capslock) |
| 184 | | shift:rshift_both_capslock = +shift(rshift_both_capslock) |
| 185 | | shift:both_capslock_cancel = +shift(both_capslock_cancel) |
| 186 | | shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) |
| 187 | | shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) |
| 188 | | shift:both_shiftlock = +shift(both_shiftlock) |
| 189 | | shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) |
| 190 | | shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) |
| 191 | | lv3:caps_switch = +level3(caps_switch) |
| 192 | | lv3:bksl_switch = +level3(bksl_switch) |
| 193 | | lv3:lsgt_switch = +level3(lsgt_switch) |
| 194 | | lv3:caps_switch_latch = +level3(caps_switch_latch) |
| 195 | | lv3:bksl_switch_latch = +level3(bksl_switch_latch) |
| 196 | | lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) |
| 197 | | lv5:lsgt_switch_numlock = +level5(lsgt_switch_numlock) |
| 198 | | lv5:ralt_switch_numlock = +level5(ralt_switch_numlock) |
| 199 | | lv5:lwin_switch_numlock = +level5(lwin_switch_numlock) |
| 200 | | lv5:rwin_switch_numlock = +level5(rwin_switch_numlock) |
| 201 | | lv5:lsgt_switch_numlock_cancel = +level5(lsgt_switch_numlock_cancel) |
| 202 | | lv5:ralt_switch_numlock_cancel = +level5(ralt_switch_numlock_cancel) |
| 203 | | lv5:lwin_switch_numlock_cancel = +level5(lwin_switch_numlock_cancel) |
| 204 | | lv5:rwin_switch_numlock_cancel = +level5(rwin_switch_numlock_cancel) |
| 205 | | }}} |
| | 103 | Neo 2 ist seit Ende Mai 2010 in NetBSD-current enthalten. |