All Projects → kylehowells → SwipeSelection

kylehowells / SwipeSelection

Licence: other
An improvement to iOS's text editing that allows you to move the cursor and select text using gestures on the keyboard itself.

Programming Languages

Objective-C++
1391 projects
objective c
16641 projects - #2 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to SwipeSelection

Swipeselection
An improvement to iOS's text editing that allows you to move the cursor and select text using gestures on the keyboard itself.
Stars: ✭ 97 (-2.02%)
Mutual labels:  keyboard, theos
global-keypress
Global key press event emitter.
Stars: ✭ 25 (-74.75%)
Mutual labels:  keyboard
mobilegoose
Desktop Goose but for iOS
Stars: ✭ 25 (-74.75%)
Mutual labels:  theos
OttoKeyboardView
自定义键盘,支持数字、小数点、身份证、十六进制键盘、随机布局的安全数字键盘
Stars: ✭ 62 (-37.37%)
Mutual labels:  keyboard
lumberjack-keyboard
5x12 ortholinear through-hole component keyboard PCB for standard 60% cases
Stars: ✭ 231 (+133.33%)
Mutual labels:  keyboard
ShortcutJS
Keyboard manager for javascript and typescript, made for humans 😎
Stars: ✭ 26 (-73.74%)
Mutual labels:  keyboard
kiibohd-animation-generator
Node.js script for generating animations for kiibohd configurator import
Stars: ✭ 13 (-86.87%)
Mutual labels:  keyboard
creviceapp
Multi purpose utility which supports gestures with mouse and keyboard.
Stars: ✭ 22 (-77.78%)
Mutual labels:  keyboard
waffling60
Multi layout 60% PCB with support for common ANSI and ISO layouts and split space. SE-version is for use in Polaris, DB-version for use in Bakeneko/Kei.
Stars: ✭ 42 (-57.58%)
Mutual labels:  keyboard
react-keyview
React components to display the list, table, and grid, without scrolling, use the keyboard keys to navigate through the data
Stars: ✭ 16 (-83.84%)
Mutual labels:  keyboard
KeyLy
A powerfull and awesome Keylogger(Your keyboard and your mouse) realy helpfull for hackers! :-P (C/C++)
Stars: ✭ 17 (-82.83%)
Mutual labels:  keyboard
hotscript
HotScript - Revolutionizing how Windows works.
Stars: ✭ 29 (-70.71%)
Mutual labels:  keyboard
Medusa
Ble 5x7 Ortholinear Keyboard
Stars: ✭ 28 (-71.72%)
Mutual labels:  keyboard
keyswitch-kicad-library
Footprints for popular keyboard switches
Stars: ✭ 163 (+64.65%)
Mutual labels:  keyboard
reviung41-build-guide
Build guide for the Reviung41 keyboard.
Stars: ✭ 16 (-83.84%)
Mutual labels:  keyboard
dometyl-keyboard
A parametric generator for designing split, concave, ergonomic keyboards written in ocaml.
Stars: ✭ 84 (-15.15%)
Mutual labels:  keyboard
FN-key-lock
A Script/Program to simulate hardware F key lock on F1-F12 keys with custom controls and visible lock notifications.
Stars: ✭ 25 (-74.75%)
Mutual labels:  keyboard
ucollage
An extensible command line image viewer inspired by vim
Stars: ✭ 161 (+62.63%)
Mutual labels:  keyboard
swipe-keyboard
Swype type keyboard module for simple-keyboard
Stars: ✭ 32 (-67.68%)
Mutual labels:  keyboard
keyboard
Maliit Keyboard, a free software virtual keyboard for Linux
Stars: ✭ 63 (-36.36%)
Mutual labels:  keyboard

SwipeSelection Beta ( ≥ iOS 9)

Explanation of the differnt folders in this repo.

Cydia Version: This directory contains the NEW SwipeSelection & SwipeSelection code we will be releasing.

Lupinus: This directory has your fork of the free SwipeSelection with the trackpad mode added.

SwipeSelection Xcode: This contains my experiement to run SwipeSelection on unjailbroken devices.

SwipeSelection: This is the SwipeSelection code for the version currently in Cydia.

SwipeSelection Pro: This is the SwipeSelection Pro code for the version currently in Cydia.

Lupinus by GaryniL

TODO: Add SwipeSelection Features

Btw: The SwipeSelection code is a bit of a mess. I rewrote it and cleaned it up in SwipeSelection Pro. I only kept SwipeSelection the way it is for backwards compatibility with iOS 4 and 5. As this version won't need to support anything below iOS 9 we should base it on SwipeSelection Pro's code.

  1. Proof of concept

  2. Start selecting text when starting dragging from the shift or delete keys.

  3. Don't trigger delete on touch down, only touch up or long press.

  4. Don't trigger if the starting key is the 123 key, or world key.

  5. When selecting text pick the first cursor if the user begins the swipe going left, or up.

  6. When selecting pick the second cursor if the users swipe starts by going right, or down.

  7. When selecting text, did it need to cancel previous select text range?

  8. Look into how to make the keyboard change into the trackpad mode (-setDimmed: is not it)

  9. Solve the problem conflicting with buildin version (only enable one at a time)

Question

  • Todo 2: Please help me check if the recent version (0227) is same as SS

  • Todo 3: Not really get what this means, but I implement it with method same as SS code on Github

  • Todo 4: Is the world key means international keys? If it does, I finished.
    Yes, I said "world" key because iOS uses an icon of the globe for that key.

  • Todo 5&6: Please check the recent version

  • Todo 7: What do you think about this question?

  • Todo 8: I tried to figure out how to make it, however, didn't find out. I think I will try to figure it out in future work.

Progress

  • 0227 Gary Finished selecting text with shift and delete key

Keyboard Behaviours

There are a few subtle keyboard behaviours I've added over time to SwipeSelection (added as people have complained I broke them).

Quick Access to Numbers

Using a latin based keyboard layout (English) you can tough down on the "123" key. The keyboard will instantly change to the numbers keyboard. If you keep your finger pressed down you can: swipe over, select a number, lift your finger and the keyboard will type that key and instantly return to the letters keyboard.
This allows quick access to the numbers keyboard and so I disable SwipeSelection from starting if the user starts by touching the "more" key.

Handwriting

SwipeSelection breaks handwriting keyboards, used mostly by some asian languages. So it gets disabled if the keyboard is a handwriting keyboard.

Viber

The chat app "Viber" has (had?) a custom text view that crashes with SwipeSelection. So I diable it for that text view. VBEmoticonsContentTextView

Emoji

The Emoji keyboard is just a scroll view with emoji's listed. SwipeSelection used to trigger when you scrolled the emoji view (I can't remember how I fixed that).

SwipeSelection Behaviour

As well as keyboard behaviour we need to avoid breaking there are some ways SwipeSelection changes the keyboard.

Selection Keys

Although the original concept video used only the shift key, it's useful on the iPhone to be able to drag from either side of the keyboard to select text (so the "shift", "delete" keys on English keyboard, and the "delete" and "ء" keys on Arabic? keyboards (I've forgotten what language I added that for).

Moving the cursor

When you move the cursor with SwipeSelection it should start from as far in the direction the user is going as possible.
So if there is an existing select range when the user starts moving the cursor left we should pick the left most (the start point in English) position to start the cursor from and invalidate the existing selection range.
If the user swipes down the bottom point of the selection should be taken as the starting point for the cursor to move from.

Selection

When you select text with SwipeSelection and there is an existing select range it should follow a similar pattern as when moving the cursor, except it extends the existing selection range.
So if the user swipes down the bottom point of the existing selection range will be the part that moves, leaving the upper start point where it is.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].