{"id":18270607,"url":"https://github.com/adamhoracek/KOKeyboard","last_synced_at":"2025-04-05T01:30:43.125Z","repository":{"id":4305519,"uuid":"5437728","full_name":"adamhoracek/KOKeyboard","owner":"adamhoracek","description":null,"archived":false,"fork":false,"pushed_at":"2012-08-16T11:06:03.000Z","size":161,"stargazers_count":346,"open_issues_count":5,"forks_count":54,"subscribers_count":51,"default_branch":"master","last_synced_at":"2025-04-02T06:13:49.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamhoracek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-16T10:37:06.000Z","updated_at":"2024-12-18T11:57:23.000Z","dependencies_parsed_at":"2022-09-08T14:12:44.084Z","dependency_job_id":null,"html_url":"https://github.com/adamhoracek/KOKeyboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhoracek%2FKOKeyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhoracek%2FKOKeyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhoracek%2FKOKeyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhoracek%2FKOKeyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamhoracek","download_url":"https://codeload.github.com/adamhoracek/KOKeyboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276032,"owners_count":20912285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T11:38:45.733Z","updated_at":"2025-04-05T01:30:42.776Z","avatar_url":"https://github.com/adamhoracek.png","language":"Objective-C","funding_links":[],"categories":["etc"],"sub_categories":[],"readme":"KOKeyboard – iOS keyboard extension\r\n===================================\r\n\r\n**KOKeyboard** is an iOS drop-in component that adds a new row of keys to the default on-screen keyboard. It consists of swipe buttons with all common symbols, punctuation and brackets, and a special **navigation key**. It was developed for [Kodiak PHP](http://www.becomekodiak.com/), an app which allows you to write and run PHP code directly on the iPad.\r\n\r\n\u003cimg src=\"http://i.imgur.com/N7nQY.png\"\u003e\r\n\r\nSwipe buttons \u0026 Navigation key\r\n-------------\r\n\r\nA swipe button has 5 symbols on it. If you simply tap it, it will produce the middle symbol. However if you swipe it (tap-and-drag) towards one of the corners, it will produce the symbol in that corner.\r\n\r\nThe navigation key (the middle one with a circle on it) allows you to navigate in the text by moving the cursor in a direction where you drag. If you drag the navigation key, the cursor will move the same way as you drag. If you double tap and drag it will start selecting text from your current position.\r\n\r\nTo see the component in action, take a look at the video at [http://www.becomekodiak.com/](http://www.becomekodiak.com/) or try our app called [Kodiak PHP on the App Store](http://itunes.apple.com/us/app/kodiak-php/id542685332?ls=1\u0026mt=8).\r\n\r\nUsage\r\n-----\r\n\r\nWe included a demo project that shows how to use the component.\r\n\r\nFirst you should have a simple UITextView. To use this component, include the header file `KOKeyboardRow.h` in the top of your source code:\r\n\r\n\t#import \"KOKeyboardRow.h\"\r\n\r\nThen when you have a UITextView, simply call the static method `[KOKeyboardRow applyToTextView:yourTextView]`:\r\n\r\n\tUITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds];\r\n\ttextView.text = @\"some text...\";\r\n\t[self.view addSubview:textView];\r\n\t[KOKeyboardRow applyToTextView:textView];\r\n\r\nYou will see the additional keyboard after the UITextView gets focus, if you want to do that programmatically, just do this:\r\n\r\n\t[textView becomeFirstResponder];\r\n\r\nAnd that's it!\r\n\r\nCopyright and license\r\n---------------------\r\n\r\nThis product is free and open source and it is distributed under the MIT License. See the file `LICENSE` for the complete text of the license.\r\n\r\nContact\r\n-------\r\n\r\nhttp://www.becomekodiak.com/\u003cbr /\u003e\r\nhttp://www.twitter.com/becomekodiak/\u003cbr /\u003e\r\ninfo@becomekodiak.com\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamhoracek%2FKOKeyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamhoracek%2FKOKeyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamhoracek%2FKOKeyboard/lists"}