UI-KeyboardLayout

 view release on metacpan or  search on metacpan

lib/UI/KeyboardLayout.pm  view on Meta::CPAN


  http://www.annoyances.org/exec/forum/winxp/r1017256194
    http://web.archive.org/web/20030211001441/http://www.microsoft.com/hwdev/tech/input/w2kscan-map.asp
    http://msdn.microsoft.com/en-us/windows/hardware/gg463447
  http://www.annoyances.org/exec/forum/winxp/1034644655
     ???
  http://netj.org/2004/07/windows_keymap
  the free remapkey.exe utility that's in Microsoft NT / 2000 resource kit.

  perl -wlne "BEGIN{$t = {T => q(), qw( X e0 Y e1 )}} print qq(  $t->{$1}$2\t$3) if /^#define\s+([TXY])([0-9a-f]{2})\s+(?:_EQ|_NE)\((?:(?:\s*\w+\s*,){3})?\s*([^\W_]\w*)\s*(?:(?:,\s*\w+\s*){2})?\)\s*(?:\/\/.*)?$/i" kbd.h >ll2
    then select stuff up to the first e1 key (but DECIMAL is not there T53 is DELETE??? take from MSKLC help/using/advanced/scancodes)

CapsLock as on typewriter:

  http://web.archive.org/web/20120717083202/http://www.annoyances.org/exec/forum/winxp/1071197341

Scancodes visible on the low level:

  http://openbsd.7691.n7.nabble.com/Patch-Support-F13-F24-on-PC-122-terminal-keyboard-td224992.html
  http://www.seasip.info/Misc/1227T.html

Scancodes visible on Windows (with USB)

  http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf

Detailed description of production of scancodes (see after C<===>), including C<0x80xx> codes (and C<0xe2> Logitech prefix):

  http://www.fysh.org/~zefram/keyboard/xt_scancodes.txt

Ultra-exotic virtual keys

See

  https://learn.microsoft.com/en-us/previous-versions/aa931968(v=msdn.10)

(note that C<OEM_ATTN OEM_COPY OEM_CUSEL OEM_ENLW> do not seem to have any scancodes assigned anywhere…).

See also L<this discussion|https://stackoverflow.com/questions/11740958/js-what-keyboard-keys-are-specified-for-key-codes-in-intervals-146-185-193-218>.
and L<these lists and references|https://bsakatu.net/doc/virtual-key-of-windows/>.

(L<One of (industrial) keyboards with C<OEM_FJ_000>-key|https://geekhack.org/index.php?topic=60355.0> is a part of
L<a huge family|https://telcontar.net/KBK/Fujitsu/series>.

The less exotic “largish” keyboards are discussed in
L<"Issues with support of European(ISO)/Brazilian(ABNT2)/Japanese(JIS) physical keyboards">.

X11 XKB docs:

  https://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html

  ftp://www.x.org/pub/xorg/X11R7.5/doc/input/XKB-Enhancing.html			(what is caps:shift* ???)
  https://wiki.gentoo.org/wiki/Keyboard_layout_switching
  http://webkeys.platonix.co.il/about/use_xkb/#caps-key-types

  https://apt-browse.org/browse/debian/wheezy/main/all/xkb-data/2.5.1-3/file/usr/share/X11/xkb/symbols/keypad
  http://misc.openbsd.narkive.com/UK2Xlptl/shift-backspace-in-x
	NoSymbol (do not change; do not make array longer; if alphabetic, may be extended to width 2)
	  vs VoidSymbol (undefine; may actually extend the array.  Undocumented in xkbproto??? )
		compare with http://kotoistus.tksoft.com/linux/void_no_symbol-en.html

	  overlay1=<KO7> overlay2=<KO7>		How to switch to overlay: see compat/keypad
	  RadioGroup ???

Problems on X11:

  http://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html			(definition of XKB protocol)
  http://www.x.org/releases/current/doc/kbproto/xkbproto.html

  http://web.archive.org/web/20050306001520/http://pascal.tsu.ru/en/xkb/

	Some features are removed in libxkbcommon, which is used by many toolkits now:
		https://xkbcommon.org/doc/current/md_doc_compat.html
			But XKB is implemented in the server???

  http://wiki.linuxquestions.org/wiki/Configuring_keyboards			(current???)
  http://wiki.linuxquestions.org/wiki/Accented_Characters			(current???)
  http://wiki.linuxquestions.org/wiki/Altering_or_Creating_Keyboard_Maps	(current???)
  https://help.ubuntu.com/community/ComposeKey			(documents almost 1/2 of the needed stuff)
  http://www.gentoo.org/doc/en/utf-8.xml					(2005++ ???)
  http://en.gentoo-wiki.com/wiki/X.Org/Input_drivers	(2009++ HAS: How to make CapsLock change layouts)
  http://www.freebsd.org/cgi/man.cgi?query=setxkbmap&sektion=1&manpath=X11R7.4
  http://people.uleth.ca/~daniel.odonnell/Blog/custom-keyboard-in-linuxx11
  http://shtrom.ssji.net/skb/xorg-ligatures.html				(of 2008???)
  http://tldp.org/HOWTO/Danish-HOWTO-2.html					(of 2005???)
  http://www.tux.org/~balsa/linux/deadkeys/index.html				(of 1999???)
  http://www.x.org/releases/X11R7.6/doc/libX11/Compose/en_US.UTF-8.html
  http://cgit.freedesktop.org/xorg/proto/xproto/plain/keysymdef.h

  EIGHT_LEVEL FOUR_LEVEL_ALPHABETIC FOUR_LEVEL_SEMIALPHABETIC PC_SYSRQ : see
  http://cafbit.com/resource/mackeyboard/mackeyboard.xkb

  ./xkb in /etc/X11 /usr/local/X11 /usr/share/local/X11 /usr/share/X11
    (maybe it is more productive to try
      ls -d /*/*/xkb  /*/*/*/xkb
     ?)
  but what dead_diaeresis means is defined here:
     Apparently, may be in /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose
  http://wiki.maemo.org/Remapping_keyboard
  http://www.x.org/releases/current/doc/man/man8/mkcomposecache.8.xhtml
  
B<Note:> have XIM input method in GTK disables Control-Shift-u way of entering HEX unicode.

    How to contribute:
  http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules

B<Note:> the problems with handling deadkeys via .Compose are that: .Compose is handled by
applications, while keymaps by server (since they may be on different machines, things can
easily get out of sync); .Compose knows nothing about the current "Keyboard group" or of
the state of CapsLock etc (therefore emulating "group switch" via composing is impossible).

JS code to add "insert these chars": google for editpage_specialchars_cyrilic, or

  http://en.wikipedia.org/wiki/User:TEB728/monobook.jsx

Latin paleography

  http://en.wikipedia.org/wiki/Latin_alphabet
  http://tlt.its.psu.edu/suggestions/international/bylanguage/oenglish.html
  http://guindo.pntic.mec.es/~jmag0042/LATIN_PALEOGRAPHY.pdf
  http://www.evertype.com/standards/wynnyogh/ezhyogh.html
  http://www.wordorigins.org/downloads/OELetters.doc



( run in 0.840 second using v1.01-cache-2.11-cpan-e1769b4cff6 )