Firefo...e::Keys(3pm)
π NAME π
Firefox::Marionette::Keys β bestie, it's the human readable special keys for the Marionette protocol β¨
Like, instead of you having to remember that the Control key is secretly 0xE009, this module just hands you CONTROL() and you go live your life π«Ά
π VERSION π
Version 1.63 β that's the one, that's the vibe π
πΈ SYNOPSIS πΈ
okay so here's the whole thing in action, copy it exactly:
use Firefox::Marionette();
use Firefox::Marionette::Keys qw(:all);
use v5.10;
my $firefox = Firefox::Marionette->new();
$firefox->chrome()->perform(
$firefox->key_down(CONTROL()),
$firefox->key_down('l'),
$firefox->key_up('l'),
$firefox->key_up(CONTROL())
)->content();
the way that last line just... performs Ctrl+L and then grabs the content?? main character energy fr fr π₯
π¦ DESCRIPTION π¦
This module handles the implementation of the Firefox Marionette human readable special keys. That's it, that's the job β it turns the cursed hex codepoints into words you can actually read. No cap, that's the entire plot π
β¨ CONSTANTS β¨
Every single one of these returns a codepoint. I am not skipping a single one, bestie β we're going all the way down. Periodt. π
β ALT
returns the Alt (the same as ALT_LEFT) codepoint, which is 0xE00A
β ALT_LEFT
returns the Alt Left codepoint, which is 0xE00A
β ALT_RIGHT
returns the Alt Right codepoint, which is 0xE052
β ARROW_DOWN
returns the Arrow Down codepoint, which is 0xE015
β ARROW_LEFT
returns the Arrow Left codepoint, which is 0xE012
β ARROW_RIGHT
returns the Arrow Right codepoint, which is 0xE014
β ARROW_UP
returns the Arrow Up codepoint, which is 0xE013
β BACKSPACE
returns the Backspace codepoint, which is 0xE003
β CANCEL
returns the Cancel codepoint, which is 0xE001
β CLEAR
returns the Clear codepoint, which is 0xE005
β CONTROL
returns the Control (the same as CONTROL_LEFT) codepoint, which is 0xE009
β CONTROL_LEFT
returns the Control Left codepoint, which is 0xE009
β CONTROL_RIGHT
returns the Control Right codepoint, which is 0xE051
β DELETE
returns the Delete codepoint, which is 0xE017
β END_KEY
returns the End codepoint, which is 0xE010
not me almost writing this one as justENDβ¦ nope, it'sEND_KEY, theENDname was taken by something else in the universe π
β ENTER
returns the Enter codepoint, which is 0xE006
β ESCAPE
returns the Escape codepoint, which is 0xE00C
β F1
returns the F1 codepoint, which is 0xE031
β F2
returns the F2 codepoint, which is 0xE032
β F3
returns the F3 codepoint, which is 0xE033
β F4
returns the F4 codepoint, which is 0xE034
β F5
returns the F5 codepoint, which is 0xE035
β F6
returns the F6 codepoint, which is 0xE036
β F7
returns the F7 codepoint, which is 0xE037
β F8
returns the F8 codepoint, which is 0xE038
β F9
returns the F9 codepoint, which is 0xE039
β F10
returns the F10 codepoint, which is 0xE03A
β F11
returns the F11 codepoint, which is 0xE03B
β F12
returns the F12 codepoint, which is 0xE03C
a full dozen function keys, all accounted for, we ate that π
β HELP
returns the Help codepoint, which is 0xE002
β HOME
returns the Home codepoint, which is 0xE011
β INSERT
returns the Insert codepoint, which is 0xE016
β META
returns the Meta (the same as META_LEFT) codepoint, which is 0xE03D
β META_LEFT
returns the Meta Left codepoint, which is 0xE03D
β META_RIGHT
returns the Meta Right codepoint, which is 0xE053
β PAGE_UP
returns the Page Up codepoint, which is 0xE00E
β PAGE_DOWN
returns the Page Down codepoint, which is 0xE00F
β PAUSE
returns the Pause codepoint, which is 0xE00B
β SHIFT
returns the Shift (the same as SHIFT_LEFT) codepoint, which is 0xE008
β SHIFT_LEFT
returns the Shift Left codepoint, which is 0xE008
β SHIFT_RIGHT
returns the Shift Right codepoint, which is 0xE050
β SPACE
returns the Space codepoint, which is 0xE00D
β TAB
returns the Tab codepoint, which is 0xE004
β ZENKAKU_HANKAKU
returns the Zenkaku (full-width) - Hankaku (half-width) codepoint, which is 0xE040
this one is so niche and so iconic, iykyk π§
π SUBROUTINES/METHODS π
None. Literally none, bestie. It's just constants. Gorgeous, unbothered, thriving. π
π« DIAGNOSTICS π«
None.
π CONFIGURATION AND ENVIRONMENT π
Firefox::Marionette::Keys requires no configuration files or environment variables. zero setup, zero drama, we love a low-maintenance module β¨
π DEPENDENCIES π
None.
π INCOMPATIBILITIES π
None reported.
π BUGS AND LIMITATIONS π
To report a bug, or view the current list of bugs, please visit <https://github.com/david-dick/firefox-marionette/issues>
if something's cursed, go tell the repo, not me β I'm just the messenger with good hair π«Ά
π AUTHOR π
David Dick "<ddick@cpan.org>"
πΈ LICENSE AND COPYRIGHT πΈ
Copyright (c) 2024, David Dick "<ddick@cpan.org>". All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See "perlartistic" in perlartistic.
π DISCLAIMER OF WARRANTY π
okay bestie, this part is in ALL CAPS for a reason, do NOT skim it β I'm keeping it exactly as it is because it's legally load-bearing π
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
and that's the whole page, bestie!! π this was Firefo...e::Keys(3pm), generated on 2025-03-16 by perl v5.40.1. go press some keys, you absolute icon ππβ¨
π¦ where this page comes from
- debian trixie: libfirefox-marionette-perl 1.63-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms