yashsingh1/xdaforums huggingface dataset:
[Xposed Framework Modules] Roughy:
Yup.

By default Swiftkey searches Bing for animated gifs with safesearch set to Moderate.

They also request only images with the "conversation" license, which would appear to be an undocumented value.

After disabling safesearch I got surprisingly few .... naughty gifs, because the license bit was filtering out the vast majority of them.

I'm guessing "Conversation" limits the results to a few specific sites, which is why you mainly see results from giphy.com.

Remove that and there's a lot more variety, for better or worse.

Popup placement

Yeah, placing positioning popup keys is a pain, but unfortunately that's for a reason.

Swiftkey basically starts with the center popup, then stacks them left, right, left right and so on.

After that, the popups on the sides may be shifted left or right depending on how much space is available to display them.

Currently, all I have the power to do is tell it how many popup keys I ultimately want, then decide what those keys should once it has positioned them.

This obviously differs a lot between different layouts and languages, so it would be pretty much impossible to do accurate positioning anyway.

If you know how many keys you are inserting, and how much space there is to the right and left in the keyboard layout you are using, then you can make a reasonable guess as to where they will end up, so that's the solution I went with.

Now that I keep track of where all the keys on the keyboard are positioned, I could potentially make it a bit more intuitive, but the config app would have no idea what existing popup keys are present, so it would really only be viable if you also clear the existing popups.

Popup rectangle covering bottom row of keys

The two-key tall popup rectangle covering the entire bottom row is indeed incredibly jarring. Unfortunately that's a change made on Swiftkey's side, not mine.

I might have a look at it at some point.
[Xposed Framework Modules] oroboros74:
So, is this something users can set, or something you'd have to mod?
[Xposed Framework Modules] Roughy:
Something I'd have to mod, just did a quick proof-of-concept.
[Xposed Framework Modules] oroboros74:
This might be useful :

NSFW Gboard - http://repo.xposed.info/module/com.imadev.nsfw
[Xposed Framework Modules] maumaus:
"Fixed:

- Cursor not jumping to end of word when tapping it on-screen"

Wasn't this an option/feature in earlier versions instead of a bug?

I was so happy with this behavior. I hate it when it jumps to the end and I have to click twice to correct a letter.

Can you bring this back as an option?
[Xposed Framework Modules] abdallahbmw2:
:rolleyes: how can I import and export shortcuts

️️️

Any help ️️
[Xposed Framework Modules] oroboros74:
I am on stable MIUI8 and have set spellcheck for English (at device level). When I start typing in another language I see the red underline. If I notice I misspelled a word that is underlined red, I tap on the middle of the word. It automatically shows me the dropdown list of suggested words. If I try to move the cursor a letter or two using the spacebar, the keyboard closes.
[Xposed Framework Modules] Roughy:
Ah ... I figured people would only care about it if using swipe selection.

Will add an option to toggle the behavior for all cursor movement.

You can import shortcuts by hitting "import" and selecting a text file.

The shortcuts should be tab or space delimited, with one key / shortcut per line. For example:

key	word1
key2	word2
key3	word3

Will result in 3 shortcuts.

key Is the word you would type in, and word is what the resulting word that would appear in swiftkey's suggestions list.

Exporting the shortcuts (and other settings) is on the TODO list.

Hmmm, unfortunately I am unable to reproduce. On my device the dropdown of corrections is a popup window, meaning it exists ontop of the keyboard as well.

Trying to interact with the keyboard will just close the popup window, and then you have to raise and lower your finger again to start swiping or interacting with it.

So on base android, you're not supposed to be able to move the cursor while the corrections dropdown is visible.

MIUI8 may be doing something weird there.

It would be appreciated if you could provide a logcat log of when the crash occurs.

Regardless of what the root cause it, it'll hopefully provide enough clues to guard against it.
[Xposed Framework Modules] JochenP:
Amazing app. Big thanks. I have to test. So much possibilities... [emoji106]

Sent from HTC U11
[Xposed Framework Modules] kruuvi:
Thank you so much for this great MOD!

I actually moved from swype after years only because this Mod.

Is it possible to make the cursor move to the opposite direction for RTL languages (like Hebrew etc.)?
[Xposed Framework Modules] Roughy:
Thanks.

Support for RTL langauges is planned, but is unfortunately a bit complicated.

I was initially going to just make it move in reverse when using an RTL-langauge layout, but since RTL languages can (and I imagine often are) typed out using non-RTL language layouts (all the qwerty ones), that would... not work well.

Not to mention that it would then start moving in reverse when typing non-RTL language text, and jump from one side of the screen to the other when moving between them.

The proper solution is to detect when the cursor is inside RTL-text, find the bounds of that block text, and then reverse the position of the cursor within that block of text.

It shouldn't be super complicated, but there may potentially be performance issues.

In any case, that's something I intend to get to very soon.
[Xposed Framework Modules] xamqoptm:
Thank you!

First, thanks for this great module! Is it possible to add a letter that does not exist in swiftkey? Thanks again for the module!

---------- Post added at 01:26 PM ---------- Previous post was at 01:23 PM ----------

Same here, from swype after 5 years ^^!
[Xposed Framework Modules] Roughy:
It should technically be possible.

I did a proof-of-concept moving the spacebar around earlier, though all that work has been invalidated due to code changes.

If the change is limited to a single specific language, it should also be possible to directly mess with the layout xml files, though that wouldn't be a very elegant solution

Making a one-time change to a single language layout should be fairly straight forward, but making it user customization would require a proper editor and be... quite a bit of work.
[Xposed Framework Modules] Apcoolboy:
Must mod to be have after installing xposed. Using and working perfect on latest swiftkey untill I switched to super swiftkey by team black out. Is it working on theme ready swiftkey and yes then how?
[Xposed Framework Modules] Roughy:
Super Swiftkey uses patched APKs, but since they stopped updating, the last version they released is very very old.

This module is updated frequently to keep it compatible with the latest version of Swiftkey, and only the versions targeted on release (mentioned in the release post and version history) are supported.

The oldest version of Swiftkey that Exi 1.2.1 should work with is 6.6.7.24.

Exi 1.0.0 initially targeted Swiftkey 6.6.3.21, so depending on what the last patched APK provided by Team Black Out used you may be able to use one of the older versions.

Using an old version obviously means you won't be able to use any of the new features added since that version, not to mention the various bugfixes.
[Xposed Framework Modules] Apcoolboy:
Okay. I am using super swiftkey because of one pitch black theme that is not present in official swiftkey. Any way to get pitch black theme on latest swiftkey key so that I can use your mod along with. Thanks in advance
[Xposed Framework Modules] Roughy:
Currently, no.

Looks like importing external themes is fairly straight forward though, so I'll add it to the list
[Xposed Framework Modules] Apcoolboy:
Looking forward to this feature
[Xposed Framework Modules] Drzhivagolikesandroid:
You are awesome
[Xposed Framework Modules] kruuvi:
Thanks roughy.

I couldn't actually understand what you wrote about rtl usage. How is it possible to type rtl language using non-rtl layout?
[Xposed Framework Modules] Roughy:
I say non-RTL layout, but am basically referring to the qwerty layout.

Arabian and Hebrew all have their own language-specific layouts, but languages like Persian just use the standard qwerty keyboard layout.

If it were the only language on the device you might get away with just checking the language, but if you have other languages that use the same language (English, Norwegian etc), they will all share the same layout.

Apart from that, you'll occasionally want to input some LTR language text, like a western name.

Turns out numbers are also always LTR, so we do indeed have to deal with this.

So far I have made good progress on this problem. Basic mixed-direction text is working as intended.

There are a few headaches left to be solved though.

Directionality rules

The character directionality rules (rules that decide if any given character is LTR or RTL) don't always match how Android decides to layout text.

For instance, Emoji should not have a direction, but instead inherit the direct of a preceding character that does specify LTR or RTL.

Asking Androi's Character class for the directionality of an emoji will return LTR, but their actual layout is RTL or LTR depending on the surrounding text.

Base direcionality

Any given line will have a base direction that determines if the line as a whole starts from the left or the right.

Android pulls this off properly:

Since this also flips the visual position of each chunk of text, it also means I have to make the cursor jump on the opposite direction when moving from RTL to LTR text.

The problem here is that, while Android will layout text like this, some apps that implement their own textviews (chrome, firefox, probably other browsers) do not. I cannot detect if the view the keyboard is connected to is a native android textview or some custom implementation, so I can't really respond to this properly. This means I can't make the cursor jump to the visually correct position aaaand ... we're screwed.

Moving from RTL to LTR between lines

Moving from the beginning of an RTL line to the end of an LTR line is also problematic. The correct behavior would be to jump to the beginning of the LTR line, but there is no way to tell where the textview is inserting visual linebreaks, so I'm probably going to have just move cursor to the end of the LTR line and flip the cursor movement direction.

(屮ﾟДﾟ)屮
[Xposed Framework Modules] Drzhivagolikesandroid:
Will I get new keyboard sounds in next update? ?

Sorry for bugging. I'm way too excited.
[Xposed Framework Modules] Roughy:
That is the plan, though the whole RTL thing is delaying things a bit.

Right now it looks like I'll end up adding an option to pick a custom audio file to use as the keyboard sound.

If specified, the Swiftkey-side setting will be ignored and this custom file played instead.
[Xposed Framework Modules] Drzhivagolikesandroid:
Awesome work.

Please take your time.
[Xposed Framework Modules] oroboros74:
Minor bug:

I have created a shortcut where "hh" shows me the suggestion "How's it going?" which works fine, but the cursor doesn't go to the end (it stays at the third letter).
[Xposed Framework Modules] Roughy:
Right you are.

Specifically when a shortcut is made to be secondary (checkbox marked), the cursor will be moved the distance of the original suggestion rather then the inserted one.

Can you confirm that this only occurs with secondary suggestions?
[Xposed Framework Modules] f41lbl0g:
Newest swiftkey update allows custom swiftkey themes through the app. Just set any background and turn the darkness to 100% for a fully blacked out keyboard.
[Xposed Framework Modules] oroboros74:
Right you are, sir. That's what I got.
[Xposed Framework Modules] alex_long:
Uhhh. It's long since I visited here.

1.3.0 is ready. I have installed it and found new strings not translated into Russian. I will add new and I hope 1.3.1 will be updated after. Right?
[Xposed Framework Modules] kruuvi:
Thanks Roughy for the great work..

RTL Swipe in number row works flawlessly!

Actually i think that when using delete key in RTL the marking should be to the right even though you swipe left (like it used to be), as there is no way to swipe right from the delete key... Also in Hebrew for example there is no shift key so there is no practical way to mark letters to the right.
[Xposed Framework Modules] Roughy:
Sorry about that. I did push out a message to all translators on Crowdin a few days ago, but I try not to delay releases for too long.

If any new translations are added inbetween releases they'll be included in the next update, so rest assured anything you translate will be included in the next release :)

I'll also be crediting translators in the app in the next update, so if you want to be credited as anything other than your xda nickname, please do let me know.

Under settings you will find a [Keys] section, where you can define which keys Exi will treat as shift, delete, or modifiers (ctrl) keys.

If your layout does not have a shift key, simply add the key you want to use in its place to the list of shift keys, and selection will function as if it were.

You can even invert these mappings if you are so inclined.

For instance, the Japanese layout has a long-vowel key where the shift key would be.

I simple add this key to the list of shift keys and voila!

Do be aware that when defining a key, what matters is the character icon on the key.

The long vowel-key, for instance, inputs the "ー" long-vowel character, but the icon on the key is actually a normal "-" hyphen character.
[Xposed Framework Modules] kruuvi:
Thanks, it's a little bit difficult to find a key in Hebrew - i had to choose a regular letter (there is no special key at the left side of Hebrew keyboard).

What about my question regarding the delete key RTL direction? In regular swipe (on the space bar or number rows) it makes sense to swipe either way, left or right.

But from the delete key you can ONLY swipe left, so it makes sense for me to actually mark letters to the right when swiping left in rtl..

This is also how it works on gboard for example.

Anyway, this is a wonderful module!
[Xposed Framework Modules] Roughy:
I spent a few moments thinking I might be misunderstanding you, but you want cursor to move in the ... opposite direction when selecting?

I don't think it would make sense for that to be the default behavior with RTL text, but it can certainly be added as an option.
[Xposed Framework Modules] Drzhivagolikesandroid:
Keyboard sounds

Hello everyone.

Thanks Roughy for carrying out my request.

I am uploading samsung and iphone keyboard click sounds.

Enjoy!
[Xposed Framework Modules] kruuvi:
Well - almost. I meant only when selecting with the delete key as it in the right side of the keyboard...

This is exactly how it works in gboard. It's quite intuitive for the delete key.

If it will change any select key then i must agree that it won't make sense.
[Xposed Framework Modules] alex_long:
Samsung.mp3 inside is damaged..
[Xposed Framework Modules] Drzhivagolikesandroid:
Oh.

It worked for me.

Actually the original file was a .ogg

Exi SwiftKey can't use ogg at present.

I renamed it to mp3 and it worked ?

I'll upload the original file and you can do the same I guess.
[Xposed Framework Modules] alex_long:
That's not correct. You should convert it to mp3 instead of renaming.
[Xposed Framework Modules] Roughy:
Err yeah, about that...

I set up the file selection stuff before coding the playback portion, and just decided to start with mp3 files.

For decoding and playback the raw file data is ultimately handed over to the MediaPlayer service, which doesn't care what format the file is in.

So... yeah, just renaming it to mp3 should be fine. I'll ... change the file picker to allow any audio type later.
[Xposed Framework Modules] Drzhivagolikesandroid:
Try that if it works for you.

You can rename it to ogg and play with it.
[Xposed Framework Modules] alex_long:
Do popups work (or work correctly) in 1.3.0 version? I can't make it work on my device. I have only standard SwiftKey popups. When I go back to 1.2.1 from Titanium Backup copy it works in 1.2.1 as it has to do. I installed 1.3.0 over 1.2.1 version. Can this be the cause?
[Xposed Framework Modules] alex_long:
Sorry, it started working.
[Xposed Framework Modules] tim2shin:
I cant type using swftkey in ADIE app. Words get messed when i tried to type in AIDE. Anyone facing same problem?
[Xposed Framework Modules] alex_long:
Hi. I faced popups problems again. After switching off/switching on my device popups stopped working. I thought the problem was bacause I had installed version 1.3.0 over 1.2.1 . I tried to uninstall everything and after it I made clean install of 1.3.0. Popups do not work.

Everything began working after I made rollback to 1.2.1 from Titanium Backup copy. 1.2.1 works perfectly.

Looks strange. Or this is only my particular case and the reason is somewhere in my Android and instaled software?
[Xposed Framework Modules] dimdimdim:
dear [MENTION=6797900]Roughy[/MENTION], if this is possible to make with Exi a chameleon theme?
[Xposed Framework Modules] nextheart:
Dear [MENTION=6797900]Roughy[/MENTION], can you please add font size change feature?

Thank you.
[Xposed Framework Modules] DiegoMarcondes:
Hey yall, sorry for this noob question. Is there any way of someone that uses the Swifkey with this mod to "port" this version for another users?

It will work for people without root/xposed? If yes, It's allowed to do it?
[Xposed Framework Modules] Roughy:
I can't seem to reproduce this I'm afraid.

Could you give me your version of android and swiftkey, as well as the language layout you use and the popups you have configured?

Exi for Swiftkey leaves a number of status messages in Logcat. Normally you would expect the following messages:

12-04 15:22:05.962 30419-30419/? I/Exi/LoadPackageHook: Module loaded in com.touchtype.swiftkey, CRC: a112852f, Module version: 1.3.0
12-04 15:22:07.579 30419-30419/? I/Exi/LoadPackageHook: Finished hooking work in com.touchtype.swiftkey
12-04 15:22:08.183 30419-30419/? I/Exi/EmojiModifiers: I am a teapot

If it runs into any problems it will log them with the same "Exi/" tag, and usually include a stacktrace (without a tag) that tells us where things went wrong.

What is a chameleon theme? Match the app it's being used in?

Chrooma seems to support this, but I have no idea how it's accomplished. Must be some way of fetching the theme of the parent app.

I have messed with Swiftkey theming in the past, primarily to grab text and background color values. I am not terribly keen on diving into it again.

Font size of... what exactly?

in com.aide.ui (AIDE- IDE for Android Java C++) ?

Cursor movement doesn't seem to work correctly, likely because of a custom editor implementation on their own that behaves differently from ... everything else.

Typing seems to work fine though, and this module shouldn't affect that at all anyway.
[Xposed Framework Modules] alex_long:
SwiftKey 6.6.6.26 mod from 4pda —> HERE

Android version 6.0.1 custom eRobot ROM for Note4 V.32 XXS2DQHB Android 6.0.1 MultiCSC Aroma

Russian language layout but I can easily change language layout by means of xPosed App Settings module

For now I have one popup "Hi, François!" (He is a software developer, I write a lot and it's difficult to type "ç" in Russian layout so I have it as a popup). But I tried some other popups and they do not work. I can not guess why. I tried to make clean install , tried to make rollback, switch off —> reload —> switch on —> reload.

1.2.1 started working, even once I succeded in 1.3.0 but now it does not work. Everything works in 1.3.0 bup popups.

Where can I get logs to send it to you?

---------- Post added at 06:45 PM ---------- Previous post was at 06:33 PM ----------

Yeah. I've updated SwiftKey — popups work now!!!
[Xposed Framework Modules] Roughy:
*wipes sweat off brow* thank god :D

> Swiftkey 6.6.6.26

I'm surprised popups were the only thing that broke using a version that old.

As a general rule you should only expect the versions listed with the release ( Stable: 6.7.2.22, Beta: 6.7.3.25 for Exi 1.3.0 ) or newer to work.

Some older versions of Swiftkey do tend to be compatible, but I often have to make changes that end up breaking compatibility with the older versions.
[Xposed Framework Modules] nextheart:
Font size in keyboard of swiftkey. Default font size is small for me.

Some keyboard app allows user to change the font size in keyboard.
[Xposed Framework Modules] oroboros74:
This seems to work fine now with the new version, with one little annoyance...

In my case, I had Hh set for "How's it going?", and previously I saw the entire text suggestion as a smaller font, yet seeing it entirely. Now I only see "How's ..." (or something like that) truncated with the ellipses. Wondering if it could be an option to either see the text fit in the suggestion box (even line-wrapped if necessary) or this new default view.

Thanks again!
[Xposed Framework Modules] savvymatthew:
Love the new NSFW feature ?️ thanks for your amazing work.

I'm not sure if this has been mentioned already, looked a few pages back....

There's no vibration when clicking emojis? It's really killing me ?️
[Xposed Framework Modules] navcar:
Thanks Roughy, this is super awesome! Loving the keyboard swiping gestures :D
[Xposed Framework Modules] Roughy:
Exi for Swiftkey 1.3.1 release

1.3.1 [ 06.12.2017 ] - shortcut ellipse removed, emoji vibrate, translations ( Stable: 6.7.2.22, Beta: 6.7.3.25 )

Changes in [1.3.1] (Stable: 6.7.2.22, Beta: 6.7.3.25) :

Changed

- Device will now vibrate when you input an emoji

- Shortcuts will no longer be ellipsized

- Translations updated, Russian/Polish now complete

- More file types allowed when selecting custom sounds

Full List of changes

Download:

Exi for Swiftkey on Xposed module repository

Notes:

Time for the traditional fix-everything-I-broke-in-the-last-release update.

Fortunately I didn't actually break anything, so just minor tweaks and translations.

Ellipsized shortcuts

Since we moved to using Swiftkey's native ClipboardCandidates to insert out shortcuts, we also inherited their behavior of ellipsizing longer suggestions .

This is annoying and has been disabled for the candidates we insert.

Emoji vibration

Is this recent? I don't seem to recall there being a vibration when you input an emoji before ...

In any case, we now do this too.

Translations

1.3.0 was released with incomplete Russian and Polish translations. Thanks to the efforts of [MENTION=8536001]alex_long[/MENTION] and [MENTION=4858491]godlesplay[/MENTION] these translations have now been completed!

I was going to list translators in the app in this version, but realized I would need a translation of "Translator" for each language so... next version! Big thanks to our other translators too!
[Xposed Framework Modules] alex_long:
English — Russian:

Translator —> Переводчик

Translators —> Переводчики
[Xposed Framework Modules] godlesplay:
[MENTION=6797900]Roughy[/MENTION]

Polish: Translator -> Tłumacz, Translators -> Tłumacze
[Xposed Framework Modules] savvymatthew:
I'm 100 percent confident there was vibration on emoji clicks for at least past 5 months which is why I stopped using your app because it annoyed me that much ?️

Again thank you for your amazing work!!!!!!

Haven't tested the new update yet but I am beyond grateful you added/fixed Emoji vibration.
[Xposed Framework Modules] savvymatthew:
My SwiftKey app doesn't open to change any of my settings after installing the latest Exi update I have tried uninstalling SwiftKey and Exi module then tried to reinstall SwiftKey without using Exi and it still won't open the main app settings.

SwiftKey instantly crashes from trying to open from apps but the keyboard still works I can get into the the the SwiftKey app by hitting "keys" on the settings panel of the keyboard, but not "more" panel then hit settings icon. That crashes the app too.

I'm not exactly sure what to make of this but it definitely wasn't happening before.