X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=specs%2Fkbd%2Fscancodes-5.html;fp=specs%2Fkbd%2Fscancodes-5.html;h=ed71bbc8df3f21d1399ad71ddbc7d0ecbd76bc64;hp=0000000000000000000000000000000000000000;hb=8af06d1fd50343e17229618ef4d2693193b2b3d9;hpb=d0d14ca50fbac167253e1e1d8d806bfd749a5e8a diff --git a/specs/kbd/scancodes-5.html b/specs/kbd/scancodes-5.html new file mode 100644 index 0000000..ed71bbc --- /dev/null +++ b/specs/kbd/scancodes-5.html @@ -0,0 +1,1411 @@ + + +
+ +Next the modern keyboards. (MF stands for MultiFunctional.) +The layout has changed: the function keys now form a top row. +Function keys F11 and F12 were added. The ten keypad digit keys +that served dual purposes (depending on NumLock and Shift) +were duplicated so that digits and cursor movements could be +produced without help from the Shift or Numlock keys. +Also the Alt and Ctrl keys were duplicated. +Prefixes e0 and e1 were introduced +to distinguish old and new versions of the same old key. +All modern keyboards follow this scheme, but many add a messy +collection of "internet buttons" and "CD keys". +
Let us group keyboards according to manufacturer. +
+
+
+
Christian Gennerat <christian.gennerat@vz.cit.alcatel.fr
> writes:
+There are 4 extra keys on the Compaq Armada laptops.
+The four keys are located over the Esc-F1..F12, and are labelled *1-*4.
+Scancodes: 65, 67, 69, 6b.
+
+
Petr Slansky <slansky@usa.net
> writes:
+
Internet buttons: +e0 13 online community button (people icon), +e0 14 online Compaq button (Q icon), +e0 15 online services button (bulb icon), +e0 1e online e-mail button (envelope icon), +e0 21 online Search button (magnifier icon), +e0 23 online start button (i icon), +e0 32 online commerce button (shopping basket icon), +
e0 68 Quick Print button (printer icon), +e0 1f Favorite Application Launch button (racket icon), +
e0 5f Sleep button, +
CD/DVD player buttons: +e0 22 Play/Pause, +e0 24 Stop, +e0 19 Next Track, +e0 10 Previous Track, +e0 2c Eject, +
Volume Control buttons: +e0 30 Volume increase (+), +e0 2e Volume decrease (-), +e0 20 Mute. +
+ +
+
A +Compaq keyboard that I have here, +has the usual setup (with Windows keys) plus a top row of eight buttons, +that produce scancodes +e0 23, +e0 1f, +e0 1a, +e0 1e, +e0 13, +e0 14, +e0 15, +e0 1b. +These keys do not produce any codes in scan code Set 3. +
+ +
+
+
+
+(Information from Dennis Bjorklund <dennisb@cs.chalmers.se
>
+and others.)
+
The IBM Rapid Access keyboard has 14 extra buttons and two more leds +than a normal PC keyboard. By default, these buttons do not generate +any scancodes. To activate them one has to send the sequence +ea 71 to the keyboard. +Once that is done the extra keys generate normal e0xx sequences. +To turn off the extra keys you send ea 70. +
These 14 keys send the following scancodes (when activated): +
e0 25 (Suspend), +e0 26 (Help), +e0 32 (Prg 1), +e0 17 (Prg 2), +e0 30 (Prg 3), +e0 2e (Prg 4), +e0 19 (Play CD), +e0 24 (CD Stop), +e0 22 (CD Pause), +e0 1e (Vol -), +e0 20 (Vol +), +e0 23 (Prev song), +e0 21 (Next song), +e0 12 (Mute). +
+
The Suspend and Mute buttons have extra LEDs on them. +Sending the sequence + +eb 00 ff +to the keyboard makes all five LEDs lit up for a moment. +The sequence eb 00 04 lights the Suspend LED +(behind a waning moon). +The sequence eb 00 20 makes the Mute LED blink. +The sequence eb 00 80 locks the keyboard; +if the Mute LED was blinking it now is lit permanently. +Sending eb 00 ff unlocks the keyboard again. +
The command ec returns 0c 01 (untranslated) +which becomes 3e 43 in translated scancode Set 2. +(Possibly an ID?) +
+
+
+Dennis Bjorklund writes:
+Here is the hack I use to send commands to the keyboard. After you have
+compiled it you can do things like send_to_keyboard ea 71
,
+but don't run two of these at the exact same moment, and don't send
+strange codes because the keyboard might lock up.
+
My computer runs this at every startup. After that the extra buttons on +the rapid access work just fine in XFree86. +
+
+/* gcc -O2 -s -Wall -osend_to_keyboard main.c */
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/io.h>
+
+int main(int argc, char *argv[]) {
+ int i;
+
+ ioperm(0x60, 3, 1);
+
+ for (i = 1; i < argc; i++) {
+ int x = strtol(argv[i], 0, 16);
+
+ usleep(300);
+ outb(x, 0x60);
+ }
+
+ return 0;
+}
+
+
++ +
+
+
This keyboard has a top row of seven color-coded buttons. +On the upper right a "wheel" composite button with six parts. +Below it a blue button ("mute"). +Finally, the usual block with four arrow keys has been enlarged +by two more keys ("page left" and "page right"). +
Keys: +
e0 25 (Green, "Internet"), +e0 26 (Blue, "Internet shopping"), +e0 32 (Yellow, "IBM Web support"), +e0 17 (Purple), +e0 30 (Red), +e0 2e (Cyan, "Help"), +e0 5f (White, "Standby" - has a LED), +e0 20 (CD stop), +e0 22 (CD play), +e0 21 (Volume D), +e0 23 (Volume U), +e0 24 (CD back), +e0 12 (CD fwd), +e0 1e (Mute - no LED). +
(In translated scancode Set 3, these become +41, 3f, 3d, 3b, 3c, +66, --, 69, 6a, 6b, +6c, 6d, 44, 68, respectively.) +
The "back" ("page left") and "forward" ("page right") keys +generate ALT+left and ALT+right respectively: +38 e0 4b (release sequence +b8 e0 cb) and +38 e0 4d. +
The commands ea 70 and ea 71 +serve to switch off (resp. on) the special keys. +(These are on by default, but can be switched off.) +However, the white Standby key is always on. +
The white Standby button has a LED (that is flashed during a reset). +It is set by the command + +eb 71 +and cleared by the command eb 70. +
+
+ +
+
George Staikos <staikos@0wned.org
> writes:
+
I have an IBM ThinkPad i1460. It has the IBM EasyLaunch<tm> keys.
+These are four multicoloured keys up at the top of the keyboard
+for "Home Page", "Search", "Shop", "Mail". They dont' seem to create
+any keyboard events at all. The keyboard interrupt doesn't trigger,
+showkeys
doesn't see them do anything, and in DOS, a simple
+sequence of BIOS calls doesn't see them either.
+Also, being a laptop, it has an FN key. This key generates 55.
+
+
+
Jonathan DeBoer <deboer@ugrad.cs.ualberta.ca
> reports:
+This keyboard has 18 unusual keys.
+
e0 7a (WWW), +e0 32 (History), +e0 21 (Open URL), +e0 23 (Home), +38 2a 0f 8f (key press) +8f b8 aa (key release) (Send To Back) - +this sequence simulates Alt+Shift+Tab, but contains two Tab releases, +e0 17 (Print), +e0 10 (Back), +e0 22 (Forward), +e0 24 (Stop), +e0 19 (Refresh), +e0 1e (Search), +e0 12 (Find), +e0 26 (Add Favourite), +e0 18 (Open Favourites), +e0 20 (Hot Links), +e0 30 (Scroll Up), +e0 2e (Scroll Down), +e0 25 (Logitech). +
+
Ryan Lortie <desertangel@globalserve.net
> writes:
+The "Logitech" key is used as a modifier.
+In windows, Logitech-Keypad+ increases volume, Logitech-Keypad- decreases.
+There is a conjoined dual-button key for "scroll".
+You press the top part to scroll up, the bottom to scroll down.
+
+
Graham Hay adds: The extra LED is an amber colour, placed above +the www key with a recessed line linking them. Sending eb alone +turns it on. It will flash on/off about once per second after that. +A single ec will turn it off. +
+ + +(enlarge)
+
+
Nick Rusnov <nick@grawk.net
> reports:
+
The special buttons on a Logitech Cordless Desktop Pro keyboard +produce the following scancodes: +
e0 5f (Moon (sleep)), +e0 32 (Homepage), +e0 6c (Mail), +e0 65 (Search), +e0 66 (runningguuy), +e0 20 (Mute), +e0 2e (VolDown), +e0 30 (VolUp), +e0 22 (Play/Pause), +e0 24 (Stop), +e0 10 (Rewind), +e0 19 (ff), +e0 21 (Logitech). +
+
Denis Kosygin <kosygin@math.princeton.edu
> reports:
+
In addition to usual 104 keys in the usual PC layout this keyboard +has 11 extra keys. Ten of them produce the following escape scancodes: +e0 5f (User (moon)), +e0 6c (E-mail), +e0 11 (Messenger/SMS), +e0 12 (Webcam), +e0 20 (Mute (crossed speaker)), +e0 30 (VolUp (triangle up with + sign in it)), +e0 2e (VolDown (triangle down with - sign in it)), +e0 6d (Media), +e0 32 (My Home), +e0 65 (Search). +
The eleventh key (with keycap "F lock") is a switch between two sets +of scancodes for function keys F1-F12. When "F lock" is pressed, then +F1-F12 act as function keys and produce usual keyscans for these keys. +When "F lock" is depressed, F1-F12 generate the following keyscans: +
e0 3b (new [F1]), +e0 3c (reply [F2]), +e0 3d (forward [F3]), +e0 3e (send [F4]), +e0 10 (rewind [F5]), +e0 19 (fast forward [F6]), +e0 22 (play/pause [F7]), +e0 24 (stop [F8]), +e0 43 (my com [F9]), +e0 44 (my doc [F10]), +e0 57 (my pic [F11]), +e0 58 (my music [F12]). +
+ +
+
+
Stefan reports: +
The special buttons on a Logitech Cordless Desktop Optical keyboard +produce the following scancodes: +
e0 69 (Go), +e0 6a (Back), +e0 5f (Sleep), +e0 66 (Favorites), +e0 24 (SeekBack), +e0 22 (SeekForward), +e0 01 (Media), +e0 1e (VolUp), +e0 25 (VolDown), +e0 26 (Mute), +e0 1f (PlayPause), +e0 17 (Stop), +e0 6c (Email), +e0 65 (Search), +e0 02 (Homepage). +
Some other keys behave differently. +
+
+
+
Some common scancodes found on some Microsoft keyboards. +
+
+
+e0 05 | Messenger or Files | e0 07 | Redo (on F3 or not) | e0 08 | Undo (on F2 or not) | e0 09 | Application Left | |||
+e0 0a | Paste | e0 0b/8b | Scroll Up/Down Normal | e0 10 | Prev Track, |<< | e0 11/91 | Scroll Up/Down Fast | |||
+e0 12/92 | Scroll Up/Down Faster | e0 13 | Word | e0 14 | Excel | e0 15 | Calendar | |||
+e0 16 | Log Off | e0 17 | Cut | e0 18 | Copy | e0 19 | Next Track, >>| | |||
+e0 1e | Application Right | e0 1f/9f | Scroll Up/Down Fastest | e0 20 | Mute | e0 21 | Calculator | |||
+e0 22 | Play/Pause | e0 23 | Spell (on F10) | e0 24 | Stop (cf e0 68) | e0 2e | Volume - | |||
+e0 30 | Volume + | e0 32 | Web/Home | e0 3b | Help (on F1) | e0 3c | My Music or Office Home (on F2) | |||
+e0 3d | Task Pane (on F3) | e0 3e | New (on F4) | e0 3f | Open (on F5) | e0 40 | Close (on F6) | |||
+e0 41 | Reply (on F7) | e0 42 | Fwd (on F8) | e0 43 | Send (on F9) | e0 57 | Save (on F11) | |||
+e0 58 | Print (on F12) | e0 5b | LeftWindows | e0 5c | RightWindows | e0 5d | Application (Menu) | |||
+e0 5e | Power | e0 5f | Sleep | e0 63 | Wake | e0 64 | My Pictures | |||
+e0 65 | Search | e0 66 | Favorites | e0 67 | Refresh | e0 68 | Stop (cf e0 24) | |||
+e0 69 | Forward | e0 6a | Back | e0 6b | My Computer | e0 6c | ||||
+e0 6d | Media | |||||||||
+ + |
+
+
This keyboard has three additional keys, with escaped scancodes +e0 5b (LeftWindow), +e0 5c (RightWindow), +e0 5d (Menu). +The untranslated Set 2 scancodes (see +below) +are e0 1f, e0 27 and +e0 2f, respectively. +The USB key codes are usage page 0x07, usage index 227, 231, 101 +(decimal), respectively. +Microsoft +describes +the intended use in detail. Both Windows keys are intended to be +used as modifier keys, like both shift and control and alt keys. +The Menu key may be modified by shift etc. +
+
In addition to the three extra keys on the Microsoft Natural keyboard, +this keyboard has ten keys, with escaped scancodes +e0 6a (Back), +e0 69 (Forward), +e0 68 (Stop), +e0 6c (Mail), +e0 65 (Search), +e0 66 (Favorites), +e0 32 (Web/Home), +e0 6b (My Computer), +e0 21 (Calculator), +e0 5f (Sleep). +The untranslated Set 1 codes are as expected (make codes identical to +the above translated Set 2 ones). The translated Set 3 codes are +6a, 69, 68, 6c, 65, +66, 97, 6b, 99, 54, +respectively. +
+
Marco Melgazzi <marco@techie.com
> reports:
+The Microsoft Natural keyboard pro has 19 additional keys,
+with escaped scancodes
+e0 6a (Back),
+e0 69 (Forward),
+e0 68 (Stop),
+e0 67 (Refresh),
+e0 65 (Search),
+e0 66 (Favorites),
+e0 32 (Web/Home),
+e0 6c (Mail),
+e0 20 (Mute),
+e0 2e (Volume -),
+e0 30 (Volume +),
+e0 22 (Play/Pause),
+e0 24 (Stop),
+e0 10 (Prev Track),
+e0 19 (Next Track),
+e0 6d (Media),
+e0 6b (My Computer),
+e0 21 (Calculator),
+e0 5f (Sleep).
+(That is, we have the ten extra keys of the Microsoft Internet keyboard,
+with the same scancodes, and also Refresh, Mute, Volume -, Volume +,
+Play/Pause, Stop, Prev Track, Next Track, Media.)
+
+
Jeremy Brand <jeremy@nirvani.net
> reports:
+The Microsoft Natural Multimedia Keyboard has 17 additional keys.
+Scancodes are
+
? (My Documents), +e0 64 (My Pictures), +e0 3c (My Music), +e0 20 (Mute), +e0 22 (Play/Pause), +e0 24 (Stop), +e0 30 (Volume +), +e0 2e (Volume -), +e0 10 (|<<), +e0 19 (>>|), +e0 6d (Media), +e0 6c (Mail), +e0 32 (Web/Home), +e0 05 (Messenger), +e0 21 (Calculator), +e0 16 (Log Off), +e0 5f (Sleep). +
Moreover, the function keys are dual purpose. +There is a "function lock" key. +By default the function keys are not function keys, they are +"Help", "Undo", etc. You have to press the function lock key +and then the function keys act like the usual function keys. +In the default state the scancodes are +
e0 3b (Help) on F1 key, +e0 08 (Undo) on F2 key, +e0 07 (Redo) on F3 key, +? (New) on F4 key, +? (Open) on F5 key, +? (Close) on F6 key, +? (Replay) on F7 key, +e0 42 (Fwd) on F8 key, +e0 43 (Send) on F9 key, +e0 23 (Spell) on F10 key, +e0 57 (Save) on F11 key, +e0 58 (Print) on F12 key. +
+
+
Christian Hammond
+reports
+about the keyboard Scroll Wheel:
+The following is my interpretation of the results of
+showkey -s
. I had read that the wheel has 3 speeds,
+normal, fast, and faster. However, my results show 4.
+
Scroll Up: Normal e0 0b, +Fast e0 11, +Faster e0 12, +Fastest e0 1f. +
Scroll Down: Normal e0 8b, +Fast e0 91, +Faster e0 92, +Fastest e0 9f. +
Wouter van Wijk <woutervanwijk@netscape.net
> reported the scancodes
+given below.
+
On the left touchpad above the scroll wheel: +e0 6a (Back), +e0 69 (Forward). +On the left touchpad below the scroll wheel: +e0 17 (Cut), +e0 18 (Copy), +e0 0a (Paste), +e0 09 (Application Left), +e0 1e (Application Right), +
Buttons on the top row: +No scancode (F Lock), +e0 13 (Word), +e0 14 (Excel), +e0 32 (Web/Home), +e0 6c (Mail), +e0 15 (Calendar), +e0 05 (Files), +e0 21 (Calculator), +e0 20 (Mute), +e0 2e (Volume -), +e0 30 (Volume +), +e0 16 (Log Off), +e0 5f (Sleep). +This is the expected code for Sleep. However, there do not seem to be +Power and WakeUp keys. +
The twelve function keys can be in two states. In the default state +they produce the (new) codes below. The FLock toggle switches them +back to good old function key state. +e0 3b (Help [F1]), +e0 3c (Office Home [F2]), +e0 3d (Task Pane [F3]), +e0 3e (New [F4]), +e0 3f (Open [F5]), +e0 40 (Close [F6]), +e0 41 (Reply [F7]), +e0 42 (Fwd [F8]), +e0 43 (Send [F9]), +e0 23 (Spell [F10]), +e0 57 (Save [F11]), +e0 58 (Print [F12]). +Note that each of these codes is just the e0 variation +of the ordinary function key code, except for that for Spell [F10]. +When the FLock light is off (default) the e0-version +is activated. +
Above the 5-key block with Insert, Home, Delete, PgUp, PgDown: +e0 08 (Undo), +e0 07 (Redo). +
Above the number pad: +59 (=), +e0 4c (( [PrintScreen]), +e0 64 () [ScrollLock]), +0e (Backspace), +0f (Tab). +These are the usual codes for Backspace and Tab but new codes +for (, ), =. PrintScreen and ScrollLock have the usual codes. +
+ + +See the +Microsoft ad. +
+
+
+
The Safeway SW10 keyboard has the usual keys, including the three +Windows keys, and including Power, Sleep, Wake keys +(below Delete, End, PageDown) that do not produce scancodes +unless the Fn key (above Keypad-Minus) is pressed simultaneously. +This Fn key is used together with 11 keys: F1-F7, F11, Power, Sleep, Wake. +Fn-F11 disables the keyboard and another Fn-F11 enables it again. +Fn-F1/F2/F3/F4/F5/F6/F7 sets the repeat rate +(on my keyboard I measured 2.0/4.0/6.7/12/26/32/32 chars/sec respectively). +
+
The Safeway SW23 keyboard has 132 keys: the usual 104 keys +(101 plus three Windows keys), five more keys called Turbo +(below Enter, right of RShift), and Power, Sleep, Wake +(below Delete, End, PageDown), and Ez (above Keypad-Minus), +and 23 buttons in two rows above the row of function keys. +By default, the five extra keys do not produce scancodes. +(The Ez is a mode toggle. The Turbo key is used to enable +the Power, Sleep, Wake keys.) +
First row of buttons: three Volume buttons: +e0 58 (Mute), +e0 5a (Vol -), +e0 70 (Vol +), +five CD Player buttons: +e0 59 (Prev), +e0 42 (Play), +e0 69 (Next), +e0 64 (Stop), +e0 71 (Eject), +two Recorder buttons: +e0 40 (Rew/Play), +e0 29 (Rec/Stop). +
Second row of buttons: +e0 23 (Sleep), +e0 7d (Cut), +e0 7e (Copy), +e0 7f (Paste), +e0 20 (Rotate), +e0 43 (Close), +e0 30 (My Doc), +e0 44 (DOS), +e0 79 (Game), +e0 77 (WWW), +e0 6e (Calc), +e0 3e (X'fer), +e0 6a (Menu/?). +
The Ez key does not produce scancodes, but toggles a +M/Mode LED, the fourth next to the Num, Caps, Scroll LEDs. +When that LED is set, the 17 keypad keys give different +scancodes: +e0 3c (N/Lock), +e0 7b (/), +e0 22 (*), +e0 61 (-), +e0 0f (7), +e0 21 (8), +e0 6b (9), +e0 3d (+), +e0 04 (4), +e0 62 (5), +e0 39 (6), +e0 10 (1), +e0 24 (2), +e0 05 (3), +e0 02 (0), +e0 41 (.), +e0 3f (Enter). +
The Turbo key does not produce scancodes, and neither do +Power, Sleep, Wake. However, when Turbo is pressed simultaneously, +the Power, Sleep, Wake keys yield e0 5e, +e0 5f, e0 63 as +they should. +
In untranslated scancode mode 3, the multimedia and power keys +do not yield any code. In untranslated scancode mode 1 they +yield the same code as in untranslated scancode mode 2. +(This is a design bug: untranslated scancode mode 1 should be the same +as translated scancode mode 2 (see +below), +and this is true for the ordinary keys, but fails here for the +"multimedia" keys. For example, the keys End and Keypad-Minus +(in M/Mode) yield the same e0 4f in +untranslated scancode mode 1.) +
Note that some "protocol keycodes" occur here with e0 prefix. +Indeed, we see e1, ee, f1, fe, ff +in the key up sequence for the multimedia keys Keypad-Minus +(e0 e1), Calc (e0 ee), +Eject (e0 f1), Copy (e0 fe), +Paste (e0 ff). +
+
This keyboard (nameless, made in China) has 9+1+9 buttons, +nine on each side of the Sleep button. +Buttons: +e0 6a (Web Backward), +e0 69 (Web Forward), +e0 68 (Web Stop), +e0 67 (Web Refresh), +e0 65 (Web Search), +e0 66 (Web Favorites), +e0 32 (Web Home), +e0 6c (E-mail), +e0 20 (Mute), +e0 5f (Sleep), +e0 2e (Volume Down), +e0 30 (Volume Up), +e0 22 (Play/Pause), +e0 24 (Stop), +e0 10 (Fast Backward), +e0 19 (Fast Forward), +e0 6d (Media Player), +e0 6b (My Computer), +e0 21 (Calculator). +
This keyboard reports +keyboard ID +ab 83 (translated ab c1). +Scancode sets 1 and 2 are reported as 01 and 02 +(translated c3 and c1). +These translations are bugs, but otherwise all seems to function +as expected, except that this keyboard does not recognize +scancode set 3 and returns fe for an attempt to set Set 3. +Every command ed xx is accepted, but there are no LEDs, +there is only a battery indicator. +
The mouse that accompanies the keyboard shows no reactions. +It may need a special driver. +
+
This 121-key +Nokia keyboard +has ten function keys on the left and twenty-four on +the two top rows. On the right a block with cursor keys +and a block with numeric keys. There are three LEDs. +The keys have brown markings, and sometimes also blue ones. +Where both occur, the blue markings describe the usual PC keytops. +
Roughly speaking, the scancodes are as expected. +The +function keys F1-F10,F11,F12 +have scan codes 3b-44, 57, 58 as usual. +The keys on the upper row, labeled F13-F24, yield the same codes as +shifted F1-F12. E.g., F13 gives 2a 3b on press, +and bb aa on release. +The function keys F4,F11,F13-F19,F21,F24 have front labels +CrSel, AltCr, Red, Pink, Green, Yellow, Blue, Turq, White, +Col, USM. +
The +ten keys on the left +have the following scancodes. +First column of five: +01 (Attn/Esc/NxtTsk), as expected for Esc; +1d 3b (Quit/Reset), as expected for Ctrl F1; +1d 3c (ExSel), as expected for Ctrl F2; +1d 3d (Ident/Print), as expected for Ctrl F3; +1d 3e (Help/EnlW), as expected for Ctrl F4. +For these last four keys (and the ChgSc/WSCtrl below) the code +becomes 3b-3e (and 3f) when left or right +Ctrl is pressed already. +Second column of five: +e1 1d 45 ((Break)/Clear/Pause/Test), and e0 46 +with Ctrl, as expected for Pause/Break; +46 (ScrLock), as expected for ScrLock; +e0 2a e0 37 (PrtSc/SysRq), and e0 37 with +left or right Ctrl or left or right Shift, and 54 +with left or right Alt, as expected for PrtSc; +1d 3f (ChgSc/WSCtrl), as expected for Ctrl F5; +38 e0 49 (Jump), as expected for Alt PgUp. +
On +the right a cursor key +section and a number pad. +The cursor key section has the expected block of six: +e0 52 (Dup/Insert/PA1); +e0 47 (Field Mark/Home/PA2); +e0 49 (PA3/PgUp); +e0 53 (Delete/DelWd); +e0 4f (ErEOF/End/ErInp); +e0 51 (PgDn). +Next four arrow keys: +e0 48 (Up); +e0 4b (Left); +e0 4d (Right); +e0 50 (Down). +And in the middle 1d 40 (Home), with code as expected for Ctrl F6. +
Finally the numeric keypad, with the usual keys that generate the +usual codes, and a single additional key, a Tab, with 0f +like the ordinary tab. +
+ +
+
Raul D. Miller <rockwell@nova.umd.edu
>
+and Timothy C. Hagman <hagmanti@cps.msu.edu
>
+report:
+
The keyboard is a KeyPro FK-9000. The FCC label says it's made in +Taiwan by Focus Electronic Co, Ltd. It has a built-in calculator. +
This keyboard has twelve additional keys, with scancodes +55 (PF1), +6d (PF11), +6f (PF12), +73 (PF2), +74 (PF9), +77 (PF3), +78 (PF4), +79 (PF5), +7a* (PF6), +7b (PF7), +7c (PF8), +7e* (PF10). +
The break codes equal the make codes ORed with 0x80, as always, +but the Linux kernel eats fa and fe as +protocol bytes. +
The behavior of these keys is different from that of normal keys-- +they generate nothing when pressed; then generate the above scancodes +at the normal repeat time and rate, and then generate (except for the +starred ones) their scancode ORed with 0x80 when released... +
These PF keys are reprogrammable -- and programming occurs as a sequence +of keyboard actions. Therefore, the PF keys duplicate whatever +keyboard actions occurred during their programming. +You hit the "Prog" key, then the PF key you want to program; type the +string you want to store in the key (it's limited to 14 keypresses), +and then hit the PF key again. After that, when you hit the PF key, +it sends the string, and generates its own abnormal scancode upon +release. When the key is held down, it generates the scancode repeatedly, +but does not generate the string stored in it repeatedly. +
When you go to program a key, the scancodes for "PF##-" are sent +to the computer, then the scancodes for each key you hit as you +hit it (the shift, etc. keys are an exception-- they send "s-" +and such :), and then, when you hit the PF## key again to end the +programming, it sends a sequence of (at least) 18 "0e 8e"s -- +Backspaces... +
The program key itself doesn't generate a scancode at any time. +The same applies to the CE and AC/ON keys (part of the calculator). +There is a switch to change between calculator and keyboard mode +which generates no scancodes. +
When the keyboard is in calculator mode, the entire numeric +keypad (and everything else on the right side) generates no +scancodes. +
When the keyboard is not in caluclator mode, the %, MC, MR, M-, +M+, and Square Root keys all generate ff when pressed, +ff to repeat, and ff on release. +
The little unlabeled key between the right Ctrl and right Alt +generates 56 when hit, repeats that, and then d6 +when released, just like a normal key. +
+
+
This keyboard has one additional key, with escaped scancode +e0 6f (Macro). (Funny enough it does this +in all modes, each of the three scancode sets, translated or not. +In particular, this Macro key is the only key that generates +two bytes in scancode mode 3.) +
+
These keyboards have seven additional keys, with escaped scancodes +e0 0f (LeftCompose), +e0 3d (F13), +e0 3e (F14), +e0 3f (Help), +e0 40 (Do), +e0 41 (F17), +e0 4e (Keypad-minplus). +(LK411 has all seven. LK450 has the last six - the report did not +mention a Compose key.) +There are only two LEDs. The keycaps are unusual. +
In (translated) scancode Set 3 these keys give codes +68, 44, 42, 40, +3e, 65, 70. +In untranslated Set 2, the F17 key gives e0 83. +
An +LK411 keyboard, +with +left +and +right hand side enlarged. +
The keys labeled F18, F19, F20 produce the codes expected for +PrtSc, ScrollLock, Pause. +The keys labelled PF1, PF2, PF3, PF4 produce the codes expected for +NumLock, Keypad-/, Keypad-*, Keypad--. +The Keypad-, key produces the code 4e expected for Keypad-+. +The Right ComposeCharacter key produces the code expected for RCtrl. +The key labelled </> produces the code 29 +expected for `/~. The key labelled with `/~/(Esc) produces +the code expected for Esc. +
+ +
+
This keyboard has one additional key, with escaped scancode +e0 4c (Omni). +
For the Northgate OmniKey 101 keyboard it is said that the command +e8 reads a 2-byte ID. +
+
The GRiD 2260 notebook has a key producing the +6c scancode; I do not know the keycap. +
+
Kasper Dupont <kasperd@daimi.au.dk> writes: +My 10 year old 102-key keyboard that came with an "Olivetti PCS 286" +actually has connectors for three additional keys just bellow Delete, End, +and PgDn. There is no keys on the connectors, I only found them because I +opened the keyboard for cleaning. The scancodes are from left to right +65, 66, 67. +
+
According to +Delorie +the "Cherry G81-3000 SAx/04" keyboard has four additional keys, +which can be made available by a user modification; +the three new keys located directly below the cursor pad's +Delete, End, and PgDn keys send make codes 66-68 (F19-F21); +the fourth new key, labeled (delta), sends make code 73. +
+
According to +Delorie +the "Accord" +ergonomic keyboard +with optional touchpad has an additional key above the Grey-Minus key +marked with a left-pointing triangle and labeled "Fn" in the owner's +booklet which sends make code e0 68. +
+
Frank v Waveren <fvw@var.cx
> reports:
+The Trust Ergo Track keyboard has one additional key (`application key'), with
+escaped scancode e0 68. The keycap is a triangle pointing left.
+
+
ABNT (Associação Brasileira de Normas Tecnicas) and ABNT2 +are Brazilian keyboard layout standards. The plain Brazilian +keyboard has 103 keys. +
The Brazilian ABNT keyboard has two unusual keys, +with scancodes 73 (/?) and 7e (Keypad-.). +The former is located to the left of the RShift (which +key therefore is less wide than usually), the latter below +the Keypad-Plus (reducing the Keypad-Plus to single height). +
Under Linux, the corresponding key codes are 89 and 121, respectively. +These keys do not function with Windows NT 4.0. +
Antonio Dias <accdias@sst.com.br
> provided the
+keypad layout
+and writes: Brazilian ABNT2 keyboards come with two layouts.
+In MSDOS they call them ID 274 and ID 275.
+
+
Torben Fjerdingstad <tfj@olivia.ping.dk
> reports:
+
It's an rc930 keyboard, from Regnecentralen/RC International, Now ICL. +This keyboard has four additional keys, with scancodes +59 (A1), +5a (A2), +5b (A3), +5c (A4). +
The rc930/rc931 keyboards are not made anymore, because they had a +problem with fast typists, writing over 400 chars/minute. +Writing 'af<space>', very, very fast, did a PgUp. +
+
Kjetil Torgrim Homme <kjetilho@ifi.uio.no
> reports:
+
My Tandberg Data keyboard uses the prefix 80 for +its numerous (20) extra keys. The 80 scancodes are: +
11, 12, 13, 14, 16, +17, 18, 19, 1e, 1f, +20, 21, 22, 23, 25, +26, 2f, 30, 32, 56. +
For completeness, the e0 scancodes: +
1c, 2a, 35, 37, 47, +48, 49, 4b, 4d, 4f, +50, 51, 52, 53. +
The e1 scancode: 1d. +As you can see, there is no overlap on this keyboard. +
Harald Arnesen <gurre@start.no
> gives the keycaps
+for these for the Tandberg TDV5020 keyboard.
+All use prefix 80 on both press and release.
+
Thirteen keys have (Norwegian) text: +11 HJELP (help), 14 STRYK (cut), +16 KOPI (copy), 17 FLYTT (move), +19 JUST (justify), 21 MERK (mark), +22 ANGRE (undo), 23 SKRIV (print), +25 SLUTT (exit), 26 FELT (field), +2f AVSN (paragraph), 30 SETN (sentence), +and 32 ORD (word). +
Seven keys have symbols: 12 /\/\/\ (insert soft hyphen), +13 [Crossed down-arrow] (move down five lines), +18 >> << (justify left/right), +1e <> >< (justify full/center), +1f |<- (backtab), +20 ->| (tab), and +56 [Back/down arrow] (start new paragraph). +
Other keycaps also occur. Those given above were meant +for use with the Notis WP word processor. +
+
IBM makes the "Host Connected Keyboard" for PS/2 machines used as +3270 emulators. +Delorie +reports on the 122-key "Host Connected" keyboard. +It may have 5b (F13), 5c (F14), 5d (F15), +63 (F16), 64 (F17), 65 (F18), +66 (F19), 67 (F20), 68 (F21), +69 (F22), 6a (F23), 6b (F24). +
+
This keyboard has four additional keys: Power (rose), Sleep (blue), +WakeUp (green) and FN (yellow). +In legacy mode these keys give the expected keycodes +(e0 5e, e0 5f, e0 63, +and none, respectively), but the interaction is funny. +The four keys act as radiobuttons. Pressing one yields its key down code, +but releasing it does not produce any scancodes. Now pressing another +yields the down code for the other followed by the up code for the +previous one. The FN key follows this pattern, only its scancode sequence +is empty. Thus, pressing it causes the release code for a previous key +to be emitted. Pressing a key a second time gives no reaction: the radiobutton +was down already. +
+
+ +The HP Omnibook XE3 laptop has special multimedia keys (aka OneTouch buttons) +disabled by default. It is enabled by writing 0x59 to port 0x64 +and then 0x90 to port 0x60 (as was found by Pavel Mihaylov). +Various kernel patches can be found on the net. See, for example, +this one. +
Keys (on a GF model): +
e0 32 (WWW), +e0 6c (Mail), +e0 74 (Demo), +e0 73 (Help), +e0 10 (Previous Track), +e0 22 (Play / Pause), +e0 24 (Stop / Eject), +e0 19 (Next Track), +e0 2e (Volume Down), +e0 30 (Volume Up), +e0 20 (Mute / Unmute). +
+
+
+
Eric Schott <eric@morningjoy.com
> writes:
+
I have an IBM EZ Button keyboard (US layout), which seems to +generate codes that are similar - but not identical - to the +Rapid Access keycodes listed above. +
There are 14 additional keys: +
e0 25 ("Power" moon - has an LED), +e0 26 ("Help"), +e0 32 ("Internet"), +e0 17 ("Lotus Word Pro"), +e0 30 ("Lotus Organizer"), +e0 2e ("Aptiva Installer"), +e0 19 ("Delete Message"), +e0 24 (Stop), +e0 22 (Pause), +e0 1e ("Msg" - has an LED), +e0 20 ("CD" - has an LED), +e0 23 (Rewind), +e0 21 (Fast Forward), and +e0 12 ("Talk" - has an LED). +
+
The LEDs in the buttons are controlled by the sequence + +eb 00 xx +where the xx controls the LEDs. Bit 0 controls the "Msg" LED, +1 the CD LED, 2 the Power LED, 4 the Talk LED, and 5 the Message +Waiting LED. +
+
+
Matthijs Melchior <mmelchio@xs4all.nl
> reports:
+
The Chicony KBP-8993 keyboard is similar. It has 14 additional +keys, enabled by sending ea 71 and disabled +by sending ea 70. +
These keys generate the following scan codes: +
e0 25 (Moon), +e0 32 (WWW), +e0 30 (DOS), +e0 17 (MyDoc), +e0 26 (Menu), +e0 1e (zzZ), +e0 2e (Close), +e0 24 (Stop), +e0 23 (Back), +e0 22 (Play), +e0 21 (Forward), +e0 20 (Mute), +e0 12 (VolDown), +e0 19 (VolUp). +
The two extra LEDs, above the Moon key, and next to the zzZ key +are manipulated by sending: + +eb 00 0x, +where bit 0 is the Moon LED and bit 1 is the zzZ LED. +
+
Fons Rademakers <Fons.Rademakers@cern.ch
> writes:
+
The electronics for this keyboard was first developed by HP's +Home Products Division (HPD). +They now make improved versions, which I don't know much about. +We (HP Corporate PC Divisions, in Grenoble) reused the electronics, +and changed the serigraphy printed on the keys. +
+
+ | Msg | TTl | WWW | ? | Lck | Msg | Phn | WWW | xxx | Slp | 133 | 134 | 135 | 136 | 137 | |||||
+ | Phn | S3 | S4 | S5 | i | << | >|| | [] | >> | HP | 138 | 139 | 140 | 141 | 142 | |||||
+ | Mut | Mut | 143 | |||||||||||||||||
+ | Vl+ | Vl+ | 144 | |||||||||||||||||
+ | VL- | VL- | 145 | |||||||||||||||||
+
+ |
+
+
+ | Key# | Scancode | Gren. Name | HPD name | ASCII |
+ | |||||
+ | 133 | e0 1e | Message/SC1 | Message | a |
+ | 134 | e0 12 | Top Tools | Phone | e |
+ | 135 | e0 32 | Web Browser | Internet | m |
+ | 136 | e0 17 | Reminder | Shortcut | i |
+ | 137 | e0 25 | Lock | Suspend | k |
+ | 138 | e0 23 | Phone/SC2 | << | h |
+ | 139 | e0 22 | ShortCut 3 | >|| | g |
+ | 140 | e0 24 | ShortCut 4 | [] | j |
+ | 141 | e0 21 | ShortCut 5 | >> | f |
+ | 142 | e0 26 | Information | Information | l |
+ | 143 | e0 20 | Mute | Mute | d |
+ | 144 | e0 30 | Volume + | Volume + | b |
+ | 145 | e0 2e | Volume - | Volume - | c |
+ + |
Note the scancodes above are those read by x86 software in port 0x60. +This is also called Scancode Set 1. +Break codes are the same, with bit 7 of the second scancode set. +Example: e0 9e for the Message key. +
+
<spikboll@gmx.net
> adds:
+These keyboards have a "mail LED" (it's positioned above the Message
+button) that kan be controlled by the Rapid Access hack:
+'send_to_keyboard eb' makes the led blink and
+'send_to_keyboard ec' turns the led off.
+'send_to_keyboard ed' makes the led light steadily
+and locks up the keys.
+
+
Jon Masters <jonathan@easypenguin.co.uk
> writes:
+
My new 121 key keyboard has 105 keys + 16 multimedia keys +(including cool stuff like a volume jog dial that sends one scancode +when turned one way and anther when turned the opposite way). +
e0 5e (Power Off), +e0 5f (Sleep), +e0 63 (Resume), +e0 2e (Help), +e0 20 (My Favourite), +e0 30 (Browser), +e0 32 (WWW Search), +e0 26 (Shortcut), +e0 25 (Volume Down), +e0 1e (Volume Up), +e0 12 (Mute), +e0 22 (Previous), +e0 10 (Stop), +e0 24 (Next), +e0 21 (Eject), +e0 19 (Play). +
+
Bernhard Polzin <B.Polzin@web.de
> writes:
+
I have a transparent violet colored "Yahoo!" Keyboard with extra keys +for Internet and Audio. Unusual scancodes (untranslated/translated): +
e0 37 / e0 5e (Power), +e0 3f / e0 5f (Sleep), +e0 5e / e0 63 (Wake), +e0 21 / e0 2e (Y!), +e0 4b / e0 26 (Short Cut), +e0 3a / e0 32 (E-Mail), +e0 23 / e0 20 (My Doc), +e0 32 / e0 30 (WWW), +e0 1c / e0 1e (Volume +), +e0 42 / e0 25 (Volume -), +e0 24 / e0 12 (Mute), +e0 15 / e0 10 (Stop), +e0 4e / e0 0c (Play/Pause), +e0 34 / e0 22 (Prev Track), +e0 3d / e0 08 (Next Track), +e0 4d / e0 19 (Eject). +(Volume +), (Volume -), (Prev Track) and (Next Track) are typematic. +
Note that this is very similar to the previous one. +
+ +
+
Eric Yeo reports that his Honeywell Multimedia Keyboard has the following +additional keys: +e0 25 (Screen saver), +e0 24 (Mail), +e0 32 (WWW), +e0 10 (Game), +e0 26 (Calc), +e0 1e (Shortcut 1), +e0 18 (Shortcut 2), +e0 12 (Prev), +e0 22 (Next), +e0 19 (Play), +e0 23 (Stop), +e0 30 (Vol up), +e0 2e (Vol down), +e0 17 (Eject), +e0 20 (Mute). +
+
Miguel Costa reports that his +Samsung Ergonomics Keyboard has the following additional keys: +e0 2e (Vol down), +e0 30 (Vol up), +e0 20 (Mute), +e0 18 (Eject), +e0 22 (PlayPause), +e0 24 (Stop), +e0 10 (Rewind), +e0 19 (Forward), +e0 26 (Help), +e0 59 (Favorites), +e0 09 (Exit), +e0 0a (Address book), +e0 02 (Action 1), +e0 03 (Action 2), +e0 04 (Action 3), +e0 05 (Action 4), +e0 06 (Action 5), +e0 32 (Internet), +e0 6c (Email), +e0 5f (Standby), +e0 5b (Windows left), +e0 5c (Windows right), +e0 5d (Windows task). +
+ +
+
Serge van den Boom reports that his LiteOn MediaTouch Keyboard +(a Trust "Direct Access Keyboard"), has 18 additional keys: +e0 25 (Suspend), +e0 7a (Coffee), +e0 32 (WWW), +e0 21 (Calculator), +e0 23 (Xfer), +38 2a 0f 8f / 8f b8 +aa (Switch window), +e0 17 (Close), +e0 10 (|<<), +e0 22 (>| / []), +e0 24 ([]), +e0 19 (>>|), +e0 1e (Record), +e0 12 (Rewind), +e0 26 (Menu/?), +e0 18 (Eject), +e0 20 (Mute), +e0 30 (Volume +), +e0 2e (Volume -). +Of these, the keys (|<<), (>>|), (Volume +), (Volume -) repeat. +The others do not, except for the rather special (Switch window) +key. Upon press it produces the LAlt-down, LShift-down, Tab-down, +Tab-up sequence; it repeats 0f, that is, Tab-down; +and upon release it produces the Tab-up, LAlt-up, LShift-up sequence. +
+ +
+
+
Pau Aliagas reports that his Acer Aspire 1310LC laptop has 4 +additional keys: +e0 6c (Mail), +e0 32 (WWW), +e0 74 (P1), +e0 73 (P2). +
+
+
This keyboard has 18 additional keys, with translated Set 2 scancodes: +e0 1e (Banking), +e0 25 (Brokerage), +e0 26 (Pay Bills), +e0 24 (News), +e0 21 (Sports), +e0 22 (Travel), +e0 32 (Shopping), +e0 23 (Tickets), +e0 31 (Music), +e0 18 (Health), +e0 30 (Greetings), +e0 1f (Games), +e0 13 (Auctions), +e0 2e (MySite), +e0 20 (Telephone), +e0 12 (Surf), +e0 19 (Search), +e0 10 (Vol -), +e0 17 (Vol +). +The respective untranslated Set 3 codes are +95, 9d, 9c, 94, 99, +93, 97, 9a, 9e, 9f, +91, a3, a2, 92, 9b, +96, a0, a1, 98 (equal to the +translated Set 3 codes). +
Unusual commands are e4 0b, which returns +bc 1c (untranslated 06 f0 5a), +and e4 0c, which returns +ff (untranslated 00), +and ec 0c, which returns 06 regardless of +translation. I do not know the meaning or function of these. +
+
The current mechanism is unable to handle keyboards with more than +127 keys. But such keyboards seem to exist. Indeed, I now have a +Safeway SW23 that has 132 keys. +
Mark Hatle <fray@kernel.crashing.org
> wrote:
+
On some ADB keyboards there are actually 128 distinct keys. +They use scancodes 0-127. +
ADB is Apple Desktop Bus. The way that ADB works is similar to SCSI but +on a much slower level. Specifically there is a communications chip in +the computer, ADB controller, and the same chip in the keyboard. The +keyboard sends the scancode to its internal ADB controller, the internal +ADB controller then does any key mapping needed (not used under linux +from my understanding) and passes the data to the computer. +
The ADB controller is capable of sending 256 distinct keys, but to my +knowledge only 128 are sent. The key 0 is the 'a' and key 127 is the +"power button". +
Also some of the Apple ADB keyboards have special "sound" and "function" +keys. These keys (used in MacOS for volume up and down, screen contrast +changing, etc) also show up on the ADB scancodes. +
ADB is used for both m68k and PPC Linux. The m68k Macintosh port, and +the PPC - Power Macintosh and CHRP ports. +
and later: +
Basically the scancode sequences for ADB are 16 bit. so there can actually +be 65536 scancodes, currently though only 128 are defined. +
+
+
+Mike A. Harris <mharris@meteng.on.ca
>
+reports a keyboard (an "Mtek" keyboard, model "K208")
+where PrtSc/SysRq behaves like Pause/Break and also sends both make
+and break sequences when pressed and nothing when released.
+It does not repeat.
+(Thus, he gets e0 2a e0 37
+e0 b7 e0 aa for PrtSc press,
+and 54 d4 for SysRq (i.e., Alt+PrtSc).)
+Others have reported the same (for an unspecified type of keyboard).
+
+