Allow speical keys to be bound to keystrokes

Summary: Fixes T2711. Allows special keys (arrows, tab, return) to be bound as shortcuts. Binds left and right as shortcuts in Pholio.

Test Plan: Pressed left. Pressed right.

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2711

Differential Revision: https://secure.phabricator.com/D5303
This commit is contained in:
epriestley
2013-03-08 21:19:24 -08:00
parent eba51d16b9
commit 8821ab57c0
4 changed files with 135 additions and 102 deletions

View File

@@ -21,10 +21,21 @@ final class PhabricatorHelpKeyboardShortcutController
'description' => 'Close any dialog, including this one.',
);
$stroke_map = array(
'left' => "\xE2\x86\x90",
'right' => "\xE2\x86\x92",
'up' => "\xE2\x86\x91",
'down' => "\xE2\x86\x93",
'return' => "\xE2\x8F\x8E",
'tab' => "\xE2\x87\xA5",
'delete' => "\xE2\x8C\xAB",
);
$rows = array();
foreach ($keys as $shortcut) {
$keystrokes = array();
foreach ($shortcut['keys'] as $stroke) {
$stroke = idx($stroke_map, $stroke, $stroke);
$keystrokes[] = phutil_tag('kbd', array(), $stroke);
}
$keystrokes = phutil_implode_html(' or ', $keystrokes);