Index: chrome/common/extensions/api/braille_display_private.idl |
diff --git a/chrome/common/extensions/api/braille_display_private.idl b/chrome/common/extensions/api/braille_display_private.idl |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3b36b9a88c93f591ad0c901ce08688beb36cdc12 |
--- /dev/null |
+++ b/chrome/common/extensions/api/braille_display_private.idl |
@@ -0,0 +1,72 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Braille display access private API. |
+namespace brailleDisplayPrivate { |
+ // Braille display keyboard command. |
+ enum KeyCommand { |
+ line_up, |
+ line_down, |
+ pan_left, |
+ pan_right, |
+ top, |
+ bottom, |
+ routing, |
+ secondary_routing, |
+ dots, |
+ standard_key |
+ }; |
+ |
+ // A keyboard event. This is not a standard keyboard event because |
+ // braille display keyboards look significantly different from standard |
+ // keyboards. |
+ dictionary KeyEvent { |
+ KeyCommand command; |
+ // 0-based display position for commands that involve a routing key. |
+ long? displayPosition; |
+ // Braille dot keys that were pressed, stored in the low-order bits. |
+ // Dot 1 is stored in bit 0, dot2 in bit 1, etc. |
+ long? brailleDots; |
+ // DOM keyboard event for a key that corresponds to a standard key. |
+ DOMString? standardKeyName; |
+ // Whether the space key was pressed. |
+ boolean? spaceKey; |
+ // Whether the alt key was pressed. |
+ boolean? altKey; |
+ // Whether the shift key was pressed. |
+ boolean? shiftKey; |
+ // Whether the ctrl key was pressed. |
+ boolean? ctrlKey; |
+ }; |
+ |
+ // The current braille display state. |
+ dictionary DisplayState { |
+ // Whether a braille display is currently available. |
+ boolean available; |
+ // Number of braille cells on the currently connected display. |
+ long? textCellCount; |
+ }; |
+ |
+ callback DisplayStateCallback = void(DisplayState result); |
+ |
+ interface Functions { |
+ // Gets the current display state. |
+ static void getDisplayState(DisplayStateCallback callback); |
+ // Write the given dot patterns to the display. The buffer contains one |
+ // byte for each braille cell on the display, starting from the leftmost |
+ // cell. Each byte contains a bit pattern indicating which dots should be |
+ // raised in the corresponding cell with the low-order bit representing |
+ // dot 1 and so on until bit 7 which corresponds to dot 8. If the number |
+ // of bytes in the buffer is not equal to the display size, the buffer |
+ // will either be clipped or padded with blank cells on the right. |
+ static void writeDots(ArrayBuffer cells); |
+ }; |
+ |
+ interface Events { |
+ // Fired when a braille display is connected or disconnected. |
+ static void onDisplayStateChanged(DisplayState state); |
+ // Fired when an input event is received from the display. |
+ static void onKeyEvent(KeyEvent event); |
+ }; |
+}; |