koi...@tilde.club writes:
> Hello, > > How could I add the Workman keyboard layout so that it can be used as a > keyboard > encoding with wsconsctl? > > Cheers, > Gabriel Hi! Easiest way is to create a wsconsctl.conf that sets each key to the proper value. Here is the colemak equiv from colemak.com: #!/bin/sh # Colemak layout script for OpenBSD console. # 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain. wsconsctl keyboard.encoding=us \ keyboard.map+="keycode 41 = grave asciitilde dead_tilde asciitilde " \ keyboard.map+="keycode 2 = 1 exclam exclamdown onesuperior " \ keyboard.map+="keycode 3 = 2 at masculine twosuperior " \ keyboard.map+="keycode 4 = 3 numbersign ordfeminine threesuperior " \ keyboard.map+="keycode 5 = 4 dollar cent sterling " \ keyboard.map+="keycode 6 = 5 percent asciitilde yen " \ keyboard.map+="keycode 7 = 6 asciicircum asciitilde asciitilde " \ keyboard.map+="keycode 8 = 7 ampersand eth ETH " \ keyboard.map+="keycode 9 = 8 asterisk thorn THORN " \ keyboard.map+="keycode 10 = 9 parenleft asciitilde asciitilde " \ keyboard.map+="keycode 11 = 0 parenright asciitilde asciitilde " \ keyboard.map+="keycode 12 = minus underscore asciitilde asciitilde " \ keyboard.map+="keycode 13 = equal plus multiply division " \ \ keyboard.map+="keycode 16 = q Q adiaeresis Adiaeresis " \ keyboard.map+="keycode 17 = w W aring Aring " \ keyboard.map+="keycode 18 = f F atilde Atilde " \ keyboard.map+="keycode 19 = p P oslash Ooblique " \ keyboard.map+="keycode 20 = g G asciitilde asciitilde " \ keyboard.map+="keycode 21 = j J asciitilde asciitilde " \ keyboard.map+="keycode 22 = l L asciitilde asciitilde " \ keyboard.map+="keycode 23 = u U uacute Uacute " \ keyboard.map+="keycode 24 = y Y udiaeresis Udiaeresis " \ keyboard.map+="keycode 25 = semicolon colon odiaeresis Odiaeresis " \ keyboard.map+="keycode 26 = bracketleft braceleft guillemotleft asciitilde " \ keyboard.map+="keycode 27 = bracketright braceright guillemotright asciitilde " \ keyboard.map+="keycode 43 = backslash bar asciitilde asciitilde " \ \ keyboard.map+="keycode 30 = a A aacute Aacute " \ keyboard.map+="keycode 31 = r R dead_grave asciitilde " \ keyboard.map+="keycode 32 = s S ssharp asciitilde " \ keyboard.map+="keycode 33 = t T dead_acute asciitilde " \ keyboard.map+="keycode 34 = d D dead_diaeresis asciitilde " \ keyboard.map+="keycode 35 = h H asciitilde asciitilde " \ keyboard.map+="keycode 36 = n N ntilde Ntilde " \ keyboard.map+="keycode 37 = e E eacute Eacute " \ keyboard.map+="keycode 38 = i I iacute Iacute " \ keyboard.map+="keycode 39 = o O oacute Oacute " \ keyboard.map+="keycode 40 = apostrophe quotedbl otilde Otilde " \ \ keyboard.map+="keycode 44 = z Z ae AE " \ keyboard.map+="keycode 45 = x X dead_circumflex asciitilde " \ keyboard.map+="keycode 46 = c C ccedilla Ccedilla " \ keyboard.map+="keycode 47 = v V asciitilde asciitilde " \ keyboard.map+="keycode 48 = b B asciitilde asciitilde " \ keyboard.map+="keycode 49 = k K asciitilde asciitilde " \ keyboard.map+="keycode 50 = m M asciitilde asciitilde " \ keyboard.map+="keycode 51 = comma less dead_cedilla asciitilde " \ keyboard.map+="keycode 52 = period greater asciitilde asciitilde " \ keyboard.map+="keycode 53 = slash question questiondown asciitilde " \ \ keyboard.map+="keycode 58 = BackSpace BackSpace BackSpace BackSpace " \ keyboard.map+="keycode 86 = minus underscore asciitilde asciitilde " \ keyboard.map+="keycode 57 = space space space nobreakspace " \ keyboard.map+="keycode 184 = Mode_switch Mode_switch" The script isn't ideal, but It will get the job done. Alternatively you can add it to the kernel via a diff like this: https://github.com/openbsd/src/commit/5c9333d1d8cfa982f4a39e5ba7e1839c6b2bdc87.diff but getting this in tree will likely not happen unless there is a workman revolution. :D