Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / api / braille_display_private.idl
blob0c7a3e69dc00fdbf5cb99c85ff770776dcfcb7f6
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Braille display access private API.
6 namespace brailleDisplayPrivate {
7 // Braille display keyboard command.
8 enum KeyCommand {
9 line_up,
10 line_down,
11 pan_left,
12 pan_right,
13 top,
14 bottom,
15 routing,
16 secondary_routing,
17 dots,
18 standard_key
21 // A keyboard event. This is not a standard keyboard event because
22 // braille display keyboards look significantly different from standard
23 // keyboards.
24 dictionary KeyEvent {
25 KeyCommand command;
26 // 0-based display position for commands that involve a routing key.
27 long? displayPosition;
28 // Braille dot keys that were pressed, stored in the low-order bits.
29 // Dot 1 is stored in bit 0, dot2 in bit 1, etc.
30 long? brailleDots;
31 // DOM keyboard event code. This is present when command is standard_key
32 // and the braille display event represents a non-alphanumeric key such
33 // as an arrow key or function key.
34 // The value is as defined by the |code| property in
35 // http://www.w3.org/TR/uievents/#keyboard-event-interface
36 DOMString? standardKeyCode;
37 // DOM keyboard event character value. This is present if the
38 // braille key event corresponds to a character.
39 DOMString? standardKeyChar;
40 // Whether the space key was pressed.
41 boolean? spaceKey;
42 // Whether the alt key was pressed.
43 boolean? altKey;
44 // Whether the shift key was pressed.
45 boolean? shiftKey;
46 // Whether the ctrl key was pressed.
47 boolean? ctrlKey;
50 // The current braille display state.
51 dictionary DisplayState {
52 // Whether a braille display is currently available.
53 boolean available;
54 // Number of braille cells on the currently connected display.
55 long? textCellCount;
58 callback DisplayStateCallback = void(DisplayState result);
60 interface Functions {
61 // Gets the current display state.
62 static void getDisplayState(DisplayStateCallback callback);
63 // Write the given dot patterns to the display. The buffer contains one
64 // byte for each braille cell on the display, starting from the leftmost
65 // cell. Each byte contains a bit pattern indicating which dots should be
66 // raised in the corresponding cell with the low-order bit representing
67 // dot 1 and so on until bit 7 which corresponds to dot 8. If the number
68 // of bytes in the buffer is not equal to the display size, the buffer
69 // will either be clipped or padded with blank cells on the right.
70 static void writeDots(ArrayBuffer cells);
73 interface Events {
74 // Fired when a braille display is connected or disconnected.
75 static void onDisplayStateChanged(DisplayState state);
76 // Fired when an input event is received from the display.
77 static void onKeyEvent(KeyEvent event);