Hallo,
ich habe mir mal die sechs Jahre alten Einträge im Wiki [1]
angeschaut und einen Patch für den aktuellen 5.7 "Release"-Kern von
OpenBSD geschrieben. Der ist noch ganz frisch; bisher funktionieren nur
die ersten beiden Ebenen.
Später mache ich damit weiter. Ich will hier nur kurz die heutige
Errungenschaft mit euch teilen und schauen, ob es vielleicht noch andere
Interessenten oder Tester gibt.
. Kurzanleitung zum Ausprobieren (vgl. [2])
1. http://ftp.spline.de/pub/OpenBSD/5.7/sys.tar.gz herunterladen
2. tar xzf sys.tar.gz
3. cd sys
4. patch < neo.diff
5. cd arch/`machine`/config
6. config GENERIC
7. cd ../compile/GENERIC
8. make clean && make && make install
9. reboot
A. kbd de.dvorak (ist tatsächlich neo)
[1] http://wiki.neo-layout.org/browser/unix/openbsd
[2] http://www.openbsd.org/faq/faq5.html#BldKernel
--- dev/pckbc/ur-wskbdmap_mfii.c Sat May 30 22:31:20 2015
+++ dev/pckbc/wskbdmap_mfii.c Sun May 31 02:41:23 2015
@@ -207,6 +207,53 @@
KC(41), KS_asciicircum, KS_degree,
};
+/* neo-layout.org */
+static const keysym_t pckbd_keydesc_de_neo[] = {
+/* Pos Ebene 1 Ebene 2 Ebene 3*/
+ KC(2), KS_1, KS_degree, KS_onesuperior,
+ KC(3), KS_2, KS_paragraph, KS_twosuperior,
+ KC(4), KS_3, /* Liter */ KS_threesuperior,
+ KC(5), KS_4, KS_guillemotleft, /* > */
+ KC(6), KS_5, KS_guillemotright, /* < */
+ KC(7), KS_6, KS_currency, KS_cent,
+ KC(8), KS_7, /* Euro */ KS_yen,
+ KC(9), KS_8, KS_L7_dbllow9quot,
+ KC(10), KS_9, KS_L7_leftdblquot,
+ KC(11), KS_0, KS_L7_rightdblquot, KS_L7_rightsnglquot,
+ KC(16), KS_x, KS_X, /* Ellipse */
+ KC(17), KS_v, KS_V, KS_underscore,
+ KC(18), KS_l, KS_L, KS_bracketleft,
+ KC(19), KS_c, KS_C, KS_bracketright,
+ KC(20), KS_w, KS_W, KS_asciitilde,
+ KC(21), KS_k, KS_K, KS_exclam,
+ KC(22), KS_h, KS_H, KS_less,
+ KC(23), KS_g, KS_G, KS_greater,
+ KC(24), KS_f, KS_F, KS_equal,
+ KC(25), KS_q, KS_Q, KS_ampersand,
+ KC(26), KS_ssharp, /* Versal-Sz & langes S */
+ KC(30), KS_u, KS_U, KS_backslash,
+ KC(31), KS_i, KS_I, KS_slash,
+ KC(32), KS_a, KS_A, KS_braceleft,
+ KC(33), KS_e, KS_E, KS_braceright,
+ KC(34), KS_o, KS_O, KS_asterisk,
+ KC(35), KS_s, KS_S, KS_question,
+ KC(36), KS_n, KS_N, KS_parenleft,
+ KC(37), KS_r, KS_R, KS_parenright,
+ KC(38), KS_t, KS_T, KS_minus,
+ KC(39), KS_d, KS_D, KS_colon,
+ KC(40), KS_y, KS_Y, KS_at,
+ KC(44), KS_udiaeresis, KS_Udiaeresis, KS_numbersign,
+ KC(45), KS_odiaeresis, KS_Odiaeresis, KS_dollar,
+ KC(46), KS_adiaeresis, KS_Adiaeresis, KS_bar,
+ KC(47), KS_p, KS_P, KS_asciitilde,
+ KC(48), KS_z, KS_Z, KS_acute,
+ KC(49), KS_b, KS_B, KS_plus,
+ KC(50), KS_m, KS_M, KS_percent,
+ KC(51), KS_comma, KS_minus, KS_apostrophe,
+ KC(52), KS_period, KS_periodcentered, KS_quotedbl,
+ KC(53), KS_j, KS_J, KS_semicolon,
+};
+
static const keysym_t pckbd_keydesc_dk[] = {
/* pos normal shifted altgr shift-altgr */
KC(3), KS_2, KS_quotedbl, KS_at,
@@ -1081,6 +1128,7 @@
#if !defined(WSKBD_NO_INTL_LAYOUTS)
KBD_MAP(KB_DE, KB_US, pckbd_keydesc_de),
KBD_MAP(KB_DE | KB_NODEAD, KB_DE, pckbd_keydesc_de_nodead),
+ KBD_MAP(KB_DE | KB_DVORAK, KB_DE, pckbd_keydesc_de_neo),
KBD_MAP(KB_FR, KB_US, pckbd_keydesc_fr),
KBD_MAP(KB_FR | KB_DVORAK, KB_US, pckbd_keydesc_fr_dvorak_bepo),
KBD_MAP(KB_DK, KB_US, pckbd_keydesc_dk),