	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�h�ˆDiagnosticPropertiesBuilder �?package:flutter/foundation.dart�¨�ÔLogicalKeyboardKeyPhysicalKeyboardKey �‹keyboard_key.g.dart   €Ù   package:flutter/foundation.dart  �   keyboard_maps.g.dart  �#   raw_keyboard.dart¤™ À J[�ý <€†€¤€¥€Î€×€Ø���"�>�?�Š�‹�Ö�×‚‚‚Y‚¥‚©ƒƒIƒMƒ[ƒ_ƒ£ƒ°„„J„L„�„¾„Í…1…k…o…Ž…«…Í…ä…ú††,†J†•†–†é†ï‡M‡�‡¬‡­ˆˆXˆ^ˆ¼‰‰:‰[‰\‰�‰£‰ïŠ!Š7Š8ŠuŠ{ŠÇ‹ ‹5‹6‹€‹Ù‹ð‹ñŒ=ŒRŒSŒ¡Œ¿ŒÅ��]�c�—�¹�º�ÆŽ)Ž*Ž6Ž_ŽÃŽÄŽÐŽö��I�™�Ÿ�ê�7�r�º�×�ï�õ�ö‘F‘–‘ç‘õ’H’`’Â““““l“²“Ì“á“ç“è”6”C”…”‰”Š”–”ê•••.•@•X•n•u•y•z•†•¸•ã•ç•è•ô–9–d–¸——V—˜—Þ˜˜3˜”˜›˜Ÿ˜ ˜¬˜Ï˜ñ™™
™6™J™P™|™¼™øššBšjšŠšŽš�š›š±››››N›R›Ÿ›â›ú›þœLœ˜œ¥œ¿œ÷œù��\�k�‡�Á�Å�ëžž&žIžfžsž¸ž¾žÂžÃžëžñŸ/ŸJŸKŸ›ŸéŸø  N R ƒ „ Ò ß î¡
¡D¡H¡b¡w¡Œ¡¶¡Ð¡ê¡ð¡ñ¢*¢X¢Y¢“¢Â¢Ã¢ù££££L£P£ž£ê£÷¤¤I¤K¤v¤Å¤ú¥ ¥B¥’¥ß¦,¦y¦†¦›¦É¦Ê§§W§]§œ§Ç§È¨¨T¨Z¨™¨Æ¨Ç©©R©X©—©À©ÁªªTªZª™ªÃªÄ««P«V«•«Å«Æ«Ò«÷«ø¬V¬¬¡¬Ä¬è­­-­N­o­‘­²­Ò­Ó®$®t®Ä®ë®ì¯¯\¯ ¯Ø°°>°j°x°°€°Î°Ò°Ó°ß°ù±±#±M±g±�±ˆ±á±û²B²…²Ä³³N³˜³Ç³ô´´N´U´Y´Z´f´˜´áµµXµuµyµzµ†µµµÙµÝµÞµê¶¶A¶E¶F¶R¶‹¶�¶Ž¶Ä¶È··b·o·‰·Á·Ã·í¸<¸z¸€¸¾¹"¹r¹Á¹ûºº;º<º‹ºÀºÆ»»/»0»»¼»Â»ý¼*¼+¼z¼È¼Î½	½3½4½ƒ½Ò½ã½é¾$¾N¾O¾ž¾â¾è¿#¿N¿O¿[¿¿€¿ÞÀ @À @+À @QÀ @xÀ @ À @ÄÀ @éÀ AÀ A0À ATÀ AyÀ AœÀ A�À AíÀ B=À B�À B´À BµÀ BçÀ C%À CiÀ C¢À CÝÀ DÀ DBÀ DPÀ DWÀ DXÀ D¦À DªÀ D«À D·À DÑÀ DæÀ DûÀ E%À E?À EYÀ E`À E¹À EÓÀ FÀ F]À F�À FÞÀ G'À GkÀ G™À GÆÀ GñÀ H À H'À H+À H,À H8À HjÀ H²À HåÀ I)À IFÀ IJÀ IKÀ IWÀ I†À I©À I­À I®À IºÀ IêÀ JÀ JÀ JÀ J!À JYÀ J[   (/// @docImport 'hardware_keyboard.dart';€Ø  �  �"  �?�h�ˆ�‹�¨�Ô   …w …‹    …’…’…    …¯…¯…´   …Ñ…Ñ…Ö   …è…è…í   …þ…þ†   †††$   †0†0†5 „À„Á„Ë…m„Ñ…5…Ê…á…÷††Q†W†’†Ž†X†Œ†m†Y†o†p†‚†ƒ†‘„ƒ„ƒ‚ :/// 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. ‰F‡¯�ª‰F�€/// 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. Š-‰^€×Š-€¼/// 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. ‹,Š:€ù‹,€ß/// 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]. ‹å‹8€¶‹å€ž/// 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]. ŒJ‹ó]ŒJI/// Whether or not this key event is a key down (true) or key up (false). �¤ŒU�b�¤�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.  �¼�½�¼�¼l�Ó   Ž,Ž-Ž,Ž,€–ŽP   ŽÆŽÇŽÆŽÆ…ÂŽé   š‘š’š‘š‘€„š¥     ”¯”¯”»   ”Á”Á$”Î ”Œ”�”Õ”á”â”Œ”Œ€ì”�    •¥•¥•± •|•}•|•|j••    ––&–+ •ê•ë•ê•ê‚´•û    ˜¿˜¿˜Æ ˜¢˜£˜¢˜¢�ë˜¼ ƒ£ƒ¤ƒ®„Jƒ²„�×�×™@„R�Ë/// 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. �Ç�Ï �Ø    �Ù�Ù�à �^�_�i�Ã�o�‹���« 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.   ¢Å¢ÅL£3/// The platform plane mask value of this platform.     q q } ŸëŸìŸö PŸü ŸMŸM�5 a€™/// 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.   ¡f¡f¡r   ¡{¡{¡   ¡�¡�$¡�   ¡º¡º¡Ç   ¡Ô¡Ô¡â 	 á â ì¡F ò¡¡¤¡°¡± † †�i¡OV/// Returns true if the given [ModifierKey] was pressed at the time of this
/// event.   ¢J¢J¢N  ¡ó¡ód¢@6/// The numpad key from the specific key code mapping.   ¢´¢´¢¸  ¢[¢[f¢©7/// The logical key from the specific key code mapping.œ˜œ™œ£œ÷œ§œÁ››‡ú��~/// 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.  ¦Á¦®¤x‚O¦®‚/// 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}  «È«É«È«È.«ß   ¶H¶I¶H¶HB¶\     ¬¬¬   ¬'¬'¬4   ¬=¬=¬K  «ú«ú„×«þ    °ý°ý±	   ±±±   ±'±'$±4   ±Q±Q±^   ±k±k±y °Õ°Ö±;±G±H°Õ°Õƒƒ°æ    ´…´…´‘ ´\´]´\´\�´u    µ¦µ¦µª µ|µ}µ|µ|`µœ    ¶¶¶ µàµáµàµàd¶  £ê£ë£õ¤I£ù¤££“w¤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.  º5º3º8º#·ï‚Jº#‚/// 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}¼$¼"¼'¼»2€ö¼€Ä/// 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}½-½+½0½¼-�½€Õ/// 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}¾H¾F¾K¾7½6�¾7€å/// 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}¿G¿E¿J¿6¾Q€û¿6€Ë/// 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}  ¿Q¿R¿Q¿Q-¿h   À JÀ JÀ JÀ JAÀ J+     ¿—¿—¿¤   ¿¯¿¯¿¼   ¿Å¿Å¿Ó  ¿‚¿‚…'¿†    À DÕÀ DÕÀ Dá   À DêÀ DêÀ Dî   À DÿÀ Dÿ$À E   À E)À E)À E6   À ECÀ ECÀ EQ À D­À D®À EÀ EÀ E À D­À D­ƒ}À D¾    À HWÀ HWÀ Hc À H.À H/À H.À H.�À HG    À IwÀ IwÀ I{ À IMÀ INÀ IMÀ IM_À Im    À IÛÀ IÛÀ Iß À I°À I±À I°À I°cÀ IÐ ·b·c·m·Á·q·‹¶Ž¶Ž“Ì·É€Ó/// 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 �ý <€†€¤€¥€Î€×€Ø���"�>�?�Š�‹�Ö�×‚‚‚Y‚¥‚©ƒƒIƒMƒ[ƒ_ƒ£ƒ°„„J„L„�„¾„Í…1…k…o…Ž…«…Í…ä…ú††,†J†•†–†é†ï‡M‡�‡¬‡­ˆˆXˆ^ˆ¼‰‰:‰[‰\‰�‰£‰ïŠ!Š7Š8ŠuŠ{ŠÇ‹ ‹5‹6‹€‹Ù‹ð‹ñŒ=ŒRŒSŒ¡Œ¿ŒÅ��]�c�—�¹�º�ÆŽ)Ž*Ž6Ž_ŽÃŽÄŽÐŽö��I�™�Ÿ�ê�7�r�º�×�ï�õ�ö‘F‘–‘ç‘õ’H’`’Â““““l“²“Ì“á“ç“è”6”C”…”‰”Š”–”ê•••.•@•X•n•u•y•z•†•¸•ã•ç•è•ô–9–d–¸——V—˜—Þ˜˜3˜”˜›˜Ÿ˜ ˜¬˜Ï˜ñ™™
™6™J™P™|™¼™øššBšjšŠšŽš�š›š±››››N›R›Ÿ›â›ú›þœLœ˜œ¥œ¿œ÷œù��\�k�‡�Á�Å�ëžž&žIžfžsž¸ž¾žÂžÃžëžñŸ/ŸJŸKŸ›ŸéŸø  N R ƒ „ Ò ß î¡
¡D¡H¡b¡w¡Œ¡¶¡Ð¡ê¡ð¡ñ¢*¢X¢Y¢“¢Â¢Ã¢ù££££L£P£ž£ê£÷¤¤I¤K¤v¤Å¤ú¥ ¥B¥’¥ß¦,¦y¦†¦›¦É¦Ê§§W§]§œ§Ç§È¨¨T¨Z¨™¨Æ¨Ç©©R©X©—©À©ÁªªTªZª™ªÃªÄ««P«V«•«Å«Æ«Ò«÷«ø¬V¬¬¡¬Ä¬è­­-­N­o­‘­²­Ò­Ó®$®t®Ä®ë®ì¯¯\¯ ¯Ø°°>°j°x°°€°Î°Ò°Ó°ß°ù±±#±M±g±�±ˆ±á±û²B²…²Ä³³N³˜³Ç³ô´´N´U´Y´Z´f´˜´áµµXµuµyµzµ†µµµÙµÝµÞµê¶¶A¶E¶F¶R¶‹¶�¶Ž¶Ä¶È··b·o·‰·Á·Ã·í¸<¸z¸€¸¾¹"¹r¹Á¹ûºº;º<º‹ºÀºÆ»»/»0»»¼»Â»ý¼*¼+¼z¼È¼Î½	½3½4½ƒ½Ò½ã½é¾$¾N¾O¾ž¾â¾è¿#¿N¿O¿[¿¿€¿ÞÀ @À @+À @QÀ @xÀ @ À @ÄÀ @éÀ AÀ A0À ATÀ AyÀ AœÀ A�À AíÀ B=À B�À B´À BµÀ BçÀ C%À CiÀ C¢À CÝÀ DÀ DBÀ DPÀ DWÀ DXÀ D¦À DªÀ D«À D·À DÑÀ DæÀ DûÀ E%À E?À EYÀ E`À E¹À EÓÀ FÀ F]À F�À FÞÀ G'À GkÀ G™À GÆÀ GñÀ H À H'À H+À H,À H8À HjÀ H²À HåÀ I)À IFÀ IJÀ IKÀ IWÀ I†À I©À I­À I®À IºÀ IêÀ JÀ JÀ JÀ J!À JYÀ J[   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. F