keyHelperunicodeScalarValuesscanCodekeyCode modifiersisDownspecifiedLogicalKeykeyLabel physicalKey logicalKeyisModifierPressedgetModifierSidedebugFillProperties==hashCode debugToolkit numpadKey platformPlanemodifierCapsLock modifierShiftmodifierControl modifierAlt modifierMetamodifierNumericPad_mergeModifiers modifierMod1 modifierMod2RawKeyEventDataLinux KeyHelper GLFWKeyHelper GtkKeyHelper=DiagnosticPropertiesBuilderLogicalKeyboardKeyPhysicalKeyboardKeyKeyEvent RawKeyboard DeprecatedRawKeyEventData valueMaskintbooloverrideString fromCharCodekLinuxToPhysicalKeywebPlanefindKeyByKeyId numpadKey isNotEmptyisControlCharacter unicodePlane logicalKey platformPlane ModifierKey KeyboardSideanyisModifierPressedsidekeyCodeisDowngetModifierSidevoiddebugFillPropertiesaddDiagnosticsProperty debugToolkit defaultValueObject identical runtimeType keyHelperunicodeScalarValuesscanCode modifiershash FlutterErrorcontrolModifier shiftModifier altModifier metaModifiercapsLockModifiernumLockModifierfunctionModifiersymbolModifierscrollLockModifierallkGlfwNumpadMapkGlfwToLogicalKey glfwPlane kGtkNumpadMapkGtkToLogicalKeygtkPlaneRawKeyEventData KeyHelper`S%h�âëSô?*Þƒ�t�”DiagnosticPropertiesBuilder�Kpackage:flutter/foundation.dart�¶�âLogicalKeyboardKeyPhysicalKeyboardKey�™keyboard_key.g.dart€àpackage:flutter/foundation.dart� keyboard_maps.g.dart�-raw_keyboard.dart¤µÀL«�ý=€ˆ€§€©€Ó€Ý€ß� � �,�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¬~¬¾¬ï¬ñ¬þ­$­&­…­¯­Ö­þ®'®Q®v®œ®Â®é¯¯4¯6¯ˆ¯Ù°*°R°T°‡°Æ± ±D±€±¬±Ù±è±ð±ò²A²F²H²U²p²†²œ²Ç²â²ý³³_³z³Â´´F´ˆ´ÒµµMµ{µ§µ×µßµäµæµó¶&¶p¶¤¶é·· ···K·p·u·w·„·µ·Ý·â·ä·ñ¸+¸.¸0¸g¸l¸»¹¹¹1¹j¹m¹˜¹èº'º.ºmºÒ»#»s»®»Ä»ð»ò¼B¼x¼¼»¼ê¼ì½<½z½�½½½ë½í¾=¾Œ¾“¾Ï¾ú¾ü¿L¿œ¿®¿µ¿ñÀ@À@À@nÀ@³À@ºÀ@öÀA"ÀA$ÀA1ÀAVÀAXÀA·ÀAàÀB ÀB5ÀBaÀBŽÀB·ÀBáÀC ÀC2ÀC[ÀC…ÀC­ÀC¯ÀDÀDQÀD¢ÀDÊÀDÌÀDÿÀE>ÀEƒÀE½ÀEùÀF9ÀF`ÀFoÀFwÀFyÀFÈÀFÍÀFÏÀFÜÀF÷ÀG ÀG#ÀGNÀGiÀG„ÀGŒÀGæÀHÀHIÀH�ÀHÎÀIÀIZÀIŸÀIÎÀIüÀJ(ÀJXÀJ`ÀJeÀJgÀJtÀJ§ÀJðÀK$ÀKiÀK‡ÀKŒÀKŽÀK›ÀKËÀKïÀKôÀKöÀLÀL4ÀL[ÀL`ÀLbÀLoÀL¨ÀL«(/// @docImport 'hardware_keyboard.dart';€ß� �,�K�t�”�™�¶�â�ç™å„q„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.„£‚…œ…œ…°:/// Creates a key event data structure specific for Linux.…¸…Ç…Æ…Ö…Ü…Û…ù…ÿ…þ††††(†.†-†A†P†O†\†b†a„á„â„ì…‘„ó…X…ñ† † †9†~†„†¿†»†…†¹†š†††œ†�†¯†°†¾†Ç�‡Ô‡Ô€ð/// 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�J�&�'›C€†›X›X›C›D•€õ•!•!•3•@•?•E$•S•R•••Y•e•f– m–$–$–4–A–@– – –}‚À–�–�–£&–À–¿–}–~™C�ú™^™^™a ™i™h™C™Dƒ¾ƒ¿ƒÉ„hƒÎ„1›Ðˆ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.�Ú�¸ž˜ž˜ž¡E/// Create a KeyHelper implementation depending on the given toolkit.ž¢žªž©ž#ž$ž.ž‹ž5žRŸ˜€‡  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. %�;¡?¡?€™/// 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.¡O¡\¡[ Å Æ Ð¡- × ô¡f�u¢5¢5V/// Returns true if the given [ModifierKey] was pressed at the time of this /// event.¢M¢Z¢Y¢c ¢h¢g¢y$¢‡¢†¢¤¢²¢±¢¿¢Î¢Í ¡Ã¡Ä¡Î¢+¡Õ¡ò¢�¢™¢š¢áe£/£/6/// The numpad key from the specific key code mapping.£9 £>£=£Lg£›£›7/// The logical key from the specific key code mapping.£¦ £«£ª�W�X�b�¹�g�‚¤ ”¥Q¥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.¥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·û·û·æ·ç­(…­,­,­=­K­J­U­c­b­k­z­y²Jƒ˜²\²\²t²�²€²Š ²�²Ž² $²®²­²Ë²Ù²Ø²æ²õ²ô²J²K²´²À²Áµè�"¶¶¶¶¶µèµé·c·1·1·; ·@·?···yg·š·š·¥ ·ª·©·y·z¤æ¤ç¤ñ¥H¤ö¥¸0”y¹s¹s€Ó/// 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.¹š‚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}À@À@À@À@ €ÿÀA ÀA €Ë/// 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ÀAÀAÀA&.ÀA>ÀA>ÀA&ÀA'ÀLdBÀLyÀLyÀLdÀLeÀAZ…qÀA^ÀA^ÀAoÀA}ÀA|ÀA‡ÀA•ÀA”ÀA�ÀA¬ÀA«ÀFу’ÀFãÀFãÀFûÀGÀGÀG ÀGÀGÀG'$ÀG5ÀG4ÀGRÀG`ÀG_ÀGmÀG|ÀG{ÀFÑÀFÒÀG;ÀGGÀGHÀJi�!ÀJƒÀJƒÀJ“ÀJ ÀJŸÀJiÀJjÀK�bÀK±ÀK±ÀK» ÀKÀÀK¿ÀK�ÀK‘ÀKøfÀLÀLÀL$ ÀL)ÀL(ÀKøÀKù¹¹ ¹¹j¹¹3€²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¬~¬¾¬ï¬ñ¬þ­$­&­…­¯­Ö­þ®'®Q®v®œ®Â®é¯¯4¯6¯ˆ¯Ù°*°R°T°‡°Æ± ±D±€±¬±Ù±è±ð±ò²A²F²H²U²p²†²œ²Ç²â²ý³³_³z³Â´´F´ˆ´ÒµµMµ{µ§µ×µßµäµæµó¶&¶p¶¤¶é·· ···K·p·u·w·„·µ·Ý·â·ä·ñ¸+¸.¸0¸g¸l¸»¹¹¹1¹j¹m¹˜¹èº'º.ºmºÒ»#»s»®»Ä»ð»ò¼B¼x¼¼»¼ê¼ì½<½z½�½½½ë½í¾=¾Œ¾“¾Ï¾ú¾ü¿L¿œ¿®¿µ¿ñÀ@À@À@nÀ@³À@ºÀ@öÀA"ÀA$ÀA1ÀAVÀAXÀA·ÀAàÀB ÀB5ÀBaÀBŽÀB·ÀBáÀC ÀC2ÀC[ÀC…ÀC­ÀC¯ÀDÀDQÀD¢ÀDÊÀDÌÀDÿÀE>ÀEƒÀE½ÀEùÀF9ÀF`ÀFoÀFwÀFyÀFÈÀFÍÀFÏÀFÜÀF÷ÀG ÀG#ÀGNÀGiÀG„ÀGŒÀGæÀHÀHIÀH�ÀHÎÀIÀIZÀIŸÀIÎÀIüÀJ(ÀJXÀJ`ÀJeÀJgÀJtÀJ§ÀJðÀK$ÀKiÀK‡ÀKŒÀKŽÀK›ÀKËÀKïÀKôÀKöÀLÀL4ÀL[ÀL`ÀLbÀLoÀL¨ÀL«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.š�