123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package Selenium::Remote::WDKeys;
- # ABSTRACT: Representation of keystrokes used by Selenium::Remote::WebDriver
- =head1 DESCRIPTION
- The constant KEYS is defined here.
- =head1 SYNOPSIS
- use Selenium::Remote::WDKeys;
-
- my $space_key = KEYS->{'space'};
- my $enter_key = KEYS->{'enter'};
-
- =head1 CONSTANT KEYS
- null
- cancel
- help
- backspace
- tab
- clear
- return
- enter
- shift
- control
- alt
- pause
- escape
- space
- page_up
- page_down
- end
- home
- left_arrow
- up_arrow
- right_arrow
- down_arrow
- insert
- delete
- semicolon
- equals
- numpad_0
- numpad_1
- numpad_2
- numpad_3
- numpad_4
- numpad_5
- numpad_6
- numpad_7
- numpad_8
- numpad_9
- multiply
- add
- separator
- subtract
- decimal
- divide
- f1
- f2
- f3
- f4
- f5
- f6
- f7
- f8
- f9
- f10
- f11
- f12
- command_meta
- ZenkakuHankaku
- =head1 FUNCTIONS
- Functions of Selenium::Remote::WDKeys.
- =head2 KEYS
- my $keys = KEYS();
- A hash reference that contains constant keys. This function is exported by default.
- =cut
- use strict;
- use warnings;
- use base 'Exporter';
- # http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value
- use constant KEYS => {
- 'null' => "\N{U+E000}",
- 'cancel' => "\N{U+E001}",
- 'help' => "\N{U+E002}",
- 'backspace' => "\N{U+E003}",
- 'tab' => "\N{U+E004}",
- 'clear' => "\N{U+E005}",
- 'return' => "\N{U+E006}",
- 'enter' => "\N{U+E007}",
- 'shift' => "\N{U+E008}",
- 'control' => "\N{U+E009}",
- 'alt' => "\N{U+E00A}",
- 'pause' => "\N{U+E00B}",
- 'escape' => "\N{U+E00C}",
- 'space' => "\N{U+E00D}",
- 'page_up' => "\N{U+E00E}",
- 'page_down' => "\N{U+E00f}",
- 'end' => "\N{U+E010}",
- 'home' => "\N{U+E011}",
- 'left_arrow' => "\N{U+E012}",
- 'up_arrow' => "\N{U+E013}",
- 'right_arrow' => "\N{U+E014}",
- 'down_arrow' => "\N{U+E015}",
- 'insert' => "\N{U+E016}",
- 'delete' => "\N{U+E017}",
- 'semicolon' => "\N{U+E018}",
- 'equals' => "\N{U+E019}",
- 'numpad_0' => "\N{U+E01A}",
- 'numpad_1' => "\N{U+E01B}",
- 'numpad_2' => "\N{U+E01C}",
- 'numpad_3' => "\N{U+E01D}",
- 'numpad_4' => "\N{U+E01E}",
- 'numpad_5' => "\N{U+E01f}",
- 'numpad_6' => "\N{U+E020}",
- 'numpad_7' => "\N{U+E021}",
- 'numpad_8' => "\N{U+E022}",
- 'numpad_9' => "\N{U+E023}",
- 'multiply' => "\N{U+E024}",
- 'add' => "\N{U+E025}",
- 'separator' => "\N{U+E026}",
- 'subtract' => "\N{U+E027}",
- 'decimal' => "\N{U+E028}",
- 'divide' => "\N{U+E029}",
- 'f1' => "\N{U+E031}",
- 'f2' => "\N{U+E032}",
- 'f3' => "\N{U+E033}",
- 'f4' => "\N{U+E034}",
- 'f5' => "\N{U+E035}",
- 'f6' => "\N{U+E036}",
- 'f7' => "\N{U+E037}",
- 'f8' => "\N{U+E038}",
- 'f9' => "\N{U+E039}",
- 'f10' => "\N{U+E03A}",
- 'f11' => "\N{U+E03B}",
- 'f12' => "\N{U+E03C}",
- 'command_meta' => "\N{U+E03D}",
- 'ZenkakuHankaku' => "\N{U+E040}", #Asian language keys, maybe altGr too?
- #There are other code points for say, left versus right meta/shift/alt etc, but I don't seriously believe anyone uses that level of sophistication on the web yet.
- };
- our @EXPORT = ('KEYS');
- 1;
|