summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2008-08-09 16:31:06 +0000
committermiod <miod@openbsd.org>2008-08-09 16:31:06 +0000
commit652cd27831ef73d9868582f8722ad51f13236af7 (patch)
treea7da9d05c06e66618137459e4b824af4f1df2534 /sys/dev
parentturn an MFREE() into an m_free() and garbage collect an (diff)
downloadwireguard-openbsd-652cd27831ef73d9868582f8722ad51f13236af7.tar.xz
wireguard-openbsd-652cd27831ef73d9868582f8722ad51f13236af7.zip
Add the fr-dvorak-be'po layout as fr.dvorak for ps/2 and usb keyboards.
This is only the simplified layout, which is final; the complete layout with extra symbols is still being discussed.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pckbc/wskbdmap_mfii.c64
-rw-r--r--sys/dev/usb/makemap.awk13
2 files changed, 70 insertions, 7 deletions
diff --git a/sys/dev/pckbc/wskbdmap_mfii.c b/sys/dev/pckbc/wskbdmap_mfii.c
index e07afaa2216..34baaa678ea 100644
--- a/sys/dev/pckbc/wskbdmap_mfii.c
+++ b/sys/dev/pckbc/wskbdmap_mfii.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: wskbdmap_mfii.c,v 1.38 2008/07/30 15:53:31 deraadt Exp $ */
+/* $OpenBSD: wskbdmap_mfii.c,v 1.39 2008/08/09 16:31:08 miod Exp $ */
/* $NetBSD: wskbdmap_mfii.c,v 1.15 2000/05/19 16:40:04 drochner Exp $ */
/*
@@ -291,6 +291,65 @@ static const keysym_t pckbd_keydesc_fr[] = {
KC(184), KS_Mode_switch, KS_Multi_key,
};
+/*
+ * fr-dvorak-be'po layout, simplified map, per http://www.clavier-dvorak.org/
+ * (the complete map is still a moving target)
+ */
+static const keysym_t pckbd_keydesc_fr_dvorak_bepo[] = {
+ KC(2), KS_quotedbl, KS_1, KS_hyphen,
+ KC(3), KS_guillemotleft, KS_2, KS_less,
+ KC(4), KS_guillemotright, KS_3, KS_greater,
+ KC(5), KS_parenleft, KS_4, KS_bracketleft,
+ KC(6), KS_parenright, KS_5, KS_bracketright,
+ KC(7), KS_at, KS_6,
+ KC(8), KS_plus, KS_7,
+ KC(9), KS_minus, KS_8,
+ KC(10), KS_slash, KS_9,
+ KC(11), KS_asterisk, KS_0,
+ KC(12), KS_equal, KS_asciicircum,
+ KC(13), KS_percent, KS_grave,
+ KC(16), KS_b, KS_B, KS_bar,
+ KC(17), KS_eacute, KS_Eacute, KS_dead_acute,
+ KC(18), KS_p, KS_P, KS_ampersand,
+ KC(19), KS_o, KS_O,
+ /* oe ligature */
+ KC(20), KS_egrave, KS_Egrave, KS_dead_grave,
+ KC(21), KS_dead_circumflex,KS_exclam,
+ KC(22), KS_v,
+ KC(23), KS_d,
+ KC(24), KS_l,
+ KC(25), KS_j,
+ KC(26), KS_z,
+ KC(27), KS_w,
+ KC(30), KS_a, KS_A, KS_ae, KS_AE,
+ KC(31), KS_u, KS_U, KS_ugrave, KS_Ugrave,
+ KC(32), KS_i, KS_I, KS_dead_diaeresis,
+ KC(33), KS_e, KS_E,
+ /* euro currency */
+ KC(34), KS_comma, KS_semicolon,
+ KC(35), KS_c,
+ KC(36), KS_t,
+ KC(37), KS_s,
+ KC(38), KS_r,
+ KC(39), KS_n,
+ KC(40), KS_m,
+ KC(41), KS_dollar, KS_numbersign,
+ KC(43), KS_ccedilla, KS_Ccedilla,
+ KC(44), KS_agrave, KS_Agrave, KS_backslash,
+ KC(45), KS_y, KS_Y, KS_braceleft,
+ KC(46), KS_x, KS_X, KS_braceright,
+ KC(47), KS_period, KS_colon, /* ellipsis */
+ KC(48), KS_k, KS_K, KS_asciitilde,
+ KC(49), KS_apostrophe, KS_question,
+ KC(50), KS_q, KS_Q,
+ KC(51), KS_g, KS_G, KS_mu,
+ KC(52), KS_h,
+ KC(53), KS_f,
+ KC(57), KS_space, KS_nobreakspace,KS_underscore,
+ KC(86), KS_egrave, KS_Egrave, KS_slash,
+ KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
static const keysym_t pckbd_keydesc_it[] = {
/* pos normal shifted altgr shift-altgr */
KC(3), KS_2, KS_quotedbl, KS_twosuperior,
@@ -980,6 +1039,7 @@ const struct wscons_keydesc pckbd_keydesctab[] = {
KBD_MAP(KB_DE, KB_US, pckbd_keydesc_de),
KBD_MAP(KB_DE | KB_NODEAD, KB_DE, pckbd_keydesc_de_nodead),
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),
KBD_MAP(KB_DK | KB_NODEAD, KB_DK, pckbd_keydesc_dk_nodead),
KBD_MAP(KB_IT, KB_US, pckbd_keydesc_it),
@@ -995,6 +1055,8 @@ const struct wscons_keydesc pckbd_keydesctab[] = {
KBD_MAP(KB_US | KB_IOPENER, KB_US, pckbd_keydesc_iopener),
KBD_MAP(KB_JP | KB_SWAPCTRLCAPS, KB_JP, pckbd_keydesc_swapctrlcaps),
KBD_MAP(KB_FR | KB_SWAPCTRLCAPS, KB_FR, pckbd_keydesc_swapctrlcaps),
+ KBD_MAP(KB_FR | KB_DVORAK | KB_SWAPCTRLCAPS, KB_FR | KB_DVORAK,
+ pckbd_keydesc_swapctrlcaps),
KBD_MAP(KB_BE | KB_SWAPCTRLCAPS, KB_BE, pckbd_keydesc_swapctrlcaps),
KBD_MAP(KB_US | KB_DVORAK | KB_SWAPCTRLCAPS, KB_US | KB_DVORAK,
pckbd_keydesc_swapctrlcaps),
diff --git a/sys/dev/usb/makemap.awk b/sys/dev/usb/makemap.awk
index 9626bf44e62..324c6f639f4 100644
--- a/sys/dev/usb/makemap.awk
+++ b/sys/dev/usb/makemap.awk
@@ -1,5 +1,5 @@
#! /usr/bin/awk -f
-# $OpenBSD: makemap.awk,v 1.8 2008/05/19 18:09:06 miod Exp $
+# $OpenBSD: makemap.awk,v 1.9 2008/08/09 16:31:08 miod Exp $
#
# Copyright (c) 2005, Miodrag Vallat
#
@@ -31,7 +31,7 @@
#
BEGIN {
- rcsid = "$OpenBSD: makemap.awk,v 1.8 2008/05/19 18:09:06 miod Exp $"
+ rcsid = "$OpenBSD: makemap.awk,v 1.9 2008/08/09 16:31:08 miod Exp $"
ifdepth = 0
ignore = 0
declk = 0
@@ -39,8 +39,7 @@ BEGIN {
kbfr = 0
nmaps = 0
- # PS/2 id -> UKBD conversion table, or "sanity lossage 102"
- # (101 is for GSC keyboards!)
+ # PS/2 id -> UKBD conversion table, or "sanity lossage 101"
for (i = 0; i < 256; i++)
conv[i] = -1
@@ -398,9 +397,11 @@ $1 == "#define" || $1 == "#undef" {
}
/KB_FR/ {
print $0
- if (kbfr++ == 0) {
+ kbfr++
+ # Add .apple variants, but not to the fr.dvorak variants
+ if (kbfr == 1) {
print "\tKBD_MAP(KB_FR | KB_APPLE,\tKB_FR,\tukbd_keydesc_fr_apple),"
- } else {
+ } else if (kbfr == 3) {
print "\tKBD_MAP(KB_FR | KB_APPLE | KB_SWAPCTRLCAPS,\tKB_FR | KB_APPLE,"
print "\t\tukbd_keydesc_swapctrlcaps),"
}