	keyHelperunicodeScalarValuesscanCodekeyCode	modifiersisDownspecifiedLogicalKeykeyLabelphysicalKey
logicalKeyisModifierPressedgetModifierSidedebugFillProperties==hashCodedebugToolkit	numpadKeyplatformPlanemodifierCapsLockmodifierShiftmodifierControlmodifierAltmodifierMetamodifierNumericPad_mergeModifiersmodifierMod1modifierMod2RawKeyEventDataLinux	KeyHelperGLFWKeyHelperGtkKeyHelper=DiagnosticPropertiesBuilderLogicalKeyboardKeyPhysicalKeyboardKeyKeyEventRawKeyboard
DeprecatedRawKeyEventData	valueMaskintbooloverrideStringfromCharCodekLinuxToPhysicalKeywebPlanefindKeyByKeyId	numpadKey
isNotEmptyisControlCharacterunicodePlane
logicalKeyplatformPlaneModifierKeyKeyboardSideanyisModifierPressedsidekeyCodeisDowngetModifierSidevoiddebugFillPropertiesaddDiagnosticsPropertydebugToolkitdefaultValueObject	identicalruntimeType	keyHelperunicodeScalarValuesscanCode	modifiershashFlutterErrorcontrolModifiershiftModifieraltModifiermetaModifiercapsLockModifiernumLockModifierfunctionModifiersymbolModifierscrollLockModifierallkGlfwNumpadMapkGlfwToLogicalKey	glfwPlanekGtkNumpadMapkGtkToLogicalKeygtkPlaneRawKeyEventData	KeyHelper«>Te³¤u³ÞÖr4O�t�”DiagnosticPropertiesBuilder �Kpackage:flutter/foundation.dart�¶�âLogicalKeyboardKeyPhysicalKeyboardKey �™keyboard_key.g.dart   €à   package:flutter/foundation.dart  �   keyboard_maps.g.dart  �-   raw_keyboard.dart¤Ù À LW�ý =€ˆ€§€©€Ó€Ý€ß�
��,�I�K�—�™�å�ç‚‚‚l‚¹‚¾ƒƒ`ƒeƒtƒyƒ¾ƒÌ„/„h„k„¡„ß„ï…T…�…”…´…Ò…õ††$†=†X†w†Ã†Å‡‡ ‡‡Â‡à‡âˆCˆ�ˆ–ˆõ‰U‰u‰—‰™‰Û‰âŠ/ŠbŠyŠ{Š¹ŠÀ‹‹g‹}‹‹ÊŒ$Œ<Œ>Œ‹Œ¡Œ£Œò���c�²�¹�îŽŽŽ Ž„Ž†Ž“Ž½�"�$�1�X�€�­�þ��Q�Ÿ�Û‘$‘B‘[‘b‘d‘µ’’X’g’»’Ô“7“Œ“““•“å”,”G”]”d”f”µ”Ã•••••o•˜•¤•¶•É•â•ù–––––H–t–y–{–ˆ–Î–ú—O—ª—ï˜2˜y˜»˜Ð™2™:™?™A™N™r™•™©™°™Ý™ò™ùš&šgš¤šËšð››:›?›A›N›e›Ë›Î›ÐœœœYœ�œ¶œ»�
�W�e�€�¹�¼�Øž!ž1žNž‰žŽžµžÓžòŸŸ4ŸBŸˆŸ�Ÿ”Ÿ–Ÿ¿ŸÆ  ! # t Ã Ó ð¡+¡0¡b¡d¡³¡Á¡Ñ¡î¢)¢.¢I¢_¢u¢ ¢»¢Ö¢Ý¢ß££H£J£…£µ£·£î¤¤¤¤E¤J¤™¤æ¤ô¥¥H¥K¥w¥Ç¥ý¦¦G¦˜¦æ§4§‚§�§¦§Õ§×¨'¨f¨m¨­¨Ù¨Û©+©i©p©°©Þ©àª0ªmªtª´ªÞªà«0«u«|«¼«ç«é¬9¬w¬~¬¾¬ï¬ñ¬þ­$­&­…­¯­Ò­ö®®A®b®„®¦®É®ë¯¯¯`¯±°°*°,°_°ž°ã±±X±„±±±À±È±Ê²²² ²-²H²^²t²Ÿ²º²Õ²Ý³7³R³š³Þ´´`´ª´õµ%µSµµ¯µ·µ¼µ¾µËµþ¶H¶|¶Á¶ß¶ä¶æ¶ó·#·H·M·O·\·�·µ·º·¼·É¸¸¸¸?¸D¸“¸à¸î¹	¹B¹E¹p¹À¹ÿººEºªºû»K»†»œ»È»Ê¼¼P¼W¼“¼Â¼Ä½½R½Y½•½Ã½Å¾¾d¾k¾§¾Ò¾Ô¿$¿t¿†¿�¿É¿ô¿öÀ @FÀ @‹À @’À @ÎÀ @úÀ @üÀ A	À A.À A0À A�À A¸À AÞÀ BÀ B-À BVÀ B{À B¡À BÅÀ BêÀ CÀ C5À CYÀ C[À C¬À CýÀ DNÀ DvÀ DxÀ D«À DêÀ E/À EiÀ E¥À EåÀ FÀ FÀ F#À F%À FtÀ FyÀ F{À FˆÀ F£À F¹À FÏÀ FúÀ GÀ G0À G8À G’À G­À GõÀ H9À HzÀ H¼À IÀ IKÀ IzÀ I¨À IÔÀ JÀ JÀ JÀ JÀ J À JSÀ JœÀ JÐÀ KÀ K3À K8À K:À KGÀ KwÀ K›À K À K¢À K¯À KàÀ LÀ LÀ LÀ LÀ LTÀ LW   (/// @docImport 'hardware_keyboard.dart';€ß  �  �,  �K�t�”�™�¶�â   …œ …°    …¸…¸…Æ   …Ö…Ö…Û   …ù…ù…þ   †††   †(†(†-   †A†A†O   †\†\†a „á„â„ì…‘„ó…X…ñ†	† †9†~†„†¿†»†…†¹†š†††œ†�†¯†°†¾„£„£‚ :/// Creates a key event data structure specific for Linux.  ‡Ô†Ç�‡Ô€ð/// A helper class that abstracts the fetching of the toolkit-specific mappings.
///
/// There is no real concept of a "native" window toolkit on Linux, and each implementation
/// (GLFW, GTK, QT, etc) may have a different key code mapping. ‰�‡ä�°‰��€/// An int with up to two Unicode scalar values generated by a single keystroke. An assertion
/// will fire if more than two values are encoded in a single keystroke.
///
/// This is typically the character that [keyCode] would produce without any modifier keys.
/// For dead keys, it is typically the diacritic it would add to a character. Defaults to 0,
/// asserted to be not null. Šn‰›€ÛŠn€¼/// The hardware scan code id corresponding to this key event.
///
/// These values are not reliable and vary from device to device, so this
/// information is mainly useful for debugging. ‹sŠ}€ý‹s€ß/// The hardware key code corresponding to this key event.
///
/// This is the physical key that was pressed, not the Unicode character.
/// This value may be different depending on the window toolkit used. See [KeyHelper]. Œ0‹�€¸Œ0€ž/// A mask of the current modifiers using the values in Modifier Flags.
/// This value may be different depending on the window toolkit used. See [KeyHelper]. Œ˜Œ@^Œ˜I/// Whether or not this key event is a key down (true) or key up (false). �ûŒ¥�i�û�5/// A logical key specified by the embedding that should be used instead of
/// deriving from raw data.
///
/// The GTK embedding detects the keyboard layout and maps some keys to
/// logical keys in a way that can not be derived from per-key information.
///
/// This is not part of the native GTK key event.  ŽŽŽŽmŽ-   ŽˆŽ‰ŽˆŽˆ€˜Ž­   �&�'�&�&…ã�J   ›C›D›C›C€†›X     •3•3•?   •E•E$•R •••Y•e•f••€õ•!    –4–4–@ –
––
–
m–$    –£–£&–¿ –}–~–}–}‚À–�    ™a™a™h ™C™D™C™C�ú™^ ƒ¾ƒ¿ƒÉ„hƒÎ„1�ç�ç™å„q�Ë/// Platform-specific key event data for Linux.
///
/// This class is deprecated and will be removed. Platform specific key event
/// data will no longer be available. See [KeyEvent] for what is available.
///
/// Different window toolkit implementations can map to different key codes. This class
/// will use the correct mapping depending on the [keyHelper] provided.
///
/// See also:
///
///  * [RawKeyboard], which uses this interface to expose key data. ž�ž˜ ž¡    ž¢ž¢ž© ž#ž$ž.ž‹ž5žR�Ú�Ú�¸ E/// Create a KeyHelper implementation depending on the given toolkit.     Ÿ˜Ÿ˜€‡ e/// Returns the name for the toolkit.
///
/// This is used in debug mode to generate readable string.   £¹£¹M£ø3/// The platform plane mask value of this platform.    ¡O¡O¡[  Å Æ Ð¡- × ô % %�;¡?€™/// Returns a [KeyboardSide] enum value that describes which side or sides of
/// the given keyboard modifier key were pressed at the time of this event.   ¢M¢M¢Y   ¢c¢c¢g   ¢y¢y$¢†   ¢¤¢¤¢±   ¢¿¢¿¢Í 	¡Ã¡Ä¡Î¢+¡Õ¡ò¢�¢™¢š¡f¡f�u¢5V/// Returns true if the given [ModifierKey] was pressed at the time of this
/// event.   £9£9£=  ¢á¢áe£/6/// The numpad key from the specific key code mapping.   £¦£¦£ª  £L£Lg£›7/// The logical key from the specific key code mapping.�W�X�b�¹�g�‚›Ð›Ðˆ9�Ë�~/// Abstract class for window-specific key mappings.
///
/// Given that there might be multiple window toolkit implementations (GLFW,
/// GTK, QT, etc), this creates a common interface for each of the
/// different toolkits.
///
/// This class is deprecated and will be removed. Platform specific key event
/// data will no longer be available. See [KeyEvent] for what is available.  §Ì§¹¥y‚Y§¹‚/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether the CAPS LOCK modifier key is on.
///
/// {@template flutter.services.GLFWKeyHelper.modifierCapsLock}
/// Use this value if you need to decode the [RawKeyEventDataLinux.modifiers]
/// field yourself, but it's much easier to use [isModifierPressed] if you
/// just want to know if a modifier is pressed. This is especially true on
/// GLFW, since its modifiers don't include the effects of the current key
/// event.
/// {@endtemplate}¨Ð¨À§Ù€ý¨À€É/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the SHIFT modifier keys is pressed.
///
/// {@macro flutter.services.GLFWKeyHelper.modifierCapsLock}©Õ©Ã¨Ý€þ©Ã€È/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the CTRL modifier keys is pressed.
///
/// {@macro flutter.services.GLFWKeyHelper.modifierCapsLock}ªÕªÇ©â€ùªÇ€Ç/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the ALT modifier keys is pressed.
///
/// {@macro flutter.services.GLFWKeyHelper.modifierCapsLock}«Þ«Ïªâ�«Ï€Ï/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the Meta(SUPER) modifier keys is pressed.
///
/// {@macro flutter.services.GLFWKeyHelper.modifierCapsLock}¬æ¬Ñ«ë�¬Ñ€È/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether any key in the numeric keypad is pressed.
///
/// {@macro flutter.services.GLFWKeyHelper.modifierCapsLock}  ¬ó¬ô¬ó¬ó/­   ·¾·¿·¾·¾C·Ó     ­=­=­J   ­U­U­b   ­k­k­y  ­(­(„ô­,    ²L²L²X   ²b²b²f   ²x²x$²…   ²£²£²°   ²¾²¾²Ì ²"²#²Œ²˜²™²"²"ƒ˜²4    µêµêµö µÀµÁµÀµÀ�"µÚ    ··· ¶è¶é¶è¶èc·	    ·}·}·� ·Q·R·Q·Qg·r ¤æ¤ç¤ñ¥H¤ö¥¤¤“÷¥Q€Ô/// Helper class that uses GLFW-specific key mappings.
///
/// This class is deprecated and will be removed. Platform specific key event
/// data will no longer be available. See [KeyEvent] for what is available.  »Á»¿»Ä»¯¹r‚S»¯‚/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the SHIFT modifier keys is pressed.
///
/// {@template flutter.services.GtkKeyHelper.modifierShift}
/// Use this value if you need to decode the [RawKeyEventDataLinux.modifiers] field yourself, but
/// it's much easier to use [isModifierPressed] if you just want to know if a
/// modifier is pressed. This is especially true on GTK, since its modifiers
/// don't include the effects of the current key event.
/// {@endtemplate}¼»¼¹¼¾¼¦»Ì€ó¼¦€¼/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether the CAPS LOCK modifier key is on.
///
/// {@macro flutter.services.GtkKeyHelper.modifierShift}½¼½º½¿½¨¼Æ€ú½¨€Ä/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the CTRL modifier keys is pressed.
///
/// {@macro flutter.services.GtkKeyHelper.modifierShift}¾Ë¾É¾Î¾º½Ç�¾º€Õ/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether the first modifier key is pressed (usually mapped to alt).
///
/// {@macro flutter.services.GtkKeyHelper.modifierShift}¿í¿ë¿ð¿Ü¾Ö�¿Ü€å/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether the second modifier key is pressed (assumed to be mapped to
/// num lock).
///
/// {@macro flutter.services.GtkKeyHelper.modifierShift}À @òÀ @ðÀ @õÀ @á¿ø€ÿÀ @á€Ë/// This mask is used to check the [RawKeyEventDataLinux.modifiers] field to
/// test whether one of the Meta(SUPER) modifier keys is pressed.
///
/// {@macro flutter.services.GtkKeyHelper.modifierShift}  À @þÀ @ÿÀ @þÀ @þ.À A   À LÀ LÀ LÀ LBÀ L%     À AGÀ AGÀ AT   À A_À A_À Al   À AuÀ AuÀ Aƒ  À A2À A2…EÀ A6    À F§À F§À F³   À F½À F½À FÁ   À FÓÀ FÓ$À Fà   À FþÀ FþÀ G   À GÀ GÀ G' À F}À F~À FçÀ FóÀ FôÀ F}À F}ƒ’À F�    À J?À J?À JK À JÀ JÀ JÀ J�!À J/    À KgÀ KgÀ Kk À K<À K=À K<À K<bÀ K]    À KÐÀ KÐÀ KÔ À K¤À K¥À K¤À K¤fÀ KÅ ¸à¸á¸ë¹B¸ð¹¸¸”M¹K€Ó/// Helper class that uses GTK-specific key mappings.
///
/// This class is deprecated and will be removed. Platform specific key event
/// data will no longer be available. See [KeyEvent] for what is available.             €²  hardware_keyboard.dart �ý =€ˆ€§€©€Ó€Ý€ß�
��,�I�K�—�™�å�ç‚‚‚l‚¹‚¾ƒƒ`ƒeƒtƒyƒ¾ƒÌ„/„h„k„¡„ß„ï…T…�…”…´…Ò…õ††$†=†X†w†Ã†Å‡‡ ‡‡Â‡à‡âˆCˆ�ˆ–ˆõ‰U‰u‰—‰™‰Û‰âŠ/ŠbŠyŠ{Š¹ŠÀ‹‹g‹}‹‹ÊŒ$Œ<Œ>Œ‹Œ¡Œ£Œò���c�²�¹�îŽŽŽ Ž„Ž†Ž“Ž½�"�$�1�X�€�­�þ��Q�Ÿ�Û‘$‘B‘[‘b‘d‘µ’’X’g’»’Ô“7“Œ“““•“å”,”G”]”d”f”µ”Ã•••••o•˜•¤•¶•É•â•ù–––––H–t–y–{–ˆ–Î–ú—O—ª—ï˜2˜y˜»˜Ð™2™:™?™A™N™r™•™©™°™Ý™ò™ùš&šgš¤šËšð››:›?›A›N›e›Ë›Î›ÐœœœYœ�œ¶œ»�
�W�e�€�¹�¼�Øž!ž1žNž‰žŽžµžÓžòŸŸ4ŸBŸˆŸ�Ÿ”Ÿ–Ÿ¿ŸÆ  ! # t Ã Ó ð¡+¡0¡b¡d¡³¡Á¡Ñ¡î¢)¢.¢I¢_¢u¢ ¢»¢Ö¢Ý¢ß££H£J£…£µ£·£î¤¤¤¤E¤J¤™¤æ¤ô¥¥H¥K¥w¥Ç¥ý¦¦G¦˜¦æ§4§‚§�§¦§Õ§×¨'¨f¨m¨­¨Ù¨Û©+©i©p©°©Þ©àª0ªmªtª´ªÞªà«0«u«|«¼«ç«é¬9¬w¬~¬¾¬ï¬ñ¬þ­$­&­…­¯­Ò­ö®®A®b®„®¦®É®ë¯¯¯`¯±°°*°,°_°ž°ã±±X±„±±±À±È±Ê²²² ²-²H²^²t²Ÿ²º²Õ²Ý³7³R³š³Þ´´`´ª´õµ%µSµµ¯µ·µ¼µ¾µËµþ¶H¶|¶Á¶ß¶ä¶æ¶ó·#·H·M·O·\·�·µ·º·¼·É¸¸¸¸?¸D¸“¸à¸î¹	¹B¹E¹p¹À¹ÿººEºªºû»K»†»œ»È»Ê¼¼P¼W¼“¼Â¼Ä½½R½Y½•½Ã½Å¾¾d¾k¾§¾Ò¾Ô¿$¿t¿†¿�¿É¿ô¿öÀ @FÀ @‹À @’À @ÎÀ @úÀ @üÀ A	À A.À A0À A�À A¸À AÞÀ BÀ B-À BVÀ B{À B¡À BÅÀ BêÀ CÀ C5À CYÀ C[À C¬À CýÀ DNÀ DvÀ DxÀ D«À DêÀ E/À EiÀ E¥À EåÀ FÀ FÀ F#À F%À FtÀ FyÀ F{À FˆÀ F£À F¹À FÏÀ FúÀ GÀ G0À G8À G’À G­À GõÀ H9À HzÀ H¼À IÀ IKÀ IzÀ I¨À IÔÀ JÀ JÀ JÀ JÀ J À JSÀ JœÀ JÐÀ KÀ K3À K8À K:À KGÀ KwÀ K›À K À K¢À K¯À KàÀ LÀ LÀ LÀ LÀ LTÀ LW   RawKeyEventDataLinux	KeyHelperGLFWKeyHelperGtkKeyHelper/flutter.services.GLFWKeyHelper.modifierCapsLock�%Use this value if you need to decode the [RawKeyEventDataLinux.modifiers]
field yourself, but it's much easier to use [isModifierPressed] if you
just want to know if a modifier is pressed. This is especially true on
GLFW, since its modifiers don't include the effects of the current key
event.+flutter.services.GtkKeyHelper.modifierShift�$Use this value if you need to decode the [RawKeyEventDataLinux.modifiers] field yourself, but
it's much easier to use [isModifierPressed] if you just want to know if a
modifier is pressed. This is especially true on GTK, since its modifiers
don't include the effects of the current key event. Ç9