├── README.md ├── bin └── libxkbswitch.dylib ├── libxkbswitch.c ├── libxkbswitch.h └── libxkbswitch.xcodeproj ├── project.pbxproj ├── project.xcworkspace ├── contents.xcworkspacedata ├── xcshareddata │ └── libxkbswitch.xccheckout └── xcuserdata │ └── myshov.xcuserdatad │ └── WorkspaceSettings.xcsettings └── xcuserdata ├── alecm.xcuserdatad └── xcschemes │ ├── libxkbswitch.xcscheme │ ├── libxkbswitch_release.xcscheme │ └── xcschememanagement.plist └── myshov.xcuserdatad └── xcschemes ├── libxkbswitch.xcscheme └── xcschememanagement.plist /README.md: -------------------------------------------------------------------------------- 1 | #Libxkbswitch-macosx 2 | 3 | Mac OS X library for [vim-xkbswitch](https://github.com/lyokha/vim-xkbswitch) plugin 4 | 5 | ##Usage: 6 | * This library uses [xkbswitch-macosx](https://github.com/myshov/xkbswitch-macosx) - console utility for keyboard layout 7 | switching. Put executable file of it in any directory in your $PATH variable, 8 | for example, in `/usr/local/bin`. 9 | * Put library libxkbswitch.dylib (you can find compiled version of it in bin 10 | directory) to `/usr/local/lib` path. 11 | 12 | ##License 13 | The MIT License (MIT) 14 | 15 | Copyright (c) 2015 Alexander Myshov 16 | 17 | Permission is hereby granted, free of charge, to any person obtaining a copy 18 | of this software and associated documentation files (the "Software"), to deal 19 | in the Software without restriction, including without limitation the rights 20 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 21 | copies of the Software, and to permit persons to whom the Software is 22 | furnished to do so, subject to the following conditions: 23 | 24 | The above copyright notice and this permission notice shall be included in all 25 | copies or substantial portions of the Software. 26 | 27 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 28 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 29 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 30 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 31 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 32 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 33 | SOFTWARE. 34 | -------------------------------------------------------------------------------- /bin/libxkbswitch.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/myshov/libxkbswitch-macosx/868630e950a4b3b7dce94d6349aaeab693f659a8/bin/libxkbswitch.dylib -------------------------------------------------------------------------------- /libxkbswitch.c: -------------------------------------------------------------------------------- 1 | // Libxkbswitch - Mac OS X library for vim-xkbswitch 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2015 Alexander Myshov 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in all 15 | // copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | // SOFTWARE. 24 | 25 | #import "stdio.h" 26 | #import "string.h" 27 | #import "stdlib.h" 28 | #import "libxkbswitch.h" 29 | 30 | 31 | const char * Xkb_Switch_setXkbLayout( const char * param ) { 32 | char command[100] = ""; 33 | strcat(command, "/usr/local/bin/xkbswitch -s "); 34 | strcat(command, param); 35 | 36 | system(command); 37 | 38 | return ""; 39 | } 40 | 41 | const char * Xkb_Switch_getXkbLayout( const char * param ) { 42 | FILE *fp; 43 | static char result[100]; 44 | 45 | fp = popen("/usr/local/bin/xkbswitch -g", "r"); 46 | if (fp == NULL) { 47 | printf("Failed to run command\n" ); 48 | exit(1); 49 | } 50 | 51 | fgets(result, sizeof(result)-1, fp); 52 | pclose(fp); 53 | return result; 54 | } -------------------------------------------------------------------------------- /libxkbswitch.h: -------------------------------------------------------------------------------- 1 | // Libxkbswitch - Mac OS X library for vim-xkbswitch 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2015 Alexander Myshov 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in all 15 | // copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | // SOFTWARE. 24 | 25 | const char * Xkb_Switch_setXkbLayout( const char * param ); 26 | const char * Xkb_Switch_getXkbLayout( const char * param ); 27 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | B0053BBE1A5703E200B2EB8F /* libxkbswitch.c in Sources */ = {isa = PBXBuildFile; fileRef = B0053BBC1A5703E200B2EB8F /* libxkbswitch.c */; }; 11 | B0053BBF1A5703E200B2EB8F /* libxkbswitch.h in Headers */ = {isa = PBXBuildFile; fileRef = B0053BBD1A5703E200B2EB8F /* libxkbswitch.h */; }; 12 | /* End PBXBuildFile section */ 13 | 14 | /* Begin PBXFileReference section */ 15 | B0053BB51A5703BB00B2EB8F /* liblibxkbswitch.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = liblibxkbswitch.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 16 | B0053BBC1A5703E200B2EB8F /* libxkbswitch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = libxkbswitch.c; sourceTree = ""; }; 17 | B0053BBD1A5703E200B2EB8F /* libxkbswitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libxkbswitch.h; sourceTree = ""; }; 18 | /* End PBXFileReference section */ 19 | 20 | /* Begin PBXFrameworksBuildPhase section */ 21 | B0053BB21A5703BB00B2EB8F /* Frameworks */ = { 22 | isa = PBXFrameworksBuildPhase; 23 | buildActionMask = 2147483647; 24 | files = ( 25 | ); 26 | runOnlyForDeploymentPostprocessing = 0; 27 | }; 28 | /* End PBXFrameworksBuildPhase section */ 29 | 30 | /* Begin PBXGroup section */ 31 | B0053BAC1A5703BB00B2EB8F = { 32 | isa = PBXGroup; 33 | children = ( 34 | B0053BBC1A5703E200B2EB8F /* libxkbswitch.c */, 35 | B0053BBD1A5703E200B2EB8F /* libxkbswitch.h */, 36 | B0053BB61A5703BB00B2EB8F /* Products */, 37 | ); 38 | sourceTree = ""; 39 | }; 40 | B0053BB61A5703BB00B2EB8F /* Products */ = { 41 | isa = PBXGroup; 42 | children = ( 43 | B0053BB51A5703BB00B2EB8F /* liblibxkbswitch.dylib */, 44 | ); 45 | name = Products; 46 | sourceTree = ""; 47 | }; 48 | /* End PBXGroup section */ 49 | 50 | /* Begin PBXHeadersBuildPhase section */ 51 | B0053BB31A5703BB00B2EB8F /* Headers */ = { 52 | isa = PBXHeadersBuildPhase; 53 | buildActionMask = 2147483647; 54 | files = ( 55 | B0053BBF1A5703E200B2EB8F /* libxkbswitch.h in Headers */, 56 | ); 57 | runOnlyForDeploymentPostprocessing = 0; 58 | }; 59 | /* End PBXHeadersBuildPhase section */ 60 | 61 | /* Begin PBXNativeTarget section */ 62 | B0053BB41A5703BB00B2EB8F /* libxkbswitch */ = { 63 | isa = PBXNativeTarget; 64 | buildConfigurationList = B0053BB91A5703BB00B2EB8F /* Build configuration list for PBXNativeTarget "libxkbswitch" */; 65 | buildPhases = ( 66 | B0053BB11A5703BB00B2EB8F /* Sources */, 67 | B0053BB21A5703BB00B2EB8F /* Frameworks */, 68 | B0053BB31A5703BB00B2EB8F /* Headers */, 69 | ); 70 | buildRules = ( 71 | ); 72 | dependencies = ( 73 | ); 74 | name = libxkbswitch; 75 | productName = libxkbswitch; 76 | productReference = B0053BB51A5703BB00B2EB8F /* liblibxkbswitch.dylib */; 77 | productType = "com.apple.product-type.library.dynamic"; 78 | }; 79 | /* End PBXNativeTarget section */ 80 | 81 | /* Begin PBXProject section */ 82 | B0053BAD1A5703BB00B2EB8F /* Project object */ = { 83 | isa = PBXProject; 84 | attributes = { 85 | LastUpgradeCheck = 0630; 86 | ORGANIZATIONNAME = "Alexander Myshov"; 87 | TargetAttributes = { 88 | B0053BB41A5703BB00B2EB8F = { 89 | CreatedOnToolsVersion = 6.1.1; 90 | }; 91 | }; 92 | }; 93 | buildConfigurationList = B0053BB01A5703BB00B2EB8F /* Build configuration list for PBXProject "libxkbswitch" */; 94 | compatibilityVersion = "Xcode 3.2"; 95 | developmentRegion = English; 96 | hasScannedForEncodings = 0; 97 | knownRegions = ( 98 | en, 99 | ); 100 | mainGroup = B0053BAC1A5703BB00B2EB8F; 101 | productRefGroup = B0053BB61A5703BB00B2EB8F /* Products */; 102 | projectDirPath = ""; 103 | projectRoot = ""; 104 | targets = ( 105 | B0053BB41A5703BB00B2EB8F /* libxkbswitch */, 106 | ); 107 | }; 108 | /* End PBXProject section */ 109 | 110 | /* Begin PBXSourcesBuildPhase section */ 111 | B0053BB11A5703BB00B2EB8F /* Sources */ = { 112 | isa = PBXSourcesBuildPhase; 113 | buildActionMask = 2147483647; 114 | files = ( 115 | B0053BBE1A5703E200B2EB8F /* libxkbswitch.c in Sources */, 116 | ); 117 | runOnlyForDeploymentPostprocessing = 0; 118 | }; 119 | /* End PBXSourcesBuildPhase section */ 120 | 121 | /* Begin XCBuildConfiguration section */ 122 | B0053BB71A5703BB00B2EB8F /* Debug */ = { 123 | isa = XCBuildConfiguration; 124 | buildSettings = { 125 | ALWAYS_SEARCH_USER_PATHS = NO; 126 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 127 | CLANG_CXX_LIBRARY = "libc++"; 128 | CLANG_ENABLE_MODULES = YES; 129 | CLANG_ENABLE_OBJC_ARC = YES; 130 | CLANG_WARN_BOOL_CONVERSION = YES; 131 | CLANG_WARN_CONSTANT_CONVERSION = YES; 132 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 133 | CLANG_WARN_EMPTY_BODY = YES; 134 | CLANG_WARN_ENUM_CONVERSION = YES; 135 | CLANG_WARN_INT_CONVERSION = YES; 136 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 137 | CLANG_WARN_UNREACHABLE_CODE = YES; 138 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 139 | COPY_PHASE_STRIP = NO; 140 | ENABLE_STRICT_OBJC_MSGSEND = YES; 141 | GCC_C_LANGUAGE_STANDARD = gnu99; 142 | GCC_DYNAMIC_NO_PIC = NO; 143 | GCC_OPTIMIZATION_LEVEL = 0; 144 | GCC_PREPROCESSOR_DEFINITIONS = ( 145 | "DEBUG=1", 146 | "$(inherited)", 147 | ); 148 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 149 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 150 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 151 | GCC_WARN_UNDECLARED_SELECTOR = YES; 152 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 153 | GCC_WARN_UNUSED_FUNCTION = YES; 154 | GCC_WARN_UNUSED_VARIABLE = YES; 155 | MACOSX_DEPLOYMENT_TARGET = 10.9; 156 | MTL_ENABLE_DEBUG_INFO = YES; 157 | ONLY_ACTIVE_ARCH = YES; 158 | SDKROOT = macosx; 159 | }; 160 | name = Debug; 161 | }; 162 | B0053BB81A5703BB00B2EB8F /* Release */ = { 163 | isa = XCBuildConfiguration; 164 | buildSettings = { 165 | ALWAYS_SEARCH_USER_PATHS = NO; 166 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 167 | CLANG_CXX_LIBRARY = "libc++"; 168 | CLANG_ENABLE_MODULES = YES; 169 | CLANG_ENABLE_OBJC_ARC = YES; 170 | CLANG_WARN_BOOL_CONVERSION = YES; 171 | CLANG_WARN_CONSTANT_CONVERSION = YES; 172 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 173 | CLANG_WARN_EMPTY_BODY = YES; 174 | CLANG_WARN_ENUM_CONVERSION = YES; 175 | CLANG_WARN_INT_CONVERSION = YES; 176 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 177 | CLANG_WARN_UNREACHABLE_CODE = YES; 178 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 179 | COPY_PHASE_STRIP = YES; 180 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 181 | ENABLE_NS_ASSERTIONS = NO; 182 | ENABLE_STRICT_OBJC_MSGSEND = YES; 183 | GCC_C_LANGUAGE_STANDARD = gnu99; 184 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 185 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 186 | GCC_WARN_UNDECLARED_SELECTOR = YES; 187 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 188 | GCC_WARN_UNUSED_FUNCTION = YES; 189 | GCC_WARN_UNUSED_VARIABLE = YES; 190 | MACOSX_DEPLOYMENT_TARGET = 10.9; 191 | MTL_ENABLE_DEBUG_INFO = NO; 192 | SDKROOT = macosx; 193 | }; 194 | name = Release; 195 | }; 196 | B0053BBA1A5703BB00B2EB8F /* Debug */ = { 197 | isa = XCBuildConfiguration; 198 | buildSettings = { 199 | COMBINE_HIDPI_IMAGES = YES; 200 | DYLIB_COMPATIBILITY_VERSION = 1; 201 | DYLIB_CURRENT_VERSION = 1; 202 | EXECUTABLE_PREFIX = lib; 203 | PRODUCT_NAME = "$(TARGET_NAME)"; 204 | }; 205 | name = Debug; 206 | }; 207 | B0053BBB1A5703BB00B2EB8F /* Release */ = { 208 | isa = XCBuildConfiguration; 209 | buildSettings = { 210 | COMBINE_HIDPI_IMAGES = YES; 211 | DYLIB_COMPATIBILITY_VERSION = 1; 212 | DYLIB_CURRENT_VERSION = 1; 213 | EXECUTABLE_PREFIX = lib; 214 | PRODUCT_NAME = "$(TARGET_NAME)"; 215 | }; 216 | name = Release; 217 | }; 218 | /* End XCBuildConfiguration section */ 219 | 220 | /* Begin XCConfigurationList section */ 221 | B0053BB01A5703BB00B2EB8F /* Build configuration list for PBXProject "libxkbswitch" */ = { 222 | isa = XCConfigurationList; 223 | buildConfigurations = ( 224 | B0053BB71A5703BB00B2EB8F /* Debug */, 225 | B0053BB81A5703BB00B2EB8F /* Release */, 226 | ); 227 | defaultConfigurationIsVisible = 0; 228 | defaultConfigurationName = Release; 229 | }; 230 | B0053BB91A5703BB00B2EB8F /* Build configuration list for PBXNativeTarget "libxkbswitch" */ = { 231 | isa = XCConfigurationList; 232 | buildConfigurations = ( 233 | B0053BBA1A5703BB00B2EB8F /* Debug */, 234 | B0053BBB1A5703BB00B2EB8F /* Release */, 235 | ); 236 | defaultConfigurationIsVisible = 0; 237 | defaultConfigurationName = Release; 238 | }; 239 | /* End XCConfigurationList section */ 240 | }; 241 | rootObject = B0053BAD1A5703BB00B2EB8F /* Project object */; 242 | } 243 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/project.xcworkspace/xcshareddata/libxkbswitch.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 00EDD4E4-8981-4A63-B3EA-9610B3307FFF 9 | IDESourceControlProjectName 10 | libxkbswitch 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 871711839BFCD60C6174F8F70FDC7B91EF3088A6 14 | https://github.com/myshov/libxkbswitch-macosx.git 15 | 16 | IDESourceControlProjectPath 17 | libxkbswitch.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 871711839BFCD60C6174F8F70FDC7B91EF3088A6 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/myshov/libxkbswitch-macosx.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 871711839BFCD60C6174F8F70FDC7B91EF3088A6 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 871711839BFCD60C6174F8F70FDC7B91EF3088A6 36 | IDESourceControlWCCName 37 | libxkbswitch 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/project.xcworkspace/xcuserdata/myshov.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/xcuserdata/alecm.xcuserdatad/xcschemes/libxkbswitch.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/xcuserdata/alecm.xcuserdatad/xcschemes/libxkbswitch_release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/xcuserdata/alecm.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | libxkbswitch.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | libxkbswitch_release.xcscheme 13 | 14 | orderHint 15 | 1 16 | 17 | 18 | SuppressBuildableAutocreation 19 | 20 | B0053BB41A5703BB00B2EB8F 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/xcuserdata/myshov.xcuserdatad/xcschemes/libxkbswitch.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 42 | 43 | 49 | 50 | 51 | 52 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /libxkbswitch.xcodeproj/xcuserdata/myshov.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | libxkbswitch.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | B0053BB41A5703BB00B2EB8F 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | --------------------------------------------------------------------------------