[Xposed Framework Modules] Roughy:
Detailed Instructions

Below are detailed explanations of all the features and how to configure them.

NOTE: These instructions are severely out of date. Maybe check the release posts of the updates if you're after something specific

Shift / Delete / Modifier keys

The shift, delete, and modifier keys will be referred to frequently in these explanations.

The modifier is like a ctrl key, which by default is mapped to the symbols key (123 - switch to the symbols layout).

This mapping is configurable, and you can add and remove multiple keys as you see fit.

Likewise, what this module considers to be the shift/delete keys is up to you.

These mappings can be configured in settings under Keys.

Key Defintions

Keys can be defined by content or function, such as spacebar or enter key.

Keys which are defined by their content are identified by their display string.

That means that a key that the content of a key that displays as "A" is also "A".

This also applies to the more exotic Asian layouts.

There are some exceptions, such as the Japanese long-vowel ( ー ) key using a normal hyphen ( - ) instead.

Swipe

Settings - Specify swipe threshold and speed:

Threshold - This slider specifies how far you have to swipe before swipe-mode is triggered. The |--| bar above the slider displays the actual physical distance on screen.

Speed - This slider specifies how fast the cursor moves. The number of characters above the bar show how far the cursor will move when swiped that distance.

Swipe mode - how and where to swipe:

Swipe Anywhere - Swipe mode can be triggered by swiping anywhere, except for on the spacebar or enter keys. Swiftkey's flow and swipe gestures interfere with swipe selection in this mode, and are therefore disabled.

Swipe on Spacebar - Swipe will only trigger on the spacebar. This means you can use flow and swipe-gestures are normal. You can still switch between languages as usual, but have to wait the popup to appear before swiping to select it.

Hold any and Swipe - Swiping requires two fingers. Hold down one finger and use the second to swipe.

Hold Shift and Swipe - Swiping requires two fingers. Hold down one finger on the shift key and use the second to swipe.

Selection Mode - how to swipe-select text

.

Two-finger Gesture - Select text by using two-finger pinch and zoom gestures.

Swipe from shift/delete - Swipe from the shift key to select to the right, from the delete key to select to the left. What keys are treated as shift/delete can be configured under Keys.

Spacebar Swipe-up mode- Behavior when swiping up from space

.

Quick-menu - Swiping up from the spacebar will display a circular quick-action menu with select all / copy / paste / go-to-end. This menu is currently not customizable.

Hotkeys - You can swipe from the spacebar to any of the keys defined in in the Hotkeys tab, and trigger their corresponding action.

Emoji

Overview:

The emoji panel tab is split into two sections:

Top: A list of panels you can choose emoji from. This is also where imported emoji will first appear.

Bottom: The panels that will appear inside Swiftkey.

The existing templates in the top pane cannot be modified or deleted, as we may make additions to them as Android evolves.

You can create a new panel here to manually input emoji, or create a new panel by importing from a line-break delimited file.

In the bottom pane you can add or remove panels as you see fit, and add emoji (individually or by selecting add-all from the menu) from the templates in the top pane.

The one exception is the Recent Emoji panel (Denoted by a clock icon), which you may only change the position or icon of.

Setting icon and position:

Any of the panels can be renamed or moved around by long clicking on them.

You may also hit the pick button to choose an icon from any of the existing emoji panels.

Setting row count:

By selecting Column Size from the menu, you can specify the column width for each emoji panel.

Dictionary

Overview:

The dictionary tab lets you specify shortcut - word mappings.

In the above screenshot the shortcut is "xx", and typing it in the keyboard results in all the nested words showing up as suggestions.

This is particularly powerful when combined with the More Suggestions feature, allowing you to scroll through all of them.

Swiftkey's existing shortcut solution will only trigger if you spell out the trigger verbatim. It also doesn't allow certain characters, such as emoji, in the mapped word.

Our solution can also be configured to be inserted if the primary suggestion matches the shortcut, and even inserted during flow.

These options can be configured under settings.

Secondary suggestions:

By default shortcuts will be inserted starting from the primary suggestion.

When defining the shortcut, or changing it after creation by clicking the shortcut itself, you can configure the mapped words to be inserted as secondary suggestions instead.

This means the primary, center suggestion remains, and your shortcuts will be inserted starting with the second suggestion (right side in most languages).

The behavior is the same as when Swiftkey provides emoji predictions.

Hotkeys

Overview:

Hotkeys are basically just Ctrl - a/x/c/v combos we are all familiar with on full-sized keyboards.

Our equivalent for Ctrl is the Modifier key, which can be set to one or more keys under settings - Keys.

The default Modifier Key is the Symbols layout key ( 123 ).

Available actions are Select all / Copy / cut / paste / go to end.

Configuring a key:

With the exception of keys defined by their function (spacebar, enter key etc), most keys are defined by the character they display.

In general means you just punch in the character the key is displaying and everything should work out. This applies to the more exotic Asian languages as well.

There are occasionally some discrepancies though. For instance, the long-vowel symbol "ー" in the Japanese layout actually displays a standard hyphen "-".

Popups

Overview:

The alternate characters that popup when long-pressing a key can be configured to your liking.

Because different layouts shift the position of these keys around, their positions are defined as either center, or any of the remaining positions starting from left to right.

When you first add a popup, you will be asked to set a parent key. This is the key that popups will appear under.

Configuring keys:

Once the parent key has been added you can click any empty space to add a key there, or the PLUS button to add more slots.

Slots already occupied by characters are greyed out. If Swiftkey does not provide any characters for the empty slots, they will simply be ignored.

Any popup characters provided by Swiftkey will be shifted to the right to make space for our insertions.

This is the result of the above configuration. There is an existing symbol ( + ) which is shifted from it's center slot to the first position, and then shifted again by the "1" we insert there.

Our "5" wants to be in slot 5, so it ends up after it.

Settings

Overview:

The settings panel provides a few additional tweaks.

Emoji Panel

Replace Emoji Panel: If disabled, Swiftkey's original emoji panel will be used instead

Emoji Size: The emoji font size can be configured to some degree. The default value is 12.

Flow & Suggestions

More Suggestions: If enabled, the suggestions bar will be made scrollable, and display many more suggestions.

Suggestion shortcuts: If enabled, shortcuts will trigger on the primary suggestion, instead of only on verbatim input

Flow shortcuts: If enabled, shortcuts will also be inserted when you flow. Suggestion shortcuts must be enabled for this to work.

No auto-correct after swiping: When moving the cursor, Swiftkey sometimes insists on inserting the primary suggestion when you hit space, instead of inserting a space. If enabled, a space will always be inserted.

Maximize suggestions: Swiftkey recently added gaps to both sides of the suggestions bar to make their menu button easier to hit. If enabled, the suggestions bar will fill the screen like it used to.

Misc

Disable period tap: Apparently many people hit the period button by mistake. If enabled, a quick tap will no longer trigger it. It must instead be clicked proper.

Quick-Menu color: Set the color used to highlight the selected item in the quick-menu.

Keys:

Here you can choose which keys will be treated as shift, delete, and modifiers keys by this module.

See the beginning of this post for a more detailed explanation.

Unlike Hotkeys, here you can define keys not only be their content, but also their function.

By default it makes sense for the shift and delete keys to be mapped to their respective keys,

but some languages do not have a shift key, and in others the delete key is an a completely unreasonable location.

The content field is only available if Letter or Symbol key is picked from the list.