deploy: 660c11ee4d
This commit is contained in:
parent
d1143c9f6d
commit
c2f2bb65cd
|
@ -0,0 +1,12 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
|
@ -0,0 +1 @@
|
|||
* text=auto eol=lf
|
|
@ -0,0 +1,4 @@
|
|||
/.build
|
||||
/Packages
|
||||
xcuserdata
|
||||
project.xcworkspace
|
|
@ -0,0 +1,201 @@
|
|||
only_rules:
|
||||
- anyobject_protocol
|
||||
- array_init
|
||||
- block_based_kvo
|
||||
- class_delegate_protocol
|
||||
- closing_brace
|
||||
- closure_end_indentation
|
||||
- closure_parameter_position
|
||||
- closure_spacing
|
||||
- collection_alignment
|
||||
- colon
|
||||
- comma
|
||||
- compiler_protocol_init
|
||||
- computed_accessors_order
|
||||
- conditional_returns_on_newline
|
||||
- contains_over_filter_count
|
||||
- contains_over_filter_is_empty
|
||||
- contains_over_first_not_nil
|
||||
- contains_over_range_nil_comparison
|
||||
- control_statement
|
||||
- custom_rules
|
||||
- deployment_target
|
||||
- discarded_notification_center_observer
|
||||
- discouraged_assert
|
||||
- discouraged_direct_init
|
||||
- discouraged_none_name
|
||||
- discouraged_object_literal
|
||||
- discouraged_optional_boolean
|
||||
- discouraged_optional_collection
|
||||
- duplicate_enum_cases
|
||||
- duplicate_imports
|
||||
- duplicated_key_in_dictionary_literal
|
||||
- dynamic_inline
|
||||
- empty_collection_literal
|
||||
- empty_count
|
||||
- empty_enum_arguments
|
||||
- empty_parameters
|
||||
- empty_parentheses_with_trailing_closure
|
||||
- empty_string
|
||||
- empty_xctest_method
|
||||
- enum_case_associated_values_count
|
||||
- explicit_init
|
||||
- fallthrough
|
||||
- fatal_error_message
|
||||
- first_where
|
||||
- flatmap_over_map_reduce
|
||||
- for_where
|
||||
- generic_type_name
|
||||
- ibinspectable_in_extension
|
||||
- identical_operands
|
||||
- identifier_name
|
||||
- implicit_getter
|
||||
- implicit_return
|
||||
- inclusive_language
|
||||
- inert_defer
|
||||
- is_disjoint
|
||||
- joined_default_parameter
|
||||
- last_where
|
||||
- leading_whitespace
|
||||
- legacy_cggeometry_functions
|
||||
- legacy_constant
|
||||
- legacy_constructor
|
||||
- legacy_hashing
|
||||
- legacy_multiple
|
||||
- legacy_nsgeometry_functions
|
||||
- legacy_random
|
||||
- literal_expression_end_indentation
|
||||
- lower_acl_than_parent
|
||||
- mark
|
||||
- modifier_order
|
||||
- multiline_arguments
|
||||
- multiline_function_chains
|
||||
- multiline_literal_brackets
|
||||
- multiline_parameters
|
||||
- multiline_parameters_brackets
|
||||
- nimble_operator
|
||||
- no_extension_access_modifier
|
||||
- no_fallthrough_only
|
||||
- no_space_in_method_call
|
||||
- notification_center_detachment
|
||||
- nsobject_prefer_isequal
|
||||
- number_separator
|
||||
- opening_brace
|
||||
- operator_usage_whitespace
|
||||
- operator_whitespace
|
||||
- orphaned_doc_comment
|
||||
- overridden_super_call
|
||||
- prefer_self_type_over_type_of_self
|
||||
- prefer_zero_over_explicit_init
|
||||
- private_action
|
||||
- private_outlet
|
||||
- private_subject
|
||||
- private_unit_test
|
||||
- prohibited_super_call
|
||||
- protocol_property_accessors_order
|
||||
- reduce_boolean
|
||||
- reduce_into
|
||||
- redundant_discardable_let
|
||||
- redundant_nil_coalescing
|
||||
- redundant_objc_attribute
|
||||
- redundant_optional_initialization
|
||||
- redundant_set_access_control
|
||||
- redundant_string_enum_value
|
||||
- redundant_type_annotation
|
||||
- redundant_void_return
|
||||
- required_enum_case
|
||||
- return_arrow_whitespace
|
||||
- shorthand_operator
|
||||
- sorted_first_last
|
||||
- statement_position
|
||||
- static_operator
|
||||
- strong_iboutlet
|
||||
- superfluous_disable_command
|
||||
- switch_case_alignment
|
||||
- switch_case_on_newline
|
||||
- syntactic_sugar
|
||||
- test_case_accessibility
|
||||
- toggle_bool
|
||||
- trailing_closure
|
||||
- trailing_comma
|
||||
- trailing_newline
|
||||
- trailing_semicolon
|
||||
- trailing_whitespace
|
||||
- unavailable_function
|
||||
- unneeded_break_in_switch
|
||||
- unneeded_parentheses_in_closure_argument
|
||||
- unowned_variable_capture
|
||||
- untyped_error_in_catch
|
||||
- unused_capture_list
|
||||
- unused_closure_parameter
|
||||
- unused_control_flow_label
|
||||
- unused_enumerated
|
||||
- unused_optional_binding
|
||||
- unused_setter_value
|
||||
- valid_ibinspectable
|
||||
- vertical_parameter_alignment
|
||||
- vertical_parameter_alignment_on_call
|
||||
- vertical_whitespace_closing_braces
|
||||
- vertical_whitespace_opening_braces
|
||||
- void_return
|
||||
- xct_specific_matcher
|
||||
- xctfail_message
|
||||
- yoda_condition
|
||||
analyzer_rules:
|
||||
- capture_variable
|
||||
- unused_declaration
|
||||
- unused_import
|
||||
number_separator:
|
||||
minimum_length: 5
|
||||
identifier_name:
|
||||
max_length:
|
||||
warning: 100
|
||||
error: 100
|
||||
min_length:
|
||||
warning: 2
|
||||
error: 2
|
||||
validates_start_with_lowercase: false
|
||||
allowed_symbols:
|
||||
- '_'
|
||||
excluded:
|
||||
- 'x'
|
||||
- 'y'
|
||||
- 'z'
|
||||
- 'a'
|
||||
- 'b'
|
||||
- 'x1'
|
||||
- 'x2'
|
||||
- 'y1'
|
||||
- 'y2'
|
||||
- 'z2'
|
||||
deployment_target:
|
||||
macOS_deployment_target: '10.11'
|
||||
custom_rules:
|
||||
no_nsrect:
|
||||
regex: '\bNSRect\b'
|
||||
match_kinds: typeidentifier
|
||||
message: 'Use CGRect instead of NSRect'
|
||||
no_nssize:
|
||||
regex: '\bNSSize\b'
|
||||
match_kinds: typeidentifier
|
||||
message: 'Use CGSize instead of NSSize'
|
||||
no_nspoint:
|
||||
regex: '\bNSPoint\b'
|
||||
match_kinds: typeidentifier
|
||||
message: 'Use CGPoint instead of NSPoint'
|
||||
no_cgfloat:
|
||||
regex: '\bCGFloat\b'
|
||||
match_kinds: typeidentifier
|
||||
message: 'Use Double instead of CGFloat'
|
||||
no_cgfloat2:
|
||||
regex: '\bCGFloat\('
|
||||
message: 'Use Double instead of CGFloat'
|
||||
swiftui_state_private:
|
||||
regex: '@(State|StateObject|ObservedObject|EnvironmentObject)\s+var'
|
||||
message: 'SwiftUI @State/@StateObject/@ObservedObject/@EnvironmentObject properties should be private'
|
||||
swiftui_environment_private:
|
||||
regex: '@Environment\(\\\.\w+\)\s+var'
|
||||
message: 'SwiftUI @Environment properties should be private'
|
||||
final_class:
|
||||
regex: '^class [a-zA-Z\d]+[^{]+\{'
|
||||
message: 'Classes should be marked as final whenever possible. If you actually need it to be subclassable, just add `// swiftlint:disable:next final_class`.'
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -0,0 +1,91 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1250"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
BuildableName = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
BlueprintName = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
ReferencedContainer = "container:">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "KeyboardShortcuts"
|
||||
BuildableName = "KeyboardShortcuts"
|
||||
BlueprintName = "KeyboardShortcuts"
|
||||
ReferencedContainer = "container:">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "KeyboardShortcutsTests"
|
||||
BuildableName = "KeyboardShortcutsTests"
|
||||
BlueprintName = "KeyboardShortcutsTests"
|
||||
ReferencedContainer = "container:">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
BuildableName = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
BlueprintName = "KeyboardShortcuts_KeyboardShortcuts"
|
||||
ReferencedContainer = "container:">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,372 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 55;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
E33F1EFC26F3B89C00ACEB0F /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = E33F1EFB26F3B89C00ACEB0F /* KeyboardShortcuts */; };
|
||||
E36FB94A2609BA43004272D9 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = E36FB9492609BA43004272D9 /* App.swift */; };
|
||||
E36FB94C2609BA43004272D9 /* MainScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E36FB94B2609BA43004272D9 /* MainScreen.swift */; };
|
||||
E36FB94E2609BA45004272D9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E36FB94D2609BA45004272D9 /* Assets.xcassets */; };
|
||||
E36FB9512609BA45004272D9 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E36FB9502609BA45004272D9 /* Preview Assets.xcassets */; };
|
||||
E36FB9632609BB83004272D9 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E36FB9622609BB83004272D9 /* AppState.swift */; };
|
||||
E36FB9662609BF3D004272D9 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = E36FB9652609BF3D004272D9 /* Utilities.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
E33F1EFA26F3B78800ACEB0F /* KeyboardShortcuts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = KeyboardShortcuts; path = ..; sourceTree = "<group>"; };
|
||||
E36FB9462609BA43004272D9 /* KeyboardShortcutsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KeyboardShortcutsExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E36FB9492609BA43004272D9 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; };
|
||||
E36FB94B2609BA43004272D9 /* MainScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainScreen.swift; sourceTree = "<group>"; };
|
||||
E36FB94D2609BA45004272D9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
E36FB9502609BA45004272D9 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||
E36FB9522609BA45004272D9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
E36FB9532609BA45004272D9 /* KeyboardShortcutsExample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = KeyboardShortcutsExample.entitlements; sourceTree = "<group>"; };
|
||||
E36FB9622609BB83004272D9 /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = "<group>"; };
|
||||
E36FB9652609BF3D004272D9 /* Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
E36FB9432609BA43004272D9 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E33F1EFC26F3B89C00ACEB0F /* KeyboardShortcuts in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
E33F1EF926F3B78800ACEB0F /* Packages */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E33F1EFA26F3B78800ACEB0F /* KeyboardShortcuts */,
|
||||
);
|
||||
name = Packages;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E36FB93D2609BA43004272D9 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E36FB9482609BA43004272D9 /* KeyboardShortcutsExample */,
|
||||
E36FB9472609BA43004272D9 /* Products */,
|
||||
E33F1EF926F3B78800ACEB0F /* Packages */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E36FB9472609BA43004272D9 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E36FB9462609BA43004272D9 /* KeyboardShortcutsExample.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E36FB9482609BA43004272D9 /* KeyboardShortcutsExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E36FB9492609BA43004272D9 /* App.swift */,
|
||||
E36FB9622609BB83004272D9 /* AppState.swift */,
|
||||
E36FB94B2609BA43004272D9 /* MainScreen.swift */,
|
||||
E36FB9652609BF3D004272D9 /* Utilities.swift */,
|
||||
E36FB94D2609BA45004272D9 /* Assets.xcassets */,
|
||||
E36FB9522609BA45004272D9 /* Info.plist */,
|
||||
E36FB9532609BA45004272D9 /* KeyboardShortcutsExample.entitlements */,
|
||||
E36FB94F2609BA45004272D9 /* Preview Content */,
|
||||
);
|
||||
path = KeyboardShortcutsExample;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E36FB94F2609BA45004272D9 /* Preview Content */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E36FB9502609BA45004272D9 /* Preview Assets.xcassets */,
|
||||
);
|
||||
path = "Preview Content";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
E36FB9452609BA43004272D9 /* KeyboardShortcutsExample */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = E36FB9562609BA45004272D9 /* Build configuration list for PBXNativeTarget "KeyboardShortcutsExample" */;
|
||||
buildPhases = (
|
||||
E36FB9422609BA43004272D9 /* Sources */,
|
||||
E36FB9432609BA43004272D9 /* Frameworks */,
|
||||
E36FB9442609BA43004272D9 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = KeyboardShortcutsExample;
|
||||
packageProductDependencies = (
|
||||
E33F1EFB26F3B89C00ACEB0F /* KeyboardShortcuts */,
|
||||
);
|
||||
productName = KeyboardShortcutsExample;
|
||||
productReference = E36FB9462609BA43004272D9 /* KeyboardShortcutsExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
E36FB93E2609BA43004272D9 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1240;
|
||||
LastUpgradeCheck = 1250;
|
||||
TargetAttributes = {
|
||||
E36FB9452609BA43004272D9 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = E36FB9412609BA43004272D9 /* Build configuration list for PBXProject "KeyboardShortcutsExample" */;
|
||||
compatibilityVersion = "Xcode 13.0";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = E36FB93D2609BA43004272D9;
|
||||
productRefGroup = E36FB9472609BA43004272D9 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
E36FB9452609BA43004272D9 /* KeyboardShortcutsExample */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
E36FB9442609BA43004272D9 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E36FB9512609BA45004272D9 /* Preview Assets.xcassets in Resources */,
|
||||
E36FB94E2609BA45004272D9 /* Assets.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
E36FB9422609BA43004272D9 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E36FB9632609BB83004272D9 /* AppState.swift in Sources */,
|
||||
E36FB94C2609BA43004272D9 /* MainScreen.swift in Sources */,
|
||||
E36FB9662609BF3D004272D9 /* Utilities.swift in Sources */,
|
||||
E36FB94A2609BA43004272D9 /* App.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
E36FB9542609BA45004272D9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 12.3;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
E36FB9552609BA45004272D9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 12.3;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
E36FB9572609BA45004272D9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_ENTITLEMENTS = KeyboardShortcutsExample/KeyboardShortcutsExample.entitlements;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"KeyboardShortcutsExample/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = KeyboardShortcutsExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.KeyboardShortcutsExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
E36FB9582609BA45004272D9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_ENTITLEMENTS = KeyboardShortcutsExample/KeyboardShortcutsExample.entitlements;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"KeyboardShortcutsExample/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = KeyboardShortcutsExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.KeyboardShortcutsExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
E36FB9412609BA43004272D9 /* Build configuration list for PBXProject "KeyboardShortcutsExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
E36FB9542609BA45004272D9 /* Debug */,
|
||||
E36FB9552609BA45004272D9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
E36FB9562609BA45004272D9 /* Build configuration list for PBXNativeTarget "KeyboardShortcutsExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
E36FB9572609BA45004272D9 /* Debug */,
|
||||
E36FB9582609BA45004272D9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */
|
||||
E33F1EFB26F3B89C00ACEB0F /* KeyboardShortcuts */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
productName = KeyboardShortcuts;
|
||||
};
|
||||
/* End XCSwiftPackageProductDependency section */
|
||||
};
|
||||
rootObject = E36FB93E2609BA43004272D9 /* Project object */;
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import SwiftUI
|
||||
|
||||
@main
|
||||
struct AppMain: App {
|
||||
@StateObject private var state = AppState()
|
||||
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
MainScreen()
|
||||
.task {
|
||||
state.createMenus()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
import SwiftUI
|
||||
|
||||
@MainActor
|
||||
final class AppState: ObservableObject {
|
||||
func createMenus() {
|
||||
let testMenuItem = NSMenuItem()
|
||||
NSApp.mainMenu?.addItem(testMenuItem)
|
||||
|
||||
let testMenu = NSMenu()
|
||||
testMenu.title = "Test"
|
||||
testMenuItem.submenu = testMenu
|
||||
|
||||
testMenu.addCallbackItem("Shortcut 1") { [weak self] in
|
||||
self?.alert(1)
|
||||
}
|
||||
.setShortcut(for: .testShortcut1)
|
||||
|
||||
testMenu.addCallbackItem("Shortcut 2") { [weak self] in
|
||||
self?.alert(2)
|
||||
}
|
||||
.setShortcut(for: .testShortcut2)
|
||||
|
||||
testMenu.addCallbackItem("Shortcut 3") { [weak self] in
|
||||
self?.alert(3)
|
||||
}
|
||||
.setShortcut(for: .testShortcut3)
|
||||
|
||||
testMenu.addCallbackItem("Shortcut 4") { [weak self] in
|
||||
self?.alert(4)
|
||||
}
|
||||
.setShortcut(for: .testShortcut4)
|
||||
}
|
||||
|
||||
private func alert(_ number: Int) {
|
||||
let alert = NSAlert()
|
||||
alert.messageText = "Shortcut \(number) menu item action triggered!"
|
||||
alert.runModal()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "512x512"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "512x512"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,138 @@
|
|||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
extension KeyboardShortcuts.Name {
|
||||
static let testShortcut1 = Self("testShortcut1")
|
||||
static let testShortcut2 = Self("testShortcut2")
|
||||
static let testShortcut3 = Self("testShortcut3")
|
||||
static let testShortcut4 = Self("testShortcut4")
|
||||
}
|
||||
|
||||
private struct DynamicShortcutRecorder: View {
|
||||
@FocusState private var isFocused: Bool
|
||||
|
||||
@Binding var name: KeyboardShortcuts.Name
|
||||
@Binding var isPressed: Bool
|
||||
|
||||
var body: some View {
|
||||
HStack(alignment: .firstTextBaseline) {
|
||||
KeyboardShortcuts.Recorder(for: name)
|
||||
.focused($isFocused)
|
||||
.padding(.trailing, 10)
|
||||
Text("Pressed? \(isPressed ? "👍" : "👎")")
|
||||
.frame(width: 100, alignment: .leading)
|
||||
}
|
||||
.onChange(of: name) { _ in
|
||||
isFocused = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private struct DynamicShortcut: View {
|
||||
private struct Shortcut: Hashable, Identifiable {
|
||||
var id: String
|
||||
var name: KeyboardShortcuts.Name
|
||||
}
|
||||
|
||||
private static let shortcuts = [
|
||||
Shortcut(id: "Shortcut3", name: .testShortcut3),
|
||||
Shortcut(id: "Shortcut4", name: .testShortcut4)
|
||||
]
|
||||
|
||||
@State private var shortcut = Self.shortcuts.first!
|
||||
@State private var isPressed = false
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
Text("Dynamic Recorder")
|
||||
.bold()
|
||||
.padding(.bottom, 10)
|
||||
VStack {
|
||||
Picker("Select shortcut:", selection: $shortcut) {
|
||||
ForEach(Self.shortcuts) {
|
||||
Text($0.id)
|
||||
.tag($0)
|
||||
}
|
||||
}
|
||||
Divider()
|
||||
DynamicShortcutRecorder(name: $shortcut.name, isPressed: $isPressed)
|
||||
}
|
||||
}
|
||||
.frame(maxWidth: 300)
|
||||
.padding()
|
||||
.padding(.bottom, 20)
|
||||
.onChange(of: shortcut) { [oldValue = shortcut] in
|
||||
onShortcutChange(oldValue: oldValue, newValue: $0)
|
||||
}
|
||||
}
|
||||
|
||||
private func onShortcutChange(oldValue: Shortcut, newValue: Shortcut) {
|
||||
KeyboardShortcuts.disable(oldValue.name)
|
||||
|
||||
KeyboardShortcuts.onKeyDown(for: newValue.name) {
|
||||
isPressed = true
|
||||
}
|
||||
|
||||
KeyboardShortcuts.onKeyUp(for: newValue.name) {
|
||||
isPressed = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private struct DoubleShortcut: View {
|
||||
@State private var isPressed1 = false
|
||||
@State private var isPressed2 = false
|
||||
|
||||
var body: some View {
|
||||
Form {
|
||||
KeyboardShortcuts.Recorder("Shortcut 1:", name: .testShortcut1)
|
||||
.overlay(alignment: .trailing) {
|
||||
Text("Pressed? \(isPressed1 ? "👍" : "👎")")
|
||||
.offset(x: 90)
|
||||
}
|
||||
KeyboardShortcuts.Recorder(for: .testShortcut2) {
|
||||
Text("Shortcut 2:") // Intentionally using the verbose initializer for testing.
|
||||
}
|
||||
.overlay(alignment: .trailing) {
|
||||
Text("Pressed? \(isPressed2 ? "👍" : "👎")")
|
||||
.offset(x: 90)
|
||||
}
|
||||
Spacer()
|
||||
Button("Reset All") {
|
||||
KeyboardShortcuts.reset(.testShortcut1, .testShortcut2)
|
||||
}
|
||||
}
|
||||
.offset(x: -40)
|
||||
.frame(maxWidth: 300)
|
||||
.padding()
|
||||
.padding()
|
||||
.onKeyboardShortcut(.testShortcut1) {
|
||||
isPressed1 = $0 == .keyDown
|
||||
}
|
||||
.onKeyboardShortcut(.testShortcut2, type: .keyDown) {
|
||||
isPressed2 = true
|
||||
}
|
||||
.task {
|
||||
KeyboardShortcuts.onKeyUp(for: .testShortcut2) {
|
||||
isPressed2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct MainScreen: View {
|
||||
var body: some View {
|
||||
VStack {
|
||||
DoubleShortcut()
|
||||
Divider()
|
||||
DynamicShortcut()
|
||||
}
|
||||
.frame(width: 400, height: 320)
|
||||
}
|
||||
}
|
||||
|
||||
struct MainScreen_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
MainScreen()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
import SwiftUI
|
||||
|
||||
|
||||
final class CallbackMenuItem: NSMenuItem {
|
||||
private static var validateCallback: ((NSMenuItem) -> Bool)?
|
||||
|
||||
static func validate(_ callback: @escaping (NSMenuItem) -> Bool) {
|
||||
validateCallback = callback
|
||||
}
|
||||
|
||||
private let callback: () -> Void
|
||||
|
||||
init(
|
||||
_ title: String,
|
||||
key: String = "",
|
||||
keyModifiers: NSEvent.ModifierFlags? = nil,
|
||||
isEnabled: Bool = true,
|
||||
isChecked: Bool = false,
|
||||
isHidden: Bool = false,
|
||||
action: @escaping () -> Void
|
||||
) {
|
||||
self.callback = action
|
||||
super.init(title: title, action: #selector(action(_:)), keyEquivalent: key)
|
||||
self.target = self
|
||||
self.isEnabled = isEnabled
|
||||
self.isChecked = isChecked
|
||||
self.isHidden = isHidden
|
||||
|
||||
if let keyModifiers = keyModifiers {
|
||||
self.keyEquivalentModifierMask = keyModifiers
|
||||
}
|
||||
}
|
||||
|
||||
@available(*, unavailable)
|
||||
required init(coder decoder: NSCoder) {
|
||||
// swiftlint:disable:next fatal_error_message
|
||||
fatalError()
|
||||
}
|
||||
|
||||
@objc
|
||||
private func action(_ sender: NSMenuItem) {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
extension CallbackMenuItem: NSMenuItemValidation {
|
||||
func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
|
||||
Self.validateCallback?(menuItem) ?? true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSMenuItem {
|
||||
convenience init(
|
||||
_ title: String,
|
||||
action: Selector? = nil,
|
||||
key: String = "",
|
||||
keyModifiers: NSEvent.ModifierFlags? = nil,
|
||||
data: Any? = nil,
|
||||
isEnabled: Bool = true,
|
||||
isChecked: Bool = false,
|
||||
isHidden: Bool = false
|
||||
) {
|
||||
self.init(title: title, action: action, keyEquivalent: key)
|
||||
self.representedObject = data
|
||||
self.isEnabled = isEnabled
|
||||
self.isChecked = isChecked
|
||||
self.isHidden = isHidden
|
||||
|
||||
if let keyModifiers = keyModifiers {
|
||||
self.keyEquivalentModifierMask = keyModifiers
|
||||
}
|
||||
}
|
||||
|
||||
var isChecked: Bool {
|
||||
get { state == .on }
|
||||
set {
|
||||
state = newValue ? .on : .off
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSMenu {
|
||||
@discardableResult
|
||||
func addCallbackItem(
|
||||
_ title: String,
|
||||
key: String = "",
|
||||
keyModifiers: NSEvent.ModifierFlags? = nil,
|
||||
isEnabled: Bool = true,
|
||||
isChecked: Bool = false,
|
||||
isHidden: Bool = false,
|
||||
action: @escaping () -> Void
|
||||
) -> NSMenuItem {
|
||||
let menuItem = CallbackMenuItem(
|
||||
title,
|
||||
key: key,
|
||||
keyModifiers: keyModifiers,
|
||||
isEnabled: isEnabled,
|
||||
isChecked: isChecked,
|
||||
isHidden: isHidden,
|
||||
action: action
|
||||
)
|
||||
addItem(menuItem)
|
||||
return menuItem
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"pins" : [
|
||||
{
|
||||
"identity" : "swift-docc-plugin",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/apple/swift-docc-plugin",
|
||||
"state" : {
|
||||
"revision" : "3303b164430d9a7055ba484c8ead67a52f7b74f6",
|
||||
"version" : "1.0.0"
|
||||
}
|
||||
}
|
||||
],
|
||||
"version" : 2
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
// swift-tools-version:5.6
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "KeyboardShortcuts",
|
||||
defaultLocalization: "en",
|
||||
platforms: [
|
||||
.macOS(.v10_11)
|
||||
],
|
||||
products: [
|
||||
.library(
|
||||
name: "KeyboardShortcuts",
|
||||
targets: [
|
||||
"KeyboardShortcuts"
|
||||
]
|
||||
)
|
||||
],
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0")
|
||||
],
|
||||
targets: [
|
||||
.target(
|
||||
name: "KeyboardShortcuts"
|
||||
),
|
||||
.testTarget(
|
||||
name: "KeyboardShortcutsTests",
|
||||
dependencies: [
|
||||
"KeyboardShortcuts"
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
|
@ -0,0 +1,183 @@
|
|||
import Carbon.HIToolbox
|
||||
|
||||
private func carbonKeyboardShortcutsEventHandler(eventHandlerCall: EventHandlerCallRef?, event: EventRef?, userData: UnsafeMutableRawPointer?) -> OSStatus {
|
||||
CarbonKeyboardShortcuts.handleEvent(event)
|
||||
}
|
||||
|
||||
enum CarbonKeyboardShortcuts {
|
||||
private final class HotKey {
|
||||
let shortcut: KeyboardShortcuts.Shortcut
|
||||
let carbonHotKeyId: Int
|
||||
let carbonHotKey: EventHotKeyRef
|
||||
let onKeyDown: (KeyboardShortcuts.Shortcut) -> Void
|
||||
let onKeyUp: (KeyboardShortcuts.Shortcut) -> Void
|
||||
|
||||
init(
|
||||
shortcut: KeyboardShortcuts.Shortcut,
|
||||
carbonHotKeyID: Int,
|
||||
carbonHotKey: EventHotKeyRef,
|
||||
onKeyDown: @escaping (KeyboardShortcuts.Shortcut) -> Void,
|
||||
onKeyUp: @escaping (KeyboardShortcuts.Shortcut) -> Void
|
||||
) {
|
||||
self.shortcut = shortcut
|
||||
self.carbonHotKeyId = carbonHotKeyID
|
||||
self.carbonHotKey = carbonHotKey
|
||||
self.onKeyDown = onKeyDown
|
||||
self.onKeyUp = onKeyUp
|
||||
}
|
||||
}
|
||||
|
||||
private static var hotKeys = [Int: HotKey]()
|
||||
|
||||
// `SSKS` is just short for `Sindre Sorhus Keyboard Shortcuts`.
|
||||
// Using an integer now that `UTGetOSTypeFromString("SSKS" as CFString)` is deprecated.
|
||||
// swiftlint:disable:next number_separator
|
||||
private static let hotKeySignature: UInt32 = 1397967699 // OSType => "SSKS"
|
||||
|
||||
private static var hotKeyId = 0
|
||||
private static var eventHandler: EventHandlerRef?
|
||||
|
||||
private static func setUpEventHandlerIfNeeded() {
|
||||
guard
|
||||
eventHandler == nil,
|
||||
let dispatcher = GetEventDispatcherTarget()
|
||||
else {
|
||||
return
|
||||
}
|
||||
|
||||
let eventSpecs = [
|
||||
EventTypeSpec(eventClass: OSType(kEventClassKeyboard), eventKind: UInt32(kEventHotKeyPressed)),
|
||||
EventTypeSpec(eventClass: OSType(kEventClassKeyboard), eventKind: UInt32(kEventHotKeyReleased))
|
||||
]
|
||||
|
||||
InstallEventHandler(
|
||||
dispatcher,
|
||||
carbonKeyboardShortcutsEventHandler,
|
||||
eventSpecs.count,
|
||||
eventSpecs,
|
||||
nil,
|
||||
&eventHandler
|
||||
)
|
||||
}
|
||||
|
||||
static func register(
|
||||
_ shortcut: KeyboardShortcuts.Shortcut,
|
||||
onKeyDown: @escaping (KeyboardShortcuts.Shortcut) -> Void,
|
||||
onKeyUp: @escaping (KeyboardShortcuts.Shortcut) -> Void
|
||||
) {
|
||||
hotKeyId += 1
|
||||
|
||||
var eventHotKey: EventHotKeyRef?
|
||||
let registerError = RegisterEventHotKey(
|
||||
UInt32(shortcut.carbonKeyCode),
|
||||
UInt32(shortcut.carbonModifiers),
|
||||
EventHotKeyID(signature: hotKeySignature, id: UInt32(hotKeyId)),
|
||||
GetEventDispatcherTarget(),
|
||||
0,
|
||||
&eventHotKey
|
||||
)
|
||||
|
||||
guard
|
||||
registerError == noErr,
|
||||
let carbonHotKey = eventHotKey
|
||||
else {
|
||||
return
|
||||
}
|
||||
|
||||
hotKeys[hotKeyId] = HotKey(
|
||||
shortcut: shortcut,
|
||||
carbonHotKeyID: hotKeyId,
|
||||
carbonHotKey: carbonHotKey,
|
||||
onKeyDown: onKeyDown,
|
||||
onKeyUp: onKeyUp
|
||||
)
|
||||
|
||||
setUpEventHandlerIfNeeded()
|
||||
}
|
||||
|
||||
private static func unregisterHotKey(_ hotKey: HotKey) {
|
||||
UnregisterEventHotKey(hotKey.carbonHotKey)
|
||||
hotKeys.removeValue(forKey: hotKey.carbonHotKeyId)
|
||||
}
|
||||
|
||||
static func unregister(_ shortcut: KeyboardShortcuts.Shortcut) {
|
||||
for hotKey in hotKeys.values where hotKey.shortcut == shortcut {
|
||||
unregisterHotKey(hotKey)
|
||||
}
|
||||
}
|
||||
|
||||
static func unregisterAll() {
|
||||
for hotKey in hotKeys.values {
|
||||
unregisterHotKey(hotKey)
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate static func handleEvent(_ event: EventRef?) -> OSStatus {
|
||||
guard let event = event else {
|
||||
return OSStatus(eventNotHandledErr)
|
||||
}
|
||||
|
||||
var eventHotKeyId = EventHotKeyID()
|
||||
let error = GetEventParameter(
|
||||
event,
|
||||
UInt32(kEventParamDirectObject),
|
||||
UInt32(typeEventHotKeyID),
|
||||
nil,
|
||||
MemoryLayout<EventHotKeyID>.size,
|
||||
nil,
|
||||
&eventHotKeyId
|
||||
)
|
||||
|
||||
guard error == noErr else {
|
||||
return error
|
||||
}
|
||||
|
||||
guard
|
||||
eventHotKeyId.signature == hotKeySignature,
|
||||
let hotKey = hotKeys[Int(eventHotKeyId.id)]
|
||||
else {
|
||||
return OSStatus(eventNotHandledErr)
|
||||
}
|
||||
|
||||
switch Int(GetEventKind(event)) {
|
||||
case kEventHotKeyPressed:
|
||||
hotKey.onKeyDown(hotKey.shortcut)
|
||||
return noErr
|
||||
case kEventHotKeyReleased:
|
||||
hotKey.onKeyUp(hotKey.shortcut)
|
||||
return noErr
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
return OSStatus(eventNotHandledErr)
|
||||
}
|
||||
}
|
||||
|
||||
extension CarbonKeyboardShortcuts {
|
||||
static var system: [KeyboardShortcuts.Shortcut] {
|
||||
var shortcutsUnmanaged: Unmanaged<CFArray>?
|
||||
guard
|
||||
CopySymbolicHotKeys(&shortcutsUnmanaged) == noErr,
|
||||
let shortcuts = shortcutsUnmanaged?.takeRetainedValue() as? [[String: Any]]
|
||||
else {
|
||||
assertionFailure("Could not get system keyboard shortcuts")
|
||||
return []
|
||||
}
|
||||
|
||||
return shortcuts.compactMap {
|
||||
guard
|
||||
($0[kHISymbolicHotKeyEnabled] as? Bool) == true,
|
||||
let carbonKeyCode = $0[kHISymbolicHotKeyCode] as? Int,
|
||||
let carbonModifiers = $0[kHISymbolicHotKeyModifiers] as? Int
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return KeyboardShortcuts.Shortcut(
|
||||
carbonKeyCode: carbonKeyCode,
|
||||
carbonModifiers: carbonModifiers
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,195 @@
|
|||
import Cocoa
|
||||
import Carbon.HIToolbox
|
||||
|
||||
extension KeyboardShortcuts {
|
||||
// swiftlint:disable identifier_name
|
||||
/**
|
||||
Represents a key on the keyboard.
|
||||
*/
|
||||
public struct Key: Hashable, RawRepresentable {
|
||||
// MARK: Letters
|
||||
|
||||
public static let a = Self(kVK_ANSI_A)
|
||||
public static let b = Self(kVK_ANSI_B)
|
||||
public static let c = Self(kVK_ANSI_C)
|
||||
public static let d = Self(kVK_ANSI_D)
|
||||
public static let e = Self(kVK_ANSI_E)
|
||||
public static let f = Self(kVK_ANSI_F)
|
||||
public static let g = Self(kVK_ANSI_G)
|
||||
public static let h = Self(kVK_ANSI_H)
|
||||
public static let i = Self(kVK_ANSI_I)
|
||||
public static let j = Self(kVK_ANSI_J)
|
||||
public static let k = Self(kVK_ANSI_K)
|
||||
public static let l = Self(kVK_ANSI_L)
|
||||
public static let m = Self(kVK_ANSI_M)
|
||||
public static let n = Self(kVK_ANSI_N)
|
||||
public static let o = Self(kVK_ANSI_O)
|
||||
public static let p = Self(kVK_ANSI_P)
|
||||
public static let q = Self(kVK_ANSI_Q)
|
||||
public static let r = Self(kVK_ANSI_R)
|
||||
public static let s = Self(kVK_ANSI_S)
|
||||
public static let t = Self(kVK_ANSI_T)
|
||||
public static let u = Self(kVK_ANSI_U)
|
||||
public static let v = Self(kVK_ANSI_V)
|
||||
public static let w = Self(kVK_ANSI_W)
|
||||
public static let x = Self(kVK_ANSI_X)
|
||||
public static let y = Self(kVK_ANSI_Y)
|
||||
public static let z = Self(kVK_ANSI_Z)
|
||||
// swiftlint:enable identifier_name
|
||||
|
||||
// MARK: Numbers
|
||||
|
||||
public static let zero = Self(kVK_ANSI_0)
|
||||
public static let one = Self(kVK_ANSI_1)
|
||||
public static let two = Self(kVK_ANSI_2)
|
||||
public static let three = Self(kVK_ANSI_3)
|
||||
public static let four = Self(kVK_ANSI_4)
|
||||
public static let five = Self(kVK_ANSI_5)
|
||||
public static let six = Self(kVK_ANSI_6)
|
||||
public static let seven = Self(kVK_ANSI_7)
|
||||
public static let eight = Self(kVK_ANSI_8)
|
||||
public static let nine = Self(kVK_ANSI_9)
|
||||
|
||||
// MARK: Modifiers
|
||||
|
||||
public static let capsLock = Self(kVK_CapsLock)
|
||||
public static let shift = Self(kVK_Shift)
|
||||
public static let function = Self(kVK_Function)
|
||||
public static let control = Self(kVK_Control)
|
||||
public static let option = Self(kVK_Option)
|
||||
public static let command = Self(kVK_Command)
|
||||
public static let rightCommand = Self(kVK_RightCommand)
|
||||
public static let rightOption = Self(kVK_RightOption)
|
||||
public static let rightControl = Self(kVK_RightControl)
|
||||
public static let rightShift = Self(kVK_RightShift)
|
||||
|
||||
// MARK: Miscellaneous
|
||||
|
||||
public static let `return` = Self(kVK_Return)
|
||||
public static let backslash = Self(kVK_ANSI_Backslash)
|
||||
public static let backtick = Self(kVK_ANSI_Grave)
|
||||
public static let comma = Self(kVK_ANSI_Comma)
|
||||
public static let equal = Self(kVK_ANSI_Equal)
|
||||
public static let minus = Self(kVK_ANSI_Minus)
|
||||
public static let period = Self(kVK_ANSI_Period)
|
||||
public static let quote = Self(kVK_ANSI_Quote)
|
||||
public static let semicolon = Self(kVK_ANSI_Semicolon)
|
||||
public static let slash = Self(kVK_ANSI_Slash)
|
||||
public static let space = Self(kVK_Space)
|
||||
public static let tab = Self(kVK_Tab)
|
||||
public static let leftBracket = Self(kVK_ANSI_LeftBracket)
|
||||
public static let rightBracket = Self(kVK_ANSI_RightBracket)
|
||||
public static let pageUp = Self(kVK_PageUp)
|
||||
public static let pageDown = Self(kVK_PageDown)
|
||||
public static let home = Self(kVK_Home)
|
||||
public static let end = Self(kVK_End)
|
||||
public static let upArrow = Self(kVK_UpArrow)
|
||||
public static let rightArrow = Self(kVK_RightArrow)
|
||||
public static let downArrow = Self(kVK_DownArrow)
|
||||
public static let leftArrow = Self(kVK_LeftArrow)
|
||||
public static let escape = Self(kVK_Escape)
|
||||
public static let delete = Self(kVK_Delete)
|
||||
public static let deleteForward = Self(kVK_ForwardDelete)
|
||||
public static let help = Self(kVK_Help)
|
||||
public static let mute = Self(kVK_Mute)
|
||||
public static let volumeUp = Self(kVK_VolumeUp)
|
||||
public static let volumeDown = Self(kVK_VolumeDown)
|
||||
|
||||
// MARK: Function
|
||||
|
||||
public static let f1 = Self(kVK_F1)
|
||||
public static let f2 = Self(kVK_F2)
|
||||
public static let f3 = Self(kVK_F3)
|
||||
public static let f4 = Self(kVK_F4)
|
||||
public static let f5 = Self(kVK_F5)
|
||||
public static let f6 = Self(kVK_F6)
|
||||
public static let f7 = Self(kVK_F7)
|
||||
public static let f8 = Self(kVK_F8)
|
||||
public static let f9 = Self(kVK_F9)
|
||||
public static let f10 = Self(kVK_F10)
|
||||
public static let f11 = Self(kVK_F11)
|
||||
public static let f12 = Self(kVK_F12)
|
||||
public static let f13 = Self(kVK_F13)
|
||||
public static let f14 = Self(kVK_F14)
|
||||
public static let f15 = Self(kVK_F15)
|
||||
public static let f16 = Self(kVK_F16)
|
||||
public static let f17 = Self(kVK_F17)
|
||||
public static let f18 = Self(kVK_F18)
|
||||
public static let f19 = Self(kVK_F19)
|
||||
public static let f20 = Self(kVK_F20)
|
||||
|
||||
// MARK: Keypad
|
||||
|
||||
public static let keypad0 = Self(kVK_ANSI_Keypad0)
|
||||
public static let keypad1 = Self(kVK_ANSI_Keypad1)
|
||||
public static let keypad2 = Self(kVK_ANSI_Keypad2)
|
||||
public static let keypad3 = Self(kVK_ANSI_Keypad3)
|
||||
public static let keypad4 = Self(kVK_ANSI_Keypad4)
|
||||
public static let keypad5 = Self(kVK_ANSI_Keypad5)
|
||||
public static let keypad6 = Self(kVK_ANSI_Keypad6)
|
||||
public static let keypad7 = Self(kVK_ANSI_Keypad7)
|
||||
public static let keypad8 = Self(kVK_ANSI_Keypad8)
|
||||
public static let keypad9 = Self(kVK_ANSI_Keypad9)
|
||||
public static let keypadClear = Self(kVK_ANSI_KeypadClear)
|
||||
public static let keypadDecimal = Self(kVK_ANSI_KeypadDecimal)
|
||||
public static let keypadDivide = Self(kVK_ANSI_KeypadDivide)
|
||||
public static let keypadEnter = Self(kVK_ANSI_KeypadEnter)
|
||||
public static let keypadEquals = Self(kVK_ANSI_KeypadEquals)
|
||||
public static let keypadMinus = Self(kVK_ANSI_KeypadMinus)
|
||||
public static let keypadMultiply = Self(kVK_ANSI_KeypadMultiply)
|
||||
public static let keypadPlus = Self(kVK_ANSI_KeypadPlus)
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
/**
|
||||
The raw key code.
|
||||
*/
|
||||
public let rawValue: Int
|
||||
|
||||
// MARK: Initializers
|
||||
|
||||
/**
|
||||
Create a `Key` from a key code.
|
||||
*/
|
||||
public init(rawValue: Int) {
|
||||
self.rawValue = rawValue
|
||||
}
|
||||
|
||||
private init(_ value: Int) {
|
||||
self.init(rawValue: value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts.Key {
|
||||
/**
|
||||
All the function keys.
|
||||
*/
|
||||
static let functionKeys: Set<Self> = [
|
||||
.f1,
|
||||
.f2,
|
||||
.f3,
|
||||
.f4,
|
||||
.f5,
|
||||
.f6,
|
||||
.f7,
|
||||
.f8,
|
||||
.f9,
|
||||
.f10,
|
||||
.f11,
|
||||
.f12,
|
||||
.f13,
|
||||
.f14,
|
||||
.f15,
|
||||
.f16,
|
||||
.f17,
|
||||
.f18,
|
||||
.f19,
|
||||
.f20
|
||||
]
|
||||
|
||||
/**
|
||||
Returns true if the key is a function key. For example, `F1`.
|
||||
*/
|
||||
var isFunctionKey: Bool { Self.functionKeys.contains(self) }
|
||||
}
|
|
@ -0,0 +1,506 @@
|
|||
import Cocoa
|
||||
|
||||
/**
|
||||
Global keyboard shortcuts for your macOS app.
|
||||
*/
|
||||
public enum KeyboardShortcuts {
|
||||
private static var registeredShortcuts = Set<Shortcut>()
|
||||
|
||||
private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
|
||||
private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
|
||||
|
||||
private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
|
||||
private static var streamKeyUpHandlers = [Name: [UUID: () -> Void]]()
|
||||
|
||||
private static var shortcutsForLegacyHandlers: Set<Shortcut> {
|
||||
let shortcuts = [legacyKeyDownHandlers.keys, legacyKeyUpHandlers.keys]
|
||||
.flatMap { $0 }
|
||||
.compactMap(\.shortcut)
|
||||
|
||||
return Set(shortcuts)
|
||||
}
|
||||
|
||||
private static var shortcutsForStreamHandlers: Set<Shortcut> {
|
||||
let shortcuts = [streamKeyDownHandlers.keys, streamKeyUpHandlers.keys]
|
||||
.flatMap { $0 }
|
||||
.compactMap(\.shortcut)
|
||||
|
||||
return Set(shortcuts)
|
||||
}
|
||||
|
||||
private static var shortcutsForHandlers: Set<Shortcut> {
|
||||
shortcutsForLegacyHandlers.union(shortcutsForStreamHandlers)
|
||||
}
|
||||
|
||||
/**
|
||||
When `true`, event handlers will not be called for registered keyboard shortcuts.
|
||||
*/
|
||||
static var isPaused = false
|
||||
|
||||
private static func register(_ shortcut: Shortcut) {
|
||||
guard !registeredShortcuts.contains(shortcut) else {
|
||||
return
|
||||
}
|
||||
|
||||
CarbonKeyboardShortcuts.register(
|
||||
shortcut,
|
||||
onKeyDown: handleOnKeyDown,
|
||||
onKeyUp: handleOnKeyUp
|
||||
)
|
||||
|
||||
registeredShortcuts.insert(shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Register the shortcut for the given name if it has a shortcut.
|
||||
*/
|
||||
private static func registerShortcutIfNeeded(for name: Name) {
|
||||
guard let shortcut = getShortcut(for: name) else {
|
||||
return
|
||||
}
|
||||
|
||||
register(shortcut)
|
||||
}
|
||||
|
||||
private static func unregister(_ shortcut: Shortcut) {
|
||||
CarbonKeyboardShortcuts.unregister(shortcut)
|
||||
registeredShortcuts.remove(shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Unregister the given shortcut if it has no handlers.
|
||||
*/
|
||||
private static func unregisterIfNeeded(_ shortcut: Shortcut) {
|
||||
guard !shortcutsForHandlers.contains(shortcut) else {
|
||||
return
|
||||
}
|
||||
|
||||
unregister(shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Unregister the shortcut for the given name if it has no handlers.
|
||||
*/
|
||||
private static func unregisterShortcutIfNeeded(for name: Name) {
|
||||
guard let shortcut = name.shortcut else {
|
||||
return
|
||||
}
|
||||
|
||||
unregisterIfNeeded(shortcut)
|
||||
}
|
||||
|
||||
private static func unregisterAll() {
|
||||
CarbonKeyboardShortcuts.unregisterAll()
|
||||
registeredShortcuts.removeAll()
|
||||
|
||||
// TODO: Should remove user defaults too.
|
||||
}
|
||||
|
||||
/**
|
||||
Remove all handlers receiving keyboard shortcuts events.
|
||||
|
||||
This can be used to reset the handlers before re-creating them to avoid having multiple handlers for the same shortcut.
|
||||
|
||||
- Note: This method does not affect listeners using `.on()`.
|
||||
*/
|
||||
public static func removeAllHandlers() {
|
||||
let shortcutsToUnregister = shortcutsForLegacyHandlers.subtracting(shortcutsForStreamHandlers)
|
||||
|
||||
for shortcut in shortcutsToUnregister {
|
||||
unregister(shortcut)
|
||||
}
|
||||
|
||||
legacyKeyDownHandlers = [:]
|
||||
legacyKeyUpHandlers = [:]
|
||||
}
|
||||
|
||||
// TODO: Also add `.isEnabled(_ name: Name)`.
|
||||
/**
|
||||
Disable a keyboard shortcut.
|
||||
*/
|
||||
public static func disable(_ name: Name) {
|
||||
guard let shortcut = getShortcut(for: name) else {
|
||||
return
|
||||
}
|
||||
|
||||
unregister(shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Enable a disabled keyboard shortcut.
|
||||
*/
|
||||
public static func enable(_ name: Name) {
|
||||
guard let shortcut = getShortcut(for: name) else {
|
||||
return
|
||||
}
|
||||
|
||||
register(shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Reset the keyboard shortcut for one or more names.
|
||||
|
||||
If the `Name` has a default shortcut, it will reset to that.
|
||||
|
||||
```swift
|
||||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
struct PreferencesView: View {
|
||||
var body: some View {
|
||||
VStack {
|
||||
// …
|
||||
Button("Reset All") {
|
||||
KeyboardShortcuts.reset(
|
||||
.toggleUnicornMode,
|
||||
.showRainbow
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public static func reset(_ names: Name...) {
|
||||
reset(names)
|
||||
}
|
||||
|
||||
/**
|
||||
Reset the keyboard shortcut for one or more names.
|
||||
|
||||
If the `Name` has a default shortcut, it will reset to that.
|
||||
|
||||
- Note: This overload exists as Swift doesn't support splatting.
|
||||
|
||||
```swift
|
||||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
struct PreferencesView: View {
|
||||
var body: some View {
|
||||
VStack {
|
||||
// …
|
||||
Button("Reset All") {
|
||||
KeyboardShortcuts.reset(
|
||||
.toggleUnicornMode,
|
||||
.showRainbow
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public static func reset(_ names: [Name]) {
|
||||
for name in names {
|
||||
setShortcut(name.defaultShortcut, for: name)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Set the keyboard shortcut for a name.
|
||||
|
||||
Setting it to `nil` removes the shortcut, even if the `Name` has a default shortcut defined. Use `.reset()` if you want it to respect the default shortcut.
|
||||
|
||||
You would usually not need this as the user would be the one setting the shortcut in a preferences user-interface, but it can be useful when, for example, migrating from a different keyboard shortcuts package.
|
||||
*/
|
||||
public static func setShortcut(_ shortcut: Shortcut?, for name: Name) {
|
||||
guard let shortcut = shortcut else {
|
||||
userDefaultsRemove(name: name)
|
||||
return
|
||||
}
|
||||
|
||||
userDefaultsSet(name: name, shortcut: shortcut)
|
||||
}
|
||||
|
||||
/**
|
||||
Get the keyboard shortcut for a name.
|
||||
*/
|
||||
public static func getShortcut(for name: Name) -> Shortcut? {
|
||||
guard
|
||||
let data = UserDefaults.standard.string(forKey: userDefaultsKey(for: name))?.data(using: .utf8),
|
||||
let decoded = try? JSONDecoder().decode(Shortcut.self, from: data)
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return decoded
|
||||
}
|
||||
|
||||
private static func handleOnKeyDown(_ shortcut: Shortcut) {
|
||||
guard !isPaused else {
|
||||
return
|
||||
}
|
||||
|
||||
for (name, handlers) in legacyKeyDownHandlers {
|
||||
guard getShortcut(for: name) == shortcut else {
|
||||
continue
|
||||
}
|
||||
|
||||
for handler in handlers {
|
||||
handler()
|
||||
}
|
||||
}
|
||||
|
||||
for (name, handlers) in streamKeyDownHandlers {
|
||||
guard getShortcut(for: name) == shortcut else {
|
||||
continue
|
||||
}
|
||||
|
||||
for handler in handlers.values {
|
||||
handler()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static func handleOnKeyUp(_ shortcut: Shortcut) {
|
||||
guard !isPaused else {
|
||||
return
|
||||
}
|
||||
|
||||
for (name, handlers) in legacyKeyUpHandlers {
|
||||
guard getShortcut(for: name) == shortcut else {
|
||||
continue
|
||||
}
|
||||
|
||||
for handler in handlers {
|
||||
handler()
|
||||
}
|
||||
}
|
||||
|
||||
for (name, handlers) in streamKeyUpHandlers {
|
||||
guard getShortcut(for: name) == shortcut else {
|
||||
continue
|
||||
}
|
||||
|
||||
for handler in handlers.values {
|
||||
handler()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Listen to the keyboard shortcut with the given name being pressed.
|
||||
|
||||
You can register multiple listeners.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
```swift
|
||||
import Cocoa
|
||||
import KeyboardShortcuts
|
||||
|
||||
@main
|
||||
final class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
func applicationDidFinishLaunching(_ notification: Notification) {
|
||||
KeyboardShortcuts.onKeyDown(for: .toggleUnicornMode) { [self] in
|
||||
isUnicornMode.toggle()
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public static func onKeyDown(for name: Name, action: @escaping () -> Void) {
|
||||
legacyKeyDownHandlers[name, default: []].append(action)
|
||||
registerShortcutIfNeeded(for: name)
|
||||
}
|
||||
|
||||
/**
|
||||
Listen to the keyboard shortcut with the given name being pressed.
|
||||
|
||||
You can register multiple listeners.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
```swift
|
||||
import Cocoa
|
||||
import KeyboardShortcuts
|
||||
|
||||
@main
|
||||
final class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
func applicationDidFinishLaunching(_ notification: Notification) {
|
||||
KeyboardShortcuts.onKeyUp(for: .toggleUnicornMode) { [self] in
|
||||
isUnicornMode.toggle()
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public static func onKeyUp(for name: Name, action: @escaping () -> Void) {
|
||||
legacyKeyUpHandlers[name, default: []].append(action)
|
||||
registerShortcutIfNeeded(for: name)
|
||||
}
|
||||
|
||||
private static let userDefaultsPrefix = "KeyboardShortcuts_"
|
||||
|
||||
private static func userDefaultsKey(for shortcutName: Name) -> String { "\(userDefaultsPrefix)\(shortcutName.rawValue)"
|
||||
}
|
||||
|
||||
static func userDefaultsDidChange(name: Name) {
|
||||
// TODO: Use proper UserDefaults observation instead of this.
|
||||
NotificationCenter.default.post(name: .shortcutByNameDidChange, object: nil, userInfo: ["name": name])
|
||||
}
|
||||
|
||||
static func userDefaultsSet(name: Name, shortcut: Shortcut) {
|
||||
guard let encoded = try? JSONEncoder().encode(shortcut).toString else {
|
||||
return
|
||||
}
|
||||
|
||||
if let oldShortcut = getShortcut(for: name) {
|
||||
unregister(oldShortcut)
|
||||
}
|
||||
|
||||
register(shortcut)
|
||||
UserDefaults.standard.set(encoded, forKey: userDefaultsKey(for: name))
|
||||
userDefaultsDidChange(name: name)
|
||||
}
|
||||
|
||||
static func userDefaultsRemove(name: Name) {
|
||||
guard let shortcut = getShortcut(for: name) else {
|
||||
return
|
||||
}
|
||||
|
||||
UserDefaults.standard.set(false, forKey: userDefaultsKey(for: name))
|
||||
unregister(shortcut)
|
||||
userDefaultsDidChange(name: name)
|
||||
}
|
||||
|
||||
static func userDefaultsContains(name: Name) -> Bool {
|
||||
UserDefaults.standard.object(forKey: userDefaultsKey(for: name)) != nil
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts {
|
||||
@available(macOS 10.15, *)
|
||||
public enum EventType {
|
||||
case keyDown
|
||||
case keyUp
|
||||
}
|
||||
|
||||
/**
|
||||
Listen to the keyboard shortcut with the given name being pressed.
|
||||
|
||||
You can register multiple listeners.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
Ending the async sequence will stop the listener. For example, in the below example, the listener will stop when the view disappears.
|
||||
|
||||
```swift
|
||||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
struct ContentView: View {
|
||||
@State private var isUnicornMode = false
|
||||
|
||||
var body: some View {
|
||||
Text(isUnicornMode ? "🦄" : "🐴")
|
||||
.task {
|
||||
for await event in KeyboardShortcuts.events(for: .toggleUnicornMode) where event == .keyUp {
|
||||
isUnicornMode.toggle()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- Note: This method is not affected by `.removeAllHandlers()`.
|
||||
*/
|
||||
@available(macOS 10.15, *)
|
||||
public static func events(for name: Name) -> AsyncStream<KeyboardShortcuts.EventType> {
|
||||
AsyncStream { continuation in
|
||||
let id = UUID()
|
||||
|
||||
DispatchQueue.main.async {
|
||||
streamKeyDownHandlers[name, default: [:]][id] = {
|
||||
continuation.yield(.keyDown)
|
||||
}
|
||||
|
||||
streamKeyUpHandlers[name, default: [:]][id] = {
|
||||
continuation.yield(.keyUp)
|
||||
}
|
||||
|
||||
registerShortcutIfNeeded(for: name)
|
||||
}
|
||||
|
||||
continuation.onTermination = { _ in
|
||||
DispatchQueue.main.async {
|
||||
streamKeyDownHandlers[name]?[id] = nil
|
||||
streamKeyUpHandlers[name]?[id] = nil
|
||||
|
||||
unregisterShortcutIfNeeded(for: name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Listen to keyboard shortcut events with the given name and type.
|
||||
|
||||
You can register multiple listeners.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
Ending the async sequence will stop the listener. For example, in the below example, the listener will stop when the view disappears.
|
||||
|
||||
```swift
|
||||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
struct ContentView: View {
|
||||
@State private var isUnicornMode = false
|
||||
|
||||
var body: some View {
|
||||
Text(isUnicornMode ? "🦄" : "🐴")
|
||||
.task {
|
||||
for await event in KeyboardShortcuts.events(for: .toggleUnicornMode) where event == .keyUp {
|
||||
isUnicornMode.toggle()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- Note: This method is not affected by `.removeAllHandlers()`.
|
||||
*/
|
||||
@available(macOS 10.15, *)
|
||||
public static func events(_ type: EventType, for name: Name) -> AsyncFilterSequence<AsyncStream<EventType>> {
|
||||
events(for: name).filter { $0 == type }
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
@available(*, deprecated, renamed: "events(_:for:)")
|
||||
public static func on(_ type: EventType, for name: Name) -> AsyncStream<Void> {
|
||||
AsyncStream { continuation in
|
||||
let id = UUID()
|
||||
|
||||
switch type {
|
||||
case .keyDown:
|
||||
streamKeyDownHandlers[name, default: [:]][id] = {
|
||||
continuation.yield()
|
||||
}
|
||||
case .keyUp:
|
||||
streamKeyUpHandlers[name, default: [:]][id] = {
|
||||
continuation.yield()
|
||||
}
|
||||
}
|
||||
|
||||
registerShortcutIfNeeded(for: name)
|
||||
|
||||
continuation.onTermination = { _ in
|
||||
switch type {
|
||||
case .keyDown:
|
||||
streamKeyDownHandlers[name]?[id] = nil
|
||||
case .keyUp:
|
||||
streamKeyUpHandlers[name]?[id] = nil
|
||||
}
|
||||
|
||||
unregisterShortcutIfNeeded(for: name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension Notification.Name {
|
||||
static let shortcutByNameDidChange = Self("KeyboardShortcuts_shortcutByNameDidChange")
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "سجل اختصاراً";
|
||||
"press_shortcut" = "اضغط على الاختصار";
|
||||
"keyboard_shortcut_used_by_menu_item" = "لا يمكن استخدام اختصار لوحة المفاتيح هذا لأنه مستخدم بواسطة عنصر القائمة “%@”.";
|
||||
"keyboard_shortcut_used_by_system" = "لا يمكن استخدام اختصار لوحة المفاتيح هذا لأنه مستخدم مسبقاً على مستوى النظام.";
|
||||
"keyboard_shortcuts_can_be_changed" = "يمكن تغيير معظم اختصارات لوحة المفاتيح على مستوى النظام في “تفضيلات النظام > لوحة المفاتيح > الاختصارات ”.";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Přidat zkratku";
|
||||
"press_shortcut" = "Zadejte klávesy";
|
||||
"keyboard_shortcut_used_by_menu_item" = "Tuto zkratku nelze použít, protože je již využívána položkou „%@";
|
||||
"keyboard_shortcut_used_by_system" = "Tuto zkratku nelze použít, protože už ji používá systém.";
|
||||
"keyboard_shortcuts_can_be_changed" = "Většinu systémových zkratek můžete změnit v „Předvolby systému › Klávesnice › Zkratky“.";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Kurzbefehl aufnehmen";
|
||||
"press_shortcut" = "Kurzbefehl wählen…";
|
||||
"keyboard_shortcut_used_by_menu_item" = "Dieses Tastaturkürzel kann nicht verwendet werden, da es bereits durch den Menüpunkt „%@” belegt ist.";
|
||||
"keyboard_shortcut_used_by_system" = "Dieses Tastaturkürzel kann nicht verwendet werden, da es bereits systemweit verwendet wird.";
|
||||
"keyboard_shortcuts_can_be_changed" = "Die meisten systemweiten Tastaturkürzel können unter „Systemeinstellungen › Tastatur › Kurzbefehle“ geändert werden.";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Record Shortcut";
|
||||
"press_shortcut" = "Press Shortcut";
|
||||
"keyboard_shortcut_used_by_menu_item" = "This keyboard shortcut cannot be used as it’s already used by the “%@” menu item.";
|
||||
"keyboard_shortcut_used_by_system" = "This keyboard shortcut cannot be used as it’s already a system-wide keyboard shortcut.";
|
||||
"keyboard_shortcuts_can_be_changed" = "Most system-wide keyboard shortcuts can be changed in “System Preferences › Keyboard › Shortcuts”.";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Grabar atajo";
|
||||
"press_shortcut" = "Pulsar atajo";
|
||||
"keyboard_shortcut_used_by_menu_item" = "Este atajo de teclado no se puede utilizar ya que está siendo utilizado por el elemento de menú “%@”.";
|
||||
"keyboard_shortcut_used_by_system" = "Este atajo de teclado no se puede utilizar ya que está siendo utilizado por un atajo del sistema operativo.";
|
||||
"keyboard_shortcuts_can_be_changed" = "La mayoría de los atajos de teclado del sistema operativo pueden ser modificados en “Preferencias del sistema › Teclado › Atajos“.";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Billentyűparancs rögzítése";
|
||||
"press_shortcut" = "Nyomja meg a billentyűparancsot";
|
||||
"keyboard_shortcut_used_by_menu_item" = "Ez a billentyűparancs nem használható mert már a “%@” menü elem használja.";
|
||||
"keyboard_shortcut_used_by_system" = "Ez a billentyűparancs nem használható mert már egy rendszerszintü billentyűparancs.";
|
||||
"keyboard_shortcuts_can_be_changed" = "A legtöbb rendszerszintü billentyűparancsot a “Rendszerbeállítások › Billentyűzet › Billentyűparancsok“ menüben meg lehet változtatni";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "Добавить";
|
||||
"press_shortcut" = "Запись…";
|
||||
"keyboard_shortcut_used_by_menu_item" = "Это сочетание клавиш нельзя использовать, так как оно уже используется в пункте меню «%@».";
|
||||
"keyboard_shortcut_used_by_system" = "Это сочетание клавиш нельзя использовать, поскольку оно является системным.";
|
||||
"keyboard_shortcuts_can_be_changed" = "Большинство системных сочетаний клавиш можно изменить в «Системные настройки › Клавиатура › Сочетания клавиш».";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "记录快捷键";
|
||||
"press_shortcut" = "键入快捷键";
|
||||
"keyboard_shortcut_used_by_menu_item" = "当前快捷键无法使用,因为它已用作菜单项 “%@” 的快捷键。";
|
||||
"keyboard_shortcut_used_by_system" = "当前快捷键无法使用,因为它已用作系统快捷键。";
|
||||
"keyboard_shortcuts_can_be_changed" = "可以在 “系统偏好设置 › 键盘 › 快捷键” 中更改大多数系统快捷键。";
|
|
@ -0,0 +1,5 @@
|
|||
"record_shortcut" = "記錄快速鍵";
|
||||
"press_shortcut" = "按下快速鍵";
|
||||
"keyboard_shortcut_used_by_menu_item" = "此快速鍵無法使用,因為它已被選單項目「%@」使用。";
|
||||
"keyboard_shortcut_used_by_system" = "此快速鍵無法使用,因為它已是系統通用快速鍵。";
|
||||
"keyboard_shortcuts_can_be_changed" = "可以在「系統偏好設定 › 鍵盤 › 快速鍵」中更改大多數的系統快速鍵。";
|
|
@ -0,0 +1,109 @@
|
|||
import Cocoa
|
||||
|
||||
extension NSMenuItem {
|
||||
private enum AssociatedKeys {
|
||||
static let observer = ObjectAssociation<NSObjectProtocol>()
|
||||
}
|
||||
|
||||
private func clearShortcut() {
|
||||
keyEquivalent = ""
|
||||
keyEquivalentModifierMask = []
|
||||
|
||||
if #available(macOS 12, *) {
|
||||
allowsAutomaticKeyEquivalentLocalization = true
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Make this a getter/setter. We must first add the ability to create a `Shortcut` from a `keyEquivalent`.
|
||||
/**
|
||||
Show a recorded keyboard shortcut in a `NSMenuItem`.
|
||||
|
||||
The menu item will automatically be kept up to date with changes to the keyboard shortcut.
|
||||
|
||||
Pass in `nil` to clear the keyboard shortcut.
|
||||
|
||||
This method overrides `.keyEquivalent` and `.keyEquivalentModifierMask`.
|
||||
|
||||
```swift
|
||||
import Cocoa
|
||||
import KeyboardShortcuts
|
||||
|
||||
extension KeyboardShortcuts.Name {
|
||||
static let toggleUnicornMode = Self("toggleUnicornMode")
|
||||
}
|
||||
|
||||
// … `Recorder` logic for recording the keyboard shortcut …
|
||||
|
||||
let menuItem = NSMenuItem()
|
||||
menuItem.title = "Toggle Unicorn Mode"
|
||||
menuItem.setShortcut(for: .toggleUnicornMode)
|
||||
```
|
||||
|
||||
You can test this method in the example project. Run it, record a shortcut and then look at the “Test” menu in the app's main menu.
|
||||
|
||||
- Important: You will have to disable the global keyboard shortcut while the menu is open, as otherwise, the keyboard events will be buffered up and triggered when the menu closes. This is because `NSMenu` puts the thread in tracking-mode, which prevents the keyboard events from being received. You can listen to whether a menu is open by implementing `NSMenuDelegate#menuWillOpen` and `NSMenuDelegate#menuDidClose`. You then use `KeyboardShortcuts.disable` and `KeyboardShortcuts.enable`.
|
||||
*/
|
||||
public func setShortcut(for name: KeyboardShortcuts.Name?) {
|
||||
guard let name = name else {
|
||||
clearShortcut()
|
||||
AssociatedKeys.observer[self] = nil
|
||||
return
|
||||
}
|
||||
|
||||
func set() {
|
||||
let shortcut = KeyboardShortcuts.Shortcut(name: name)
|
||||
setShortcut(shortcut)
|
||||
}
|
||||
|
||||
set()
|
||||
|
||||
// TODO: Use AsyncStream when targeting macOS 10.15.
|
||||
AssociatedKeys.observer[self] = NotificationCenter.default.addObserver(forName: .shortcutByNameDidChange, object: nil, queue: nil) { notification in
|
||||
guard
|
||||
let nameInNotification = notification.userInfo?["name"] as? KeyboardShortcuts.Name,
|
||||
nameInNotification == name
|
||||
else {
|
||||
return
|
||||
}
|
||||
|
||||
set()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Add a keyboard shortcut to a `NSMenuItem`.
|
||||
|
||||
This method is only recommended for dynamic shortcuts. In general, it's preferred to create a static shortcut name and use `NSMenuItem.setShortcut(for:)` instead.
|
||||
|
||||
Pass in `nil` to clear the keyboard shortcut.
|
||||
|
||||
This method overrides `.keyEquivalent` and `.keyEquivalentModifierMask`.
|
||||
|
||||
- Important: You will have to disable the global keyboard shortcut while the menu is open, as otherwise, the keyboard events will be buffered up and triggered when the menu closes. This is because `NSMenu` puts the thread in tracking-mode, which prevents the keyboard events from being received. You can listen to whether a menu is open by implementing `NSMenuDelegate#menuWillOpen` and `NSMenuDelegate#menuDidClose`. You then use `KeyboardShortcuts.disable` and `KeyboardShortcuts.enable`.
|
||||
*/
|
||||
@_disfavoredOverload
|
||||
public func setShortcut(_ shortcut: KeyboardShortcuts.Shortcut?) {
|
||||
func set() {
|
||||
guard let shortcut = shortcut else {
|
||||
clearShortcut()
|
||||
return
|
||||
}
|
||||
|
||||
keyEquivalent = shortcut.keyEquivalent
|
||||
keyEquivalentModifierMask = shortcut.modifiers
|
||||
|
||||
if #available(macOS 12, *) {
|
||||
allowsAutomaticKeyEquivalentLocalization = false
|
||||
}
|
||||
}
|
||||
|
||||
// `TISCopyCurrentASCIICapableKeyboardLayoutInputSource` works on a background thread, but crashes when used in a `NSBackgroundActivityScheduler` task, so we ensure it's not run in that queue.
|
||||
if DispatchQueue.isCurrentQueueNSBackgroundActivitySchedulerQueue {
|
||||
DispatchQueue.main.async {
|
||||
set()
|
||||
}
|
||||
} else {
|
||||
set()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
extension KeyboardShortcuts {
|
||||
/**
|
||||
The strongly-typed name of the keyboard shortcut.
|
||||
|
||||
After registering it, you can use it in, for example, `KeyboardShortcut.Recorder` and `KeyboardShortcut.onKeyUp()`.
|
||||
|
||||
```swift
|
||||
import KeyboardShortcuts
|
||||
|
||||
extension KeyboardShortcuts.Name {
|
||||
static let toggleUnicornMode = Self("toggleUnicornMode")
|
||||
}
|
||||
```
|
||||
*/
|
||||
public struct Name: Hashable {
|
||||
// This makes it possible to use `Shortcut` without the namespace.
|
||||
/// :nodoc:
|
||||
public typealias Shortcut = KeyboardShortcuts.Shortcut
|
||||
|
||||
public let rawValue: String
|
||||
public let defaultShortcut: Shortcut?
|
||||
|
||||
/**
|
||||
Get the keyboard shortcut assigned to the name.
|
||||
*/
|
||||
public var shortcut: Shortcut? { KeyboardShortcuts.getShortcut(for: self) }
|
||||
|
||||
/**
|
||||
- Parameter name: Name of the shortcut.
|
||||
- Parameter default: Optional default key combination. Do not set this unless it's essential. Users find it annoying when random apps steal their existing keyboard shortcuts. It's generally better to show a welcome screen on the first app launch that lets the user set the shortcut.
|
||||
*/
|
||||
public init(_ name: String, default defaultShortcut: Shortcut? = nil) {
|
||||
self.rawValue = name
|
||||
self.defaultShortcut = defaultShortcut
|
||||
|
||||
if
|
||||
let defaultShortcut = defaultShortcut,
|
||||
!userDefaultsContains(name: self)
|
||||
{
|
||||
setShortcut(defaultShortcut, for: self)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts.Name: RawRepresentable {
|
||||
/// :nodoc:
|
||||
public init?(rawValue: String) {
|
||||
self.init(rawValue)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
import SwiftUI
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension KeyboardShortcuts {
|
||||
private struct _Recorder: NSViewRepresentable { // swiftlint:disable:this type_name
|
||||
typealias NSViewType = RecorderCocoa
|
||||
|
||||
let name: Name
|
||||
let onChange: ((_ shortcut: Shortcut?) -> Void)?
|
||||
|
||||
func makeNSView(context: Context) -> NSViewType {
|
||||
.init(for: name, onChange: onChange)
|
||||
}
|
||||
|
||||
func updateNSView(_ nsView: NSViewType, context: Context) {
|
||||
nsView.shortcutName = name
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
A SwiftUI `View` that lets the user record a keyboard shortcut.
|
||||
|
||||
You would usually put this in your preferences window.
|
||||
|
||||
It automatically prevents choosing a keyboard shortcut that is already taken by the system or by the app's main menu by showing a user-friendly alert to the user.
|
||||
|
||||
It takes care of storing the keyboard shortcut in `UserDefaults` for you.
|
||||
|
||||
```swift
|
||||
import SwiftUI
|
||||
import KeyboardShortcuts
|
||||
|
||||
struct SettingsScreen: View {
|
||||
var body: some View {
|
||||
Form {
|
||||
KeyboardShortcuts.Recorder("Toggle Unicorn Mode:", name: .toggleUnicornMode)
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public struct Recorder<Label: View>: View { // swiftlint:disable:this type_name
|
||||
private let name: Name
|
||||
private let onChange: ((Shortcut?) -> Void)?
|
||||
private let hasLabel: Bool
|
||||
private let label: Label
|
||||
|
||||
init(
|
||||
for name: Name,
|
||||
onChange: ((Shortcut?) -> Void)? = nil,
|
||||
hasLabel: Bool,
|
||||
@ViewBuilder label: () -> Label
|
||||
) {
|
||||
self.name = name
|
||||
self.onChange = onChange
|
||||
self.hasLabel = hasLabel
|
||||
self.label = label()
|
||||
}
|
||||
|
||||
public var body: some View {
|
||||
if hasLabel {
|
||||
_Recorder(
|
||||
name: name,
|
||||
onChange: onChange
|
||||
)
|
||||
.formLabel {
|
||||
label
|
||||
}
|
||||
} else {
|
||||
_Recorder(
|
||||
name: name,
|
||||
onChange: onChange
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension KeyboardShortcuts.Recorder where Label == EmptyView {
|
||||
/**
|
||||
- Parameter name: Strongly-typed keyboard shortcut name.
|
||||
- Parameter onChange: Callback which will be called when the keyboard shortcut is changed/removed by the user. This can be useful when you need more control. For example, when migrating from a different keyboard shortcut solution and you need to store the keyboard shortcut somewhere yourself instead of relying on the built-in storage. However, it's strongly recommended to just rely on the built-in storage when possible.
|
||||
*/
|
||||
public init(
|
||||
for name: KeyboardShortcuts.Name,
|
||||
onChange: ((KeyboardShortcuts.Shortcut?) -> Void)? = nil
|
||||
) {
|
||||
self.init(
|
||||
for: name,
|
||||
onChange: onChange,
|
||||
hasLabel: false
|
||||
) {}
|
||||
}
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension KeyboardShortcuts.Recorder where Label == Text {
|
||||
/**
|
||||
- Parameter title: The title of the keyboard shortcut recorder, describing its purpose.
|
||||
- Parameter name: Strongly-typed keyboard shortcut name.
|
||||
- Parameter onChange: Callback which will be called when the keyboard shortcut is changed/removed by the user. This can be useful when you need more control. For example, when migrating from a different keyboard shortcut solution and you need to store the keyboard shortcut somewhere yourself instead of relying on the built-in storage. However, it's strongly recommended to just rely on the built-in storage when possible.
|
||||
*/
|
||||
public init(
|
||||
_ title: String,
|
||||
name: KeyboardShortcuts.Name,
|
||||
onChange: ((KeyboardShortcuts.Shortcut?) -> Void)? = nil
|
||||
) {
|
||||
self.init(
|
||||
for: name,
|
||||
onChange: onChange,
|
||||
hasLabel: true
|
||||
) {
|
||||
Text(title)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension KeyboardShortcuts.Recorder {
|
||||
/**
|
||||
- Parameter name: Strongly-typed keyboard shortcut name.
|
||||
- Parameter onChange: Callback which will be called when the keyboard shortcut is changed/removed by the user. This can be useful when you need more control. For example, when migrating from a different keyboard shortcut solution and you need to store the keyboard shortcut somewhere yourself instead of relying on the built-in storage. However, it's strongly recommended to just rely on the built-in storage when possible.
|
||||
- Parameter label: A view that describes the purpose of the keyboard shortcut recorder.
|
||||
*/
|
||||
public init(
|
||||
for name: KeyboardShortcuts.Name,
|
||||
onChange: ((KeyboardShortcuts.Shortcut?) -> Void)? = nil,
|
||||
@ViewBuilder label: () -> Label
|
||||
) {
|
||||
self.init(
|
||||
for: name,
|
||||
onChange: onChange,
|
||||
hasLabel: true,
|
||||
label: label
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
struct SwiftUI_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
Group {
|
||||
KeyboardShortcuts.Recorder(for: .init("xcodePreview"))
|
||||
.environment(\.locale, .init(identifier: "en"))
|
||||
KeyboardShortcuts.Recorder(for: .init("xcodePreview"))
|
||||
.environment(\.locale, .init(identifier: "zh-Hans"))
|
||||
KeyboardShortcuts.Recorder(for: .init("xcodePreview"))
|
||||
.environment(\.locale, .init(identifier: "ru"))
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,283 @@
|
|||
import Cocoa
|
||||
import Carbon.HIToolbox
|
||||
|
||||
extension KeyboardShortcuts {
|
||||
/**
|
||||
A `NSView` that lets the user record a keyboard shortcut.
|
||||
|
||||
You would usually put this in your preferences window.
|
||||
|
||||
It automatically prevents choosing a keyboard shortcut that is already taken by the system or by the app's main menu by showing a user-friendly alert to the user.
|
||||
|
||||
It takes care of storing the keyboard shortcut in `UserDefaults` for you.
|
||||
|
||||
```swift
|
||||
import Cocoa
|
||||
import KeyboardShortcuts
|
||||
|
||||
final class PreferencesViewController: NSViewController {
|
||||
override func loadView() {
|
||||
view = NSView()
|
||||
|
||||
let recorder = KeyboardShortcuts.RecorderCocoa(for: .toggleUnicornMode)
|
||||
view.addSubview(recorder)
|
||||
}
|
||||
}
|
||||
```
|
||||
*/
|
||||
public final class RecorderCocoa: NSSearchField, NSSearchFieldDelegate {
|
||||
private let minimumWidth: Double = 130
|
||||
private var eventMonitor: LocalEventMonitor?
|
||||
private let onChange: ((_ shortcut: Shortcut?) -> Void)?
|
||||
private var observer: NSObjectProtocol?
|
||||
private var canBecomeKey = false
|
||||
|
||||
/**
|
||||
The shortcut name for the recorder.
|
||||
|
||||
Can be dynamically changed at any time.
|
||||
*/
|
||||
public var shortcutName: Name {
|
||||
didSet {
|
||||
guard shortcutName != oldValue else {
|
||||
return
|
||||
}
|
||||
|
||||
setStringValue(name: shortcutName)
|
||||
|
||||
// This doesn't seem to be needed anymore, but I cannot test on older OS versions, so keeping it just in case.
|
||||
if #unavailable(macOS 12) {
|
||||
DispatchQueue.main.async { [self] in
|
||||
// Prevents the placeholder from being cut off.
|
||||
blur()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// :nodoc:
|
||||
override public var canBecomeKeyView: Bool { canBecomeKey }
|
||||
|
||||
/// :nodoc:
|
||||
override public var intrinsicContentSize: CGSize {
|
||||
var size = super.intrinsicContentSize
|
||||
size.width = minimumWidth
|
||||
return size
|
||||
}
|
||||
|
||||
private var cancelButton: NSButtonCell?
|
||||
|
||||
private var showsCancelButton: Bool {
|
||||
get { (cell as? NSSearchFieldCell)?.cancelButtonCell != nil }
|
||||
set {
|
||||
(cell as? NSSearchFieldCell)?.cancelButtonCell = newValue ? cancelButton : nil
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
- Parameter name: Strongly-typed keyboard shortcut name.
|
||||
- Parameter onChange: Callback which will be called when the keyboard shortcut is changed/removed by the user. This can be useful when you need more control. For example, when migrating from a different keyboard shortcut solution and you need to store the keyboard shortcut somewhere yourself instead of relying on the built-in storage. However, it's strongly recommended to just rely on the built-in storage when possible.
|
||||
*/
|
||||
public required init(
|
||||
for name: Name,
|
||||
onChange: ((_ shortcut: Shortcut?) -> Void)? = nil
|
||||
) {
|
||||
self.shortcutName = name
|
||||
self.onChange = onChange
|
||||
|
||||
super.init(frame: .zero)
|
||||
self.delegate = self
|
||||
self.placeholderString = "record_shortcut".localized
|
||||
self.alignment = .center
|
||||
(cell as? NSSearchFieldCell)?.searchButtonCell = nil
|
||||
|
||||
self.wantsLayer = true
|
||||
self.translatesAutoresizingMaskIntoConstraints = false
|
||||
setContentHuggingPriority(.defaultHigh, for: .vertical)
|
||||
setContentHuggingPriority(.defaultHigh, for: .horizontal)
|
||||
widthAnchor.constraint(greaterThanOrEqualToConstant: minimumWidth).isActive = true
|
||||
|
||||
// Hide the cancel button when not showing the shortcut so the placeholder text is properly centered. Must be last.
|
||||
self.cancelButton = (cell as? NSSearchFieldCell)?.cancelButtonCell
|
||||
|
||||
setStringValue(name: name)
|
||||
|
||||
setUpEvents()
|
||||
}
|
||||
|
||||
@available(*, unavailable)
|
||||
public required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
private func setStringValue(name: KeyboardShortcuts.Name) {
|
||||
stringValue = getShortcut(for: shortcutName).map { "\($0)" } ?? ""
|
||||
|
||||
// If `stringValue` is empty, hide the cancel button to let the placeholder center.
|
||||
showsCancelButton = !stringValue.isEmpty
|
||||
}
|
||||
|
||||
private func setUpEvents() {
|
||||
observer = NotificationCenter.default.addObserver(forName: .shortcutByNameDidChange, object: nil, queue: nil) { [weak self] notification in
|
||||
guard
|
||||
let self = self,
|
||||
let nameInNotification = notification.userInfo?["name"] as? KeyboardShortcuts.Name,
|
||||
nameInNotification == self.shortcutName
|
||||
else {
|
||||
return
|
||||
}
|
||||
|
||||
self.setStringValue(name: nameInNotification)
|
||||
}
|
||||
}
|
||||
|
||||
/// :nodoc:
|
||||
public func controlTextDidChange(_ object: Notification) {
|
||||
if stringValue.isEmpty {
|
||||
saveShortcut(nil)
|
||||
}
|
||||
|
||||
showsCancelButton = !stringValue.isEmpty
|
||||
|
||||
if stringValue.isEmpty {
|
||||
// Hack to ensure that the placeholder centers after the above `showsCancelButton` setter.
|
||||
focus()
|
||||
}
|
||||
}
|
||||
|
||||
/// :nodoc:
|
||||
public func controlTextDidEndEditing(_ object: Notification) {
|
||||
eventMonitor = nil
|
||||
placeholderString = "record_shortcut".localized
|
||||
showsCancelButton = !stringValue.isEmpty
|
||||
KeyboardShortcuts.isPaused = false
|
||||
}
|
||||
|
||||
// Prevent the control from receiving the initial focus.
|
||||
/// :nodoc:
|
||||
override public func viewDidMoveToWindow() {
|
||||
guard window != nil else {
|
||||
return
|
||||
}
|
||||
|
||||
canBecomeKey = true
|
||||
}
|
||||
|
||||
/// :nodoc:
|
||||
override public func becomeFirstResponder() -> Bool {
|
||||
let shouldBecomeFirstResponder = super.becomeFirstResponder()
|
||||
|
||||
guard shouldBecomeFirstResponder else {
|
||||
return shouldBecomeFirstResponder
|
||||
}
|
||||
|
||||
placeholderString = "press_shortcut".localized
|
||||
showsCancelButton = !stringValue.isEmpty
|
||||
hideCaret()
|
||||
KeyboardShortcuts.isPaused = true // The position here matters.
|
||||
|
||||
eventMonitor = LocalEventMonitor(events: [.keyDown, .leftMouseUp, .rightMouseUp]) { [weak self] event in
|
||||
guard let self = self else {
|
||||
return nil
|
||||
}
|
||||
|
||||
let clickPoint = self.convert(event.locationInWindow, from: nil)
|
||||
let clickMargin = 3.0
|
||||
|
||||
if
|
||||
event.type == .leftMouseUp || event.type == .rightMouseUp,
|
||||
!self.bounds.insetBy(dx: -clickMargin, dy: -clickMargin).contains(clickPoint)
|
||||
{
|
||||
self.blur()
|
||||
return nil
|
||||
}
|
||||
|
||||
guard event.isKeyEvent else {
|
||||
return nil
|
||||
}
|
||||
|
||||
if
|
||||
event.modifiers.isEmpty,
|
||||
event.specialKey == .tab
|
||||
{
|
||||
self.blur()
|
||||
|
||||
// We intentionally bubble up the event so it can focus the next responder.
|
||||
return event
|
||||
}
|
||||
|
||||
if
|
||||
event.modifiers.isEmpty,
|
||||
event.keyCode == kVK_Escape // TODO: Make this strongly typed.
|
||||
{
|
||||
self.blur()
|
||||
return nil
|
||||
}
|
||||
|
||||
if
|
||||
event.modifiers.isEmpty,
|
||||
event.specialKey == .delete
|
||||
|| event.specialKey == .deleteForward
|
||||
|| event.specialKey == .backspace
|
||||
{
|
||||
self.clear()
|
||||
return nil
|
||||
}
|
||||
|
||||
// The “shift” key is not allowed without other modifiers or a function key, since it doesn't actually work.
|
||||
guard
|
||||
!event.modifiers.subtracting(.shift).isEmpty
|
||||
|| event.specialKey?.isFunctionKey == true,
|
||||
let shortcut = Shortcut(event: event)
|
||||
else {
|
||||
NSSound.beep()
|
||||
return nil
|
||||
}
|
||||
|
||||
if let menuItem = shortcut.takenByMainMenu {
|
||||
// TODO: Find a better way to make it possible to dismiss the alert by pressing "Enter". How can we make the input automatically temporarily lose focus while the alert is open?
|
||||
self.blur()
|
||||
|
||||
NSAlert.showModal(
|
||||
for: self.window,
|
||||
title: String.localizedStringWithFormat("keyboard_shortcut_used_by_menu_item".localized, menuItem.title)
|
||||
)
|
||||
|
||||
self.focus()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
guard !shortcut.isTakenBySystem else {
|
||||
self.blur()
|
||||
|
||||
NSAlert.showModal(
|
||||
for: self.window,
|
||||
title: "keyboard_shortcut_used_by_system".localized,
|
||||
// TODO: Add button to offer to open the relevant system preference pane for the user.
|
||||
message: "keyboard_shortcuts_can_be_changed".localized
|
||||
)
|
||||
|
||||
self.focus()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
self.stringValue = "\(shortcut)"
|
||||
self.showsCancelButton = true
|
||||
|
||||
self.saveShortcut(shortcut)
|
||||
self.blur()
|
||||
|
||||
return nil
|
||||
}.start()
|
||||
|
||||
return shouldBecomeFirstResponder
|
||||
}
|
||||
|
||||
private func saveShortcut(_ shortcut: Shortcut?) {
|
||||
setShortcut(shortcut, for: shortcutName)
|
||||
onChange?(shortcut)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,294 @@
|
|||
import Cocoa
|
||||
import Carbon.HIToolbox
|
||||
|
||||
extension KeyboardShortcuts {
|
||||
/**
|
||||
A keyboard shortcut.
|
||||
*/
|
||||
public struct Shortcut: Hashable, Codable {
|
||||
/**
|
||||
Carbon modifiers are not always stored as the same number.
|
||||
|
||||
For example, the system has `⌃F2` stored with the modifiers number `135168`, but if you press the keyboard shortcut, you get `4096`.
|
||||
*/
|
||||
private static func normalizeModifiers(_ carbonModifiers: Int) -> Int {
|
||||
NSEvent.ModifierFlags(carbon: carbonModifiers).carbon
|
||||
}
|
||||
|
||||
/**
|
||||
The keyboard key of the shortcut.
|
||||
*/
|
||||
public var key: Key? { Key(rawValue: carbonKeyCode) }
|
||||
|
||||
/**
|
||||
The modifier keys of the shortcut.
|
||||
*/
|
||||
public var modifiers: NSEvent.ModifierFlags { NSEvent.ModifierFlags(carbon: carbonModifiers) }
|
||||
|
||||
/**
|
||||
Low-level represetation of the key.
|
||||
|
||||
You most likely don't need this.
|
||||
*/
|
||||
public let carbonKeyCode: Int
|
||||
|
||||
/**
|
||||
Low-level representation of the modifier keys.
|
||||
|
||||
You most likely don't need this.
|
||||
*/
|
||||
public let carbonModifiers: Int
|
||||
|
||||
/**
|
||||
Initialize from a strongly-typed key and modifiers.
|
||||
*/
|
||||
public init(_ key: Key, modifiers: NSEvent.ModifierFlags = []) {
|
||||
self.init(
|
||||
carbonKeyCode: key.rawValue,
|
||||
carbonModifiers: modifiers.carbon
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize from a key event.
|
||||
*/
|
||||
public init?(event: NSEvent) {
|
||||
guard event.isKeyEvent else {
|
||||
return nil
|
||||
}
|
||||
|
||||
self.init(
|
||||
carbonKeyCode: Int(event.keyCode),
|
||||
carbonModifiers: event.modifierFlags.carbon
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize from a keyboard shortcut stored by `Recorder` or `RecorderCocoa`.
|
||||
*/
|
||||
public init?(name: Name) {
|
||||
guard let shortcut = getShortcut(for: name) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
self = shortcut
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize from a key code number and modifier code.
|
||||
|
||||
You most likely don't need this.
|
||||
*/
|
||||
public init(carbonKeyCode: Int, carbonModifiers: Int = 0) {
|
||||
self.carbonKeyCode = carbonKeyCode
|
||||
self.carbonModifiers = Self.normalizeModifiers(carbonModifiers)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts.Shortcut {
|
||||
/**
|
||||
System-defined keyboard shortcuts.
|
||||
*/
|
||||
static var system: [Self] {
|
||||
CarbonKeyboardShortcuts.system
|
||||
}
|
||||
|
||||
/**
|
||||
Check whether the keyboard shortcut is already taken by the system.
|
||||
*/
|
||||
var isTakenBySystem: Bool {
|
||||
guard self != Self(.f12, modifiers: []) else {
|
||||
return false
|
||||
}
|
||||
|
||||
return Self.system.contains(self)
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts.Shortcut {
|
||||
/**
|
||||
Recursively finds a menu item in the given menu that has a matching key equivalent and modifier.
|
||||
*/
|
||||
func menuItemWithMatchingShortcut(in menu: NSMenu) -> NSMenuItem? {
|
||||
for item in menu.items {
|
||||
if
|
||||
keyToCharacter() == item.keyEquivalent,
|
||||
modifiers == item.keyEquivalentModifierMask
|
||||
{
|
||||
return item
|
||||
}
|
||||
|
||||
if
|
||||
let submenu = item.submenu,
|
||||
let menuItem = menuItemWithMatchingShortcut(in: submenu)
|
||||
{
|
||||
return menuItem
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
/**
|
||||
Returns a menu item in the app's main menu that has a matching key equivalent and modifier.
|
||||
*/
|
||||
var takenByMainMenu: NSMenuItem? {
|
||||
guard let mainMenu = NSApp.mainMenu else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return menuItemWithMatchingShortcut(in: mainMenu)
|
||||
}
|
||||
}
|
||||
|
||||
private var keyToCharacterMapping: [KeyboardShortcuts.Key: String] = [
|
||||
.return: "↩",
|
||||
.delete: "⌫",
|
||||
.deleteForward: "⌦",
|
||||
.end: "↘",
|
||||
.escape: "⎋",
|
||||
.help: "?⃝",
|
||||
.home: "↖",
|
||||
.space: "⎵",
|
||||
.tab: "⇥",
|
||||
.pageUp: "⇞",
|
||||
.pageDown: "⇟",
|
||||
.upArrow: "↑",
|
||||
.rightArrow: "→",
|
||||
.downArrow: "↓",
|
||||
.leftArrow: "←",
|
||||
.f1: "F1",
|
||||
.f2: "F2",
|
||||
.f3: "F3",
|
||||
.f4: "F4",
|
||||
.f5: "F5",
|
||||
.f6: "F6",
|
||||
.f7: "F7",
|
||||
.f8: "F8",
|
||||
.f9: "F9",
|
||||
.f10: "F10",
|
||||
.f11: "F11",
|
||||
.f12: "F12",
|
||||
.f13: "F13",
|
||||
.f14: "F14",
|
||||
.f15: "F15",
|
||||
.f16: "F16",
|
||||
.f17: "F17",
|
||||
.f18: "F18",
|
||||
.f19: "F19",
|
||||
.f20: "F20"
|
||||
]
|
||||
|
||||
private func stringFromKeyCode(_ keyCode: Int) -> String {
|
||||
String(format: "%C", keyCode)
|
||||
}
|
||||
|
||||
private var keyToKeyEquivalentString: [KeyboardShortcuts.Key: String] = [
|
||||
.space: stringFromKeyCode(0x20),
|
||||
.f1: stringFromKeyCode(NSF1FunctionKey),
|
||||
.f2: stringFromKeyCode(NSF2FunctionKey),
|
||||
.f3: stringFromKeyCode(NSF3FunctionKey),
|
||||
.f4: stringFromKeyCode(NSF4FunctionKey),
|
||||
.f5: stringFromKeyCode(NSF5FunctionKey),
|
||||
.f6: stringFromKeyCode(NSF6FunctionKey),
|
||||
.f7: stringFromKeyCode(NSF7FunctionKey),
|
||||
.f8: stringFromKeyCode(NSF8FunctionKey),
|
||||
.f9: stringFromKeyCode(NSF9FunctionKey),
|
||||
.f10: stringFromKeyCode(NSF10FunctionKey),
|
||||
.f11: stringFromKeyCode(NSF11FunctionKey),
|
||||
.f12: stringFromKeyCode(NSF12FunctionKey),
|
||||
.f13: stringFromKeyCode(NSF13FunctionKey),
|
||||
.f14: stringFromKeyCode(NSF14FunctionKey),
|
||||
.f15: stringFromKeyCode(NSF15FunctionKey),
|
||||
.f16: stringFromKeyCode(NSF16FunctionKey),
|
||||
.f17: stringFromKeyCode(NSF17FunctionKey),
|
||||
.f18: stringFromKeyCode(NSF18FunctionKey),
|
||||
.f19: stringFromKeyCode(NSF19FunctionKey),
|
||||
.f20: stringFromKeyCode(NSF20FunctionKey)
|
||||
]
|
||||
|
||||
extension KeyboardShortcuts.Shortcut {
|
||||
fileprivate func keyToCharacter() -> String? {
|
||||
// `TISCopyCurrentASCIICapableKeyboardLayoutInputSource` works on a background thread, but crashes when used in a `NSBackgroundActivityScheduler` task, so we guard against that. It only crashes when running from Xcode, not in release builds, but it's probably safest to not call it from a `NSBackgroundActivityScheduler` no matter what.
|
||||
assert(!DispatchQueue.isCurrentQueueNSBackgroundActivitySchedulerQueue, "This method cannot be used in a `NSBackgroundActivityScheduler` task")
|
||||
|
||||
// Some characters cannot be automatically translated.
|
||||
if
|
||||
let key = key,
|
||||
let character = keyToCharacterMapping[key]
|
||||
{
|
||||
return character
|
||||
}
|
||||
|
||||
guard
|
||||
let source = TISCopyCurrentASCIICapableKeyboardLayoutInputSource()?.takeRetainedValue(),
|
||||
let layoutDataPointer = TISGetInputSourceProperty(source, kTISPropertyUnicodeKeyLayoutData)
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
|
||||
let layoutData = unsafeBitCast(layoutDataPointer, to: CFData.self)
|
||||
let keyLayout = unsafeBitCast(CFDataGetBytePtr(layoutData), to: UnsafePointer<CoreServices.UCKeyboardLayout>.self)
|
||||
var deadKeyState: UInt32 = 0
|
||||
let maxLength = 4
|
||||
var length = 0
|
||||
var characters = [UniChar](repeating: 0, count: maxLength)
|
||||
|
||||
let error = CoreServices.UCKeyTranslate(
|
||||
keyLayout,
|
||||
UInt16(carbonKeyCode),
|
||||
UInt16(CoreServices.kUCKeyActionDisplay),
|
||||
0, // No modifiers
|
||||
UInt32(LMGetKbdType()),
|
||||
OptionBits(CoreServices.kUCKeyTranslateNoDeadKeysBit),
|
||||
&deadKeyState,
|
||||
maxLength,
|
||||
&length,
|
||||
&characters
|
||||
)
|
||||
|
||||
guard error == noErr else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return String(utf16CodeUnits: characters, count: length)
|
||||
}
|
||||
|
||||
// This can be exposed if anyone needs it, but I prefer to keep the API surface small for now.
|
||||
/**
|
||||
This can be used to show the keyboard shortcut in a `NSMenuItem` by assigning it to `NSMenuItem#keyEquivalent`.
|
||||
|
||||
- Note: Don't forget to also pass `.modifiers` to `NSMenuItem#keyEquivalentModifierMask`.
|
||||
*/
|
||||
var keyEquivalent: String {
|
||||
let keyString = keyToCharacter() ?? ""
|
||||
|
||||
guard keyString.count <= 1 else {
|
||||
guard
|
||||
let key = key,
|
||||
let string = keyToKeyEquivalentString[key]
|
||||
else {
|
||||
return ""
|
||||
}
|
||||
|
||||
return string
|
||||
}
|
||||
|
||||
return keyString
|
||||
}
|
||||
}
|
||||
|
||||
extension KeyboardShortcuts.Shortcut: CustomStringConvertible {
|
||||
/**
|
||||
The string representation of the keyboard shortcut.
|
||||
|
||||
```swift
|
||||
print(KeyboardShortcuts.Shortcut(.a, modifiers: [.command]))
|
||||
//=> "⌘A"
|
||||
```
|
||||
*/
|
||||
public var description: String {
|
||||
modifiers.description + (keyToCharacter()?.uppercased() ?? "<EFBFBD>")
|
||||
}
|
||||
}
|
|
@ -0,0 +1,402 @@
|
|||
import Carbon.HIToolbox
|
||||
import SwiftUI
|
||||
|
||||
|
||||
extension String {
|
||||
/**
|
||||
Makes the string localizable.
|
||||
*/
|
||||
var localized: String {
|
||||
NSLocalizedString(self, bundle: .module, comment: self)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension Data {
|
||||
var toString: String? { String(data: self, encoding: .utf8) }
|
||||
}
|
||||
|
||||
|
||||
extension NSEvent {
|
||||
var isKeyEvent: Bool { type == .keyDown || type == .keyUp }
|
||||
}
|
||||
|
||||
|
||||
extension NSTextField {
|
||||
func hideCaret() {
|
||||
(currentEditor() as? NSTextView)?.insertionPointColor = .clear
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSView {
|
||||
func focus() {
|
||||
window?.makeFirstResponder(self)
|
||||
}
|
||||
|
||||
func blur() {
|
||||
window?.makeFirstResponder(nil)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Listen to local events.
|
||||
|
||||
- Important: Don't foret to call `.start()`.
|
||||
|
||||
```
|
||||
eventMonitor = LocalEventMonitor(events: [.leftMouseDown, .rightMouseDown]) { event in
|
||||
// Do something
|
||||
|
||||
return event
|
||||
}.start()
|
||||
```
|
||||
*/
|
||||
final class LocalEventMonitor {
|
||||
private let events: NSEvent.EventTypeMask
|
||||
private let callback: (NSEvent) -> NSEvent?
|
||||
private weak var monitor: AnyObject?
|
||||
|
||||
init(events: NSEvent.EventTypeMask, callback: @escaping (NSEvent) -> NSEvent?) {
|
||||
self.events = events
|
||||
self.callback = callback
|
||||
}
|
||||
|
||||
deinit {
|
||||
stop()
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
func start() -> Self {
|
||||
monitor = NSEvent.addLocalMonitorForEvents(matching: events, handler: callback) as AnyObject
|
||||
return self
|
||||
}
|
||||
|
||||
func stop() {
|
||||
guard let monitor = monitor else {
|
||||
return
|
||||
}
|
||||
|
||||
NSEvent.removeMonitor(monitor)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSEvent {
|
||||
static var modifiers: ModifierFlags {
|
||||
modifierFlags
|
||||
.intersection(.deviceIndependentFlagsMask)
|
||||
// We remove `capsLock` as it shouldn't affect the modifiers.
|
||||
// We remove `numericPad`/`function` as arrow keys trigger it, use `event.specialKeys` instead.
|
||||
.subtracting([.capsLock, .numericPad, .function])
|
||||
}
|
||||
|
||||
/**
|
||||
Real modifiers.
|
||||
|
||||
- Note: Prefer this over `.modifierFlags`.
|
||||
|
||||
```
|
||||
// Check if Command is one of possible more modifiers keys
|
||||
event.modifiers.contains(.command)
|
||||
|
||||
// Check if Command is the only modifier key
|
||||
event.modifiers == .command
|
||||
|
||||
// Check if Command and Shift are the only modifiers
|
||||
event.modifiers == [.command, .shift]
|
||||
```
|
||||
*/
|
||||
var modifiers: ModifierFlags {
|
||||
modifierFlags
|
||||
.intersection(.deviceIndependentFlagsMask)
|
||||
// We remove `capsLock` as it shouldn't affect the modifiers.
|
||||
// We remove `numericPad`/`function` as arrow keys trigger it, use `event.specialKeys` instead.
|
||||
.subtracting([.capsLock, .numericPad, .function])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSSearchField {
|
||||
/**
|
||||
Clear the search field.
|
||||
*/
|
||||
func clear() {
|
||||
(cell as? NSSearchFieldCell)?.cancelButtonCell?.performClick(self)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSAlert {
|
||||
/**
|
||||
Show an alert as a window-modal sheet, or as an app-modal (window-independent) alert if the window is `nil` or not given.
|
||||
*/
|
||||
@discardableResult
|
||||
static func showModal(
|
||||
for window: NSWindow? = nil,
|
||||
title: String,
|
||||
message: String? = nil,
|
||||
style: Style = .warning,
|
||||
icon: NSImage? = nil
|
||||
) -> NSApplication.ModalResponse {
|
||||
NSAlert(
|
||||
title: title,
|
||||
message: message,
|
||||
style: style,
|
||||
icon: icon
|
||||
).runModal(for: window)
|
||||
}
|
||||
|
||||
convenience init(
|
||||
title: String,
|
||||
message: String? = nil,
|
||||
style: Style = .warning,
|
||||
icon: NSImage? = nil
|
||||
) {
|
||||
self.init()
|
||||
self.messageText = title
|
||||
self.alertStyle = style
|
||||
self.icon = icon
|
||||
|
||||
if let message = message {
|
||||
self.informativeText = message
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Runs the alert as a window-modal sheet, or as an app-modal (window-independent) alert if the window is `nil` or not given.
|
||||
*/
|
||||
@discardableResult
|
||||
func runModal(for window: NSWindow? = nil) -> NSApplication.ModalResponse {
|
||||
guard let window = window else {
|
||||
return runModal()
|
||||
}
|
||||
|
||||
beginSheetModal(for: window) { returnCode in
|
||||
NSApp.stopModal(withCode: returnCode)
|
||||
}
|
||||
|
||||
return NSApp.runModal(for: window)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
enum UnicodeSymbols {
|
||||
/**
|
||||
Represents the Function (Fn) key on the keybord.
|
||||
*/
|
||||
static let functionKey = "🌐\u{FE0E}"
|
||||
}
|
||||
|
||||
|
||||
extension NSEvent.ModifierFlags {
|
||||
var carbon: Int {
|
||||
var modifierFlags = 0
|
||||
|
||||
if contains(.control) {
|
||||
modifierFlags |= controlKey
|
||||
}
|
||||
|
||||
if contains(.option) {
|
||||
modifierFlags |= optionKey
|
||||
}
|
||||
|
||||
if contains(.shift) {
|
||||
modifierFlags |= shiftKey
|
||||
}
|
||||
|
||||
if contains(.command) {
|
||||
modifierFlags |= cmdKey
|
||||
}
|
||||
|
||||
return modifierFlags
|
||||
}
|
||||
|
||||
init(carbon: Int) {
|
||||
self.init()
|
||||
|
||||
if carbon & controlKey == controlKey {
|
||||
insert(.control)
|
||||
}
|
||||
|
||||
if carbon & optionKey == optionKey {
|
||||
insert(.option)
|
||||
}
|
||||
|
||||
if carbon & shiftKey == shiftKey {
|
||||
insert(.shift)
|
||||
}
|
||||
|
||||
if carbon & cmdKey == cmdKey {
|
||||
insert(.command)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// :nodoc:
|
||||
extension NSEvent.ModifierFlags: CustomStringConvertible {
|
||||
/**
|
||||
The string representation of the modifier flags.
|
||||
|
||||
```
|
||||
print(NSEvent.ModifierFlags([.command, .shift]))
|
||||
//=> "⇧⌘"
|
||||
```
|
||||
*/
|
||||
public var description: String {
|
||||
var description = ""
|
||||
|
||||
if contains(.control) {
|
||||
description += "⌃"
|
||||
}
|
||||
|
||||
if contains(.option) {
|
||||
description += "⌥"
|
||||
}
|
||||
|
||||
if contains(.shift) {
|
||||
description += "⇧"
|
||||
}
|
||||
|
||||
if contains(.command) {
|
||||
description += "⌘"
|
||||
}
|
||||
|
||||
if contains(.function) {
|
||||
description += UnicodeSymbols.functionKey
|
||||
}
|
||||
|
||||
return description
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension NSEvent.SpecialKey {
|
||||
static let functionKeys: Set<Self> = [
|
||||
.f1,
|
||||
.f2,
|
||||
.f3,
|
||||
.f4,
|
||||
.f5,
|
||||
.f6,
|
||||
.f7,
|
||||
.f8,
|
||||
.f9,
|
||||
.f10,
|
||||
.f11,
|
||||
.f12,
|
||||
.f13,
|
||||
.f14,
|
||||
.f15,
|
||||
.f16,
|
||||
.f17,
|
||||
.f18,
|
||||
.f19,
|
||||
.f20,
|
||||
.f21,
|
||||
.f22,
|
||||
.f23,
|
||||
.f24,
|
||||
.f25,
|
||||
.f26,
|
||||
.f27,
|
||||
.f28,
|
||||
.f29,
|
||||
.f30,
|
||||
.f31,
|
||||
.f32,
|
||||
.f33,
|
||||
.f34,
|
||||
.f35
|
||||
]
|
||||
|
||||
var isFunctionKey: Bool { Self.functionKeys.contains(self) }
|
||||
}
|
||||
|
||||
|
||||
enum AssociationPolicy {
|
||||
case assign
|
||||
case retainNonatomic
|
||||
case copyNonatomic
|
||||
case retain
|
||||
case copy
|
||||
|
||||
var rawValue: objc_AssociationPolicy {
|
||||
switch self {
|
||||
case .assign:
|
||||
return .OBJC_ASSOCIATION_ASSIGN
|
||||
case .retainNonatomic:
|
||||
return .OBJC_ASSOCIATION_RETAIN_NONATOMIC
|
||||
case .copyNonatomic:
|
||||
return .OBJC_ASSOCIATION_COPY_NONATOMIC
|
||||
case .retain:
|
||||
return .OBJC_ASSOCIATION_RETAIN
|
||||
case .copy:
|
||||
return .OBJC_ASSOCIATION_COPY
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final class ObjectAssociation<T: Any> {
|
||||
private let policy: AssociationPolicy
|
||||
|
||||
init(policy: AssociationPolicy = .retainNonatomic) {
|
||||
self.policy = policy
|
||||
}
|
||||
|
||||
subscript(index: AnyObject) -> T? {
|
||||
get {
|
||||
// Force-cast is fine here as we want it to fail loudly if we don't use the correct type.
|
||||
// swiftlint:disable:next force_cast
|
||||
objc_getAssociatedObject(index, Unmanaged.passUnretained(self).toOpaque()) as! T?
|
||||
}
|
||||
set {
|
||||
objc_setAssociatedObject(index, Unmanaged.passUnretained(self).toOpaque(), newValue, policy.rawValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension DispatchQueue {
|
||||
/**
|
||||
Label of the current dispatch queue.
|
||||
|
||||
- Important: Only meant for debugging purposes.
|
||||
|
||||
```
|
||||
DispatchQueue.currentQueueLabel
|
||||
//=> "com.apple.main-thread"
|
||||
```
|
||||
*/
|
||||
static var currentQueueLabel: String { String(cString: __dispatch_queue_get_label(nil)) }
|
||||
|
||||
/**
|
||||
Whether the current queue is a `NSBackgroundActivityScheduler` task.
|
||||
*/
|
||||
static var isCurrentQueueNSBackgroundActivitySchedulerQueue: Bool { currentQueueLabel.hasPrefix("com.apple.xpc.activity.") }
|
||||
}
|
||||
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension HorizontalAlignment {
|
||||
private enum ControlAlignment: AlignmentID {
|
||||
static func defaultValue(in context: ViewDimensions) -> CGFloat { // swiftlint:disable:this no_cgfloat
|
||||
context[HorizontalAlignment.center]
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate static let controlAlignment = Self(ControlAlignment.self)
|
||||
}
|
||||
|
||||
@available(macOS 10.15, *)
|
||||
extension View {
|
||||
func formLabel<Label: View>(@ViewBuilder _ label: () -> Label) -> some View {
|
||||
HStack(alignment: .firstTextBaseline) {
|
||||
label()
|
||||
labelsHidden()
|
||||
.alignmentGuide(.controlAlignment) { $0[.leading] }
|
||||
}
|
||||
.alignmentGuide(.leading) { $0[.controlAlignment] }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
import SwiftUI
|
||||
|
||||
@available(macOS 12, *)
|
||||
extension View {
|
||||
/**
|
||||
Register a listener for keyboard shortcut events with the given name.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
The listener will stop automatically when the view disappears.
|
||||
|
||||
- Note: This method is not affected by `.removeAllHandlers()`.
|
||||
*/
|
||||
@MainActor
|
||||
public func onKeyboardShortcut(_ shortcut: KeyboardShortcuts.Name, perform: @escaping (KeyboardShortcuts.EventType) -> Void) -> some View {
|
||||
task {
|
||||
for await eventType in KeyboardShortcuts.events(for: shortcut) {
|
||||
perform(eventType)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Register a listener for keyboard shortcut events with the given name and type.
|
||||
|
||||
You can safely call this even if the user has not yet set a keyboard shortcut. It will just be inactive until they do.
|
||||
|
||||
The listener will stop automatically when the view disappears.
|
||||
|
||||
- Note: This method is not affected by `.removeAllHandlers()`.
|
||||
*/
|
||||
@MainActor
|
||||
public func onKeyboardShortcut(_ shortcut: KeyboardShortcuts.Name, type: KeyboardShortcuts.EventType, perform: @escaping () -> Void) -> some View {
|
||||
task {
|
||||
for await _ in KeyboardShortcuts.events(type, for: shortcut) {
|
||||
perform()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import XCTest
|
||||
import KeyboardShortcuts
|
||||
|
||||
final class KeyboardShortcutsTests: XCTestCase {
|
||||
// TODO: Add more tests.
|
||||
|
||||
// swiftlint:disable:next overridden_super_call
|
||||
override func setUpWithError() throws {
|
||||
UserDefaults.standard.removeAll()
|
||||
}
|
||||
|
||||
func testSetShortcutAndReset() throws {
|
||||
let defaultShortcut = KeyboardShortcuts.Shortcut(.c)
|
||||
let shortcut1 = KeyboardShortcuts.Shortcut(.a)
|
||||
let shortcut2 = KeyboardShortcuts.Shortcut(.b)
|
||||
|
||||
let shortcutName1 = KeyboardShortcuts.Name("testSetShortcutAndReset1")
|
||||
let shortcutName2 = KeyboardShortcuts.Name("testSetShortcutAndReset2", default: defaultShortcut)
|
||||
|
||||
KeyboardShortcuts.setShortcut(shortcut1, for: shortcutName1)
|
||||
KeyboardShortcuts.setShortcut(shortcut2, for: shortcutName2)
|
||||
|
||||
XCTAssertEqual(KeyboardShortcuts.getShortcut(for: shortcutName1), shortcut1)
|
||||
XCTAssertEqual(KeyboardShortcuts.getShortcut(for: shortcutName2), shortcut2)
|
||||
|
||||
KeyboardShortcuts.reset(shortcutName1, shortcutName2)
|
||||
|
||||
XCTAssertNil(KeyboardShortcuts.getShortcut(for: shortcutName1))
|
||||
XCTAssertEqual(KeyboardShortcuts.getShortcut(for: shortcutName2), defaultShortcut)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import Foundation
|
||||
|
||||
extension UserDefaults {
|
||||
/**
|
||||
Remove all entries.
|
||||
|
||||
- Note: This only removes user-defined entries. System-defined entries will remain.
|
||||
*/
|
||||
public func removeAll() {
|
||||
for key in dictionaryRepresentation().keys {
|
||||
removeObject(forKey: key)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
{"variants":[{"paths":["\/documentation\/keyboardshortcuts"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":""}],"kind":"symbol","metadata":{"roleHeading":"Framework","externalID":"KeyboardShortcuts","title":"KeyboardShortcuts","symbolKind":"module","role":"collection","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[[]]},"topicSections":[{"title":"Enumerations","identifiers":["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts"]}],"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:17KeyboardShortcutsAAO9EventTypeO","extendedModule":"Swift","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/Equatable-Implementations"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/equatable-implementations"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType":{"role":"symbol","title":"KeyboardShortcuts.EventType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"EventType"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"EventType"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/!=(_:_:)"}}}
|
|
@ -1 +0,0 @@
|
|||
{"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/Equatable-Implementations","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"article","metadata":{"modules":[{"name":"KeyboardShortcuts"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType"]]},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/!=(_:_:)"],"generated":true}],"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType":{"role":"symbol","title":"KeyboardShortcuts.EventType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"EventType"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"EventType"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/!=(_:_:)"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"keyDown"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/keydown"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/keyDown","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"role":"symbol","title":"KeyboardShortcuts.EventType.keyDown","roleHeading":"Case","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"keyDown"}],"symbolKind":"case","externalID":"s:17KeyboardShortcutsAAO9EventTypeO7keyDownyA2DmF","modules":[{"name":"KeyboardShortcuts"}],"platforms":[{"beta":false,"unavailable":false,"name":"macOS","introducedAt":"10.15","deprecated":false}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType/keyDown":{"role":"symbol","title":"KeyboardShortcuts.EventType.keyDown","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"keyDown"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType\/keyDown","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype\/keydown"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/EventType":{"role":"symbol","title":"KeyboardShortcuts.EventType","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"EventType"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/EventType","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"EventType"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/eventtype"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:17KeyboardShortcutsAAO3KeyV","extendedModule":"Swift","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/Equatable-Implementations"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/!=(_:_:)"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/equatable-implementations"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"b"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/b"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/b","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"b"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"b","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1bADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/b":{"role":"symbol","title":"b","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"b"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/b","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/b"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"backslash"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/backslash"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/backslash","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"backslash"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"backslash","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV9backslashADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/backslash":{"role":"symbol","title":"backslash","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"backslash"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/backslash","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/backslash"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"d"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/d"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/d","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"d"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"d","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1dADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/d":{"role":"symbol","title":"d","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"d"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/d","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/d"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1fADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f":{"role":"symbol","title":"f","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f14"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f14"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f14","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f14"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f14","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV3f14ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f14":{"role":"symbol","title":"f14","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f14"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f14","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f14"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f16"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f16"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f16","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f16"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f16","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV3f16ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f16":{"role":"symbol","title":"f16","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f16"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f16","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f16"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f17"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f17"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f17","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f17"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f17","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV3f17ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f17":{"role":"symbol","title":"f17","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f17"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f17","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f17"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f4"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f4"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f4","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f4"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f4","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV2f4ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f4":{"role":"symbol","title":"f4","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f4"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f4","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f4"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f8"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f8","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"f8","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV2f8ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/f8":{"role":"symbol","title":"f8","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"f8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/f8","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/f8"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"function"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/function"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/function","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"function"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"function","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV8functionADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/function":{"role":"symbol","title":"function","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"function"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/function","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/function"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Create a "},{"type":"codeVoice","code":"Key"},{"type":"text","text":" from a key code."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"title":"init(rawValue:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:17KeyboardShortcutsAAO3KeyV8rawValueADSi_tcfc","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"Create a "},{"type":"codeVoice","code":"Key"},{"type":"text","text":" from a key code."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/init(rawvalue:)"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad2"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad2"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad2","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad2"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypad2","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV7keypad2ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypad2":{"role":"symbol","title":"keypad2","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad2"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad2","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad2"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad3"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad3","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypad3","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV7keypad3ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypad3":{"role":"symbol","title":"keypad3","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad3"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad3","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad3"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad7"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad7"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad7","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad7"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypad7","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV7keypad7ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypad7":{"role":"symbol","title":"keypad7","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad7"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad7","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad7"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad8"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad8","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypad8","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV7keypad8ADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypad8":{"role":"symbol","title":"keypad8","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypad8"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypad8","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypad8"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadDivide"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypaddivide"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypadDivide","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadDivide"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypadDivide","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV12keypadDivideADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypadDivide":{"role":"symbol","title":"keypadDivide","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadDivide"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypadDivide","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypaddivide"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadMultiply"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypadmultiply"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypadMultiply","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadMultiply"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"keypadMultiply","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV14keypadMultiplyADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/keypadMultiply":{"role":"symbol","title":"keypadMultiply","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"keypadMultiply"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/keypadMultiply","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/keypadmultiply"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"l"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/l"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/l","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"l"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"l","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1lADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/l":{"role":"symbol","title":"l","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"l"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/l","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/l"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"leftBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/leftbracket"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/leftBracket","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"leftBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"leftBracket","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV11leftBracketADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/leftBracket":{"role":"symbol","title":"leftBracket","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"leftBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/leftBracket","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/leftbracket"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"minus"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/minus"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/minus","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"minus"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"minus","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV5minusADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/minus":{"role":"symbol","title":"minus","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"minus"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/minus","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/minus"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/mute"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/mute","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"mute","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV4muteADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/mute":{"role":"symbol","title":"mute","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"mute"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/mute","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/mute"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"nine"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/nine"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/nine","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"nine"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"nine","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV4nineADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/nine":{"role":"symbol","title":"nine","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"nine"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/nine","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/nine"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"o"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/o"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/o","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"o"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"o","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1oADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/o":{"role":"symbol","title":"o","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"o"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/o","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/o"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"one"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/one"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/one","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"one"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"one","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV3oneADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/one":{"role":"symbol","title":"one","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"one"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/one","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/one"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"pageDown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/pagedown"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/pageDown","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"pageDown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"pageDown","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV8pageDownADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/pageDown":{"role":"symbol","title":"pageDown","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"pageDown"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/pageDown","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/pagedown"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"period"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/period"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/period","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"period"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"period","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV6periodADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/period":{"role":"symbol","title":"period","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"period"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/period","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/period"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rawrepresentable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/RawRepresentable-Implementations","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"article","metadata":{"modules":[{"name":"KeyboardShortcuts"}],"role":"collectionGroup","title":"RawRepresentable Implementations"},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/hashValue"],"generated":true},{"title":"Instance Methods","identifiers":["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/hash(into:)"],"generated":true}],"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/hashValue":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hashValue","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"hashValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/hashValue","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/hashvalue"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/hash(into:)":{"conformance":{"constraints":[{"type":"codeVoice","code":"Self"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":" and "},{"type":"codeVoice","code":"RawValue"},{"type":"text","text":" conforms to "},{"type":"codeVoice","code":"Hashable"},{"type":"text","text":"."}],"availabilityPrefix":[{"type":"text","text":"Available when"}],"conformancePrefix":[{"type":"text","text":"Conforms when"}]},"role":"symbol","title":"hash(into:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"hash"},{"kind":"text","text":"("},{"kind":"externalParam","text":"into"},{"kind":"text","text":": "},{"kind":"keyword","text":"inout"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","text":")"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/hash(into:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/hash(into:)"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rawvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rawValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"The raw key code."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"rawValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV8rawValueSivp","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/rawValue":{"role":"symbol","title":"rawValue","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"The raw key code."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rawValue","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rawvalue"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`return`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/return"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/return","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`return`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"return","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV6returnADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/return":{"role":"symbol","title":"return","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"`return`"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/return","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/return"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightArrow"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightarrow"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightArrow","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightArrow"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"rightArrow","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV10rightArrowADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/rightArrow":{"role":"symbol","title":"rightArrow","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightArrow"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightArrow","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightarrow"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightbracket"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightBracket","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"rightBracket","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV12rightBracketADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/rightBracket":{"role":"symbol","title":"rightBracket","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightBracket"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightBracket","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightbracket"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightOption"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightoption"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightOption","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightOption"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"rightOption","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV11rightOptionADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/rightOption":{"role":"symbol","title":"rightOption","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightOption"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightOption","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightoption"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightShift"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightshift"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightShift","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightShift"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"rightShift","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV10rightShiftADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/rightShift":{"role":"symbol","title":"rightShift","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rightShift"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/rightShift","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/rightshift"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"semicolon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/semicolon"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/semicolon","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"semicolon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"semicolon","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV9semicolonADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/semicolon":{"role":"symbol","title":"semicolon","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"semicolon"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/semicolon","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/semicolon"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"tab"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/tab"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/tab","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"tab"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"tab","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV3tabADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/tab":{"role":"symbol","title":"tab","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"tab"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/tab","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/tab"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"v"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO","text":"KeyboardShortcuts"},{"kind":"text","text":"."},{"kind":"typeIdentifier","identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV","text":"Key"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/v"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/v","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"v"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"title":"v","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO3KeyV1vADvpZ","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key":{"role":"symbol","title":"KeyboardShortcuts.Key","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Key"}],"abstract":[{"type":"text","text":"Represents a key on the keyboard."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Key"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Key/v":{"role":"symbol","title":"v","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"v"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"KeyboardShortcuts","preciseIdentifier":"s:17KeyboardShortcutsAAO"},{"kind":"text","text":"."},{"kind":"typeIdentifier","text":"Key","preciseIdentifier":"s:17KeyboardShortcutsAAO3KeyV"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Key\/v","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/key\/v"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"internalParam","text":"lhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"internalParam","text":"rhs"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/!=(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/!=(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Equatable.!=(_:_:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"!=(_:_:)","roleHeading":"Operator","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"symbolKind":"op","externalID":"s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:17KeyboardShortcutsAAO4NameV","extendedModule":"Swift","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/Equatable-Implementations"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name":{"role":"symbol","title":"KeyboardShortcuts.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[{"type":"text","text":"The strongly-typed name of the keyboard shortcut."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/Equatable-Implementations":{"role":"collectionGroup","title":"Equatable Implementations","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/Equatable-Implementations","kind":"article","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/equatable-implementations"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/!=(_:_:)"}}}
|
|
@ -1 +0,0 @@
|
|||
{"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/Equatable-Implementations","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"No overview available."}],"kind":"article","metadata":{"modules":[{"name":"KeyboardShortcuts"}],"role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name"]]},"topicSections":[{"title":"Operators","identifiers":["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/!=(_:_:)"],"generated":true}],"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name":{"role":"symbol","title":"KeyboardShortcuts.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[{"type":"text","text":"The strongly-typed name of the keyboard shortcut."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/!=(_:_:)":{"role":"symbol","title":"!=(_:_:)","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/!=(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/!=(_:_:)"}}}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/init(rawvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/init(rawValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":":nodoc:"}],"kind":"symbol","metadata":{"role":"symbol","title":"init(rawValue:)","roleHeading":"Initializer","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"symbolKind":"init","externalID":"s:17KeyboardShortcutsAAO4NameV8rawValueADSgSS_tcfc","extendedModule":"KeyboardShortcuts","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/RawRepresentable-Implementations"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/init(rawValue:)":{"role":"symbol","title":"init(rawValue:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"?("},{"kind":"externalParam","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":":nodoc:"}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/init(rawValue:)","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/init(rawvalue:)"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/RawRepresentable-Implementations":{"role":"collectionGroup","title":"RawRepresentable Implementations","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/RawRepresentable-Implementations","kind":"article","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/rawrepresentable-implementations"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name":{"role":"symbol","title":"KeyboardShortcuts.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[{"type":"text","text":"The strongly-typed name of the keyboard shortcut."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name"}}}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/rawvalue"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/rawValue","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"RawRepresentable.rawValue"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"rawValue","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO4NameV8rawValueSSvp","modules":[{"name":"KeyboardShortcuts"}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name/rawValue":{"role":"symbol","title":"rawValue","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"rawValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name\/rawValue","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name\/rawvalue"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Name":{"role":"symbol","title":"KeyboardShortcuts.Name","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Name"}],"abstract":[{"type":"text","text":"The strongly-typed name of the keyboard shortcut."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Name","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Name"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/name"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"}}}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["macOS"]}]}],"schemaVersion":{"major":0,"minor":2,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/keyboardshortcuts\/keyboardshortcuts\/recorder\/body"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Recorder\/body","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"View.body"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"role":"symbol","title":"body","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"symbolKind":"property","externalID":"s:17KeyboardShortcutsAAO8RecorderV4bodyQrvp","modules":[{"name":"KeyboardShortcuts"}],"platforms":[{"beta":false,"unavailable":false,"name":"macOS","introducedAt":"10.15","deprecated":false}]},"hierarchy":{"paths":[["doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Recorder"]]},"references":{"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Recorder/body":{"role":"symbol","title":"body","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"body"},{"kind":"text","text":": "},{"kind":"keyword","text":"some"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"View","preciseIdentifier":"s:7SwiftUI4ViewP"}],"abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Recorder\/body","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/recorder\/body"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts":{"role":"collection","title":"KeyboardShortcuts","abstract":[],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts","kind":"symbol","type":"topic","url":"\/documentation\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts":{"role":"symbol","title":"KeyboardShortcuts","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"KeyboardShortcuts"}],"abstract":[{"type":"text","text":"Global keyboard shortcuts for your macOS app."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"KeyboardShortcuts"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts"},"doc://KeyboardShortcuts/documentation/KeyboardShortcuts/KeyboardShortcuts/Recorder":{"role":"symbol","title":"KeyboardShortcuts.Recorder","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Recorder"}],"abstract":[{"type":"text","text":"A SwiftUI "},{"type":"codeVoice","code":"View"},{"type":"text","text":" that lets the user record a keyboard shortcut."}],"identifier":"doc:\/\/KeyboardShortcuts\/documentation\/KeyboardShortcuts\/KeyboardShortcuts\/Recorder","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Recorder"}],"url":"\/documentation\/keyboardshortcuts\/keyboardshortcuts\/recorder"}}}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue