Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hacker's Keyboard Easily Destroys Documents! #487

Closed
DavidPesta opened this issue Jan 29, 2016 · 63 comments
Closed

Hacker's Keyboard Easily Destroys Documents! #487

DavidPesta opened this issue Jan 29, 2016 · 63 comments
Assignees
Milestone

Comments

@DavidPesta
Copy link

DavidPesta commented Jan 29, 2016

EDIT: Ctrl-z doesn't work! Please read things closely before commenting!

You must move the position of the Ctrl key to be more distant from the A key. At least once a week, my finger hits between the Ctrl and the A and selects all of the text in my document for my next rapid keystroke to clear and destroy the entire document. Sadly, following up with Ctrl-z does not bring it back. (Edit: Emphasis added.) This makes the Hacker's Keyboard useless for all applications that do not keep an archive of my work because my documents keep being destroyed like weapon factories in Europe during WW2.

One possibility is to swap the position of the Ctrl key and the Esc key, or at least provide us with that option. The keyboard is just not reliable for most purposes when you risk losing your documents.

I considered a Ctrl-A select-all failsafe, but that won't work if the failsafe message is positioned over the keyboard in any way because your next keystroke might be positioned right under the OK button that pops up, and with a fully selected document might come another keystroke that destroys it all. You would have to make sure the failsafe message appears above the keyboard where that couldn't happen.

If you don't swap the keys and the failsafe idea is no good, you should at least give us the option to turn off the Ctrl-A select-all functionality altogether.

There might be other ideas. But this absolutely must be solved. It is a critical shortcoming with an otherwise marvelous keyboard.

EDIT: Ctrl-z doesn't work! Please read things closely before commenting!

@TPS
Copy link
Contributor

TPS commented Jan 30, 2016

If you can believe it, this has already been filed many years ago, & is now imported into #43, #172#13, #311, #417, & #445.… I really appreciate the re-filed issue, though, as this is 1 of my pet peeves, also!

@DavidPesta
Copy link
Author

I read these discussions (particularly #43 and #172) and I am astonished about the long running decision to allow so many valuable documents of so many users to be destroyed in favor of not swapping Ctrl and Esc "to avoid confusing people who got used to the current way of doing things" in the face of an argument that the current position of those keys compared to ordinary keyboards was already confusing to people.

Instead of imposing the mild discomfort of retraining people about the position of Ctrl and Esc (which is a more natural layout for newcomers anyway), entire documents for these people are being completely destroyed on a regular basis. This will go down in history as a textbook case study that illustrates very vividly when it is of paramount importance for a software maintainer to immediately apply an uncomfortable change to fix an egregious design flaw and I hope that this conversation is preserved forever for that purpose.

This is why business people rule the world and not developers.

@TPS
Copy link
Contributor

TPS commented Jan 30, 2016

The experimental compact 5-row keyboard option moves the Ctrl from next to a to kitty-corner to z, instead, so less likely to fat-finger, @ the expense of many previously-accessible symbols:

In-situ experimental keyboard

Also, [I added many more duplicate issues above](#issuecomment-177104310). Check them out for other work-arounds.

@badbob001
Copy link

Where do I download the experimental version? The release version from google play still has the ctrl key next to A when in five row portrait mode (and cursor keys are also inverted -T unlike the screenshot above).

@TPS
Copy link
Contributor

TPS commented Mar 25, 2016

Mainlined by @klausw via #487 (comment)! GitHub has broken all of following strike-out formatting, but I'll preserve it as-is for historical purposes.

~~It's buried as part of the base download as a **_US English-only**_ layout already, but needs to be enabled 2×:~~
1. ~~Get to HK's settings (@ least 3 ways to do so, but simplest is the funny-looking settings key next to ****Esc**** on typical 5-row keyboard when HK is already the default).~~ 2. ~~Under the "Keyboard View Settings" header, choose "Theme and Label Settings."~~ 3. ~~Toward the bottom, _after_ reading caveats in description, "Enable compact 5-row keyboard mode."~~ 4. ~~Back all the way out of all HK settings, so the above is saved.~~ 5. ~~Go back to main HK settings page & enable said layout under "Keyboard mode, portrait" &/or "Keyboard mode, landscape."~~ 6. ~~Back all the way out again to save.~~ 7. ~~Find a text field & play with _shiny, new keyboard_!~~
It's a reasonable layout, but I had to revert because I missed availability of all the native extended symbols to which I otherwise had access!

@Referee2000
Copy link

Referee2000 commented Aug 19, 2016

Yes, I would love to see a settings checkbox to swap the CTRL and ESC keys (or ALT) of the standard keyboard. Off by default, but allow the user to choose. Large tablets allow two hand typing and CTRL-A is so easy to fat finger. I would vote for a settings checkbox as the first comment suggested. (Never had an issue with my phone, which is handheld.)

@Rhialto
Copy link

Rhialto commented Sep 4, 2016

Interesting that people have these problems with the Control key, since for me (on a no-name tablet with Android 4.2.2) the Control key does not work at all for me! I think it used to work, but probably some update of something broke it.
(Also I think that the only correct position of the Control key is left to the A, like on a proper terminal such as the ADM-3a)

@DavidPesta
Copy link
Author

@Rhialto - Totally untrue! Absolutely 0% of all keyboards in this Google image search have the ctrl key next to the A key. Ctrl is always on the bottom row, usually in the left corner.

https://www.google.com/search?q=computer+keyboard&tbm=isch

The Hacker's Keyboard is 1. extremely abnormal and 2. totally dangerous to my workflow! Risk of losing documents is a major software design flaw.

@Rhialto
Copy link

Rhialto commented Sep 8, 2016

@DavidPesta: then you haven't seen any picture of the Lear Siegler ADM-3a keyboard. One of the first cheap ($1195) CRT terminals. It is the terminal that Vi grew up on (hence the hjkl cursor movements). Also the DEC VT-100 terminal has the CTRL left of the A, albeit with Caps Lock in between. No sensible terminal has the control key so far away in the bottom. Even the horrrible DEC LK201 keyboard (which has ESC in a stupid place) has CTRL on the same row as the A.

Of course this is less relevant for on-screen keyboards.

@DavidPesta
Copy link
Author

@Rhialto - Your politeness is appreciated as you reminisce about old times, but this is 2016. You cannot refer to ancient technology to justify the destruction of documents by what amounts to a dangerous design flaw in an otherwise beautiful smart phone app.

@Cilencia
Copy link

Cilencia commented Sep 9, 2016

I don't suppose your 2016 app supports Ctrl-Z for Undo...
Talk about a design flaw.

To weigh in on the matter, though, I typically use swipe keyboards for text input in whatever language I happen to be typing; I only use the hacker keyboard when I need special functions not available on those keyboards, Ctrl-V in particular (it's often easier to switch keyboards than get the clipboard menu to appear).

@TPS
Copy link
Contributor

TPS commented Sep 9, 2016

I don't suppose your 2016 app supports Ctrl-Z for Undo…
Talk about a design flaw.

@Cilencia Just FYI, Ctrl+Z is an app function, not a keyboard function, &, as such, works perfectly via HK when the underlying app supports it.

@Cilencia
Copy link

Cilencia commented Sep 9, 2016

That was sort of my point.

@DavidPesta
Copy link
Author

@Cilencia - I did talk about the failure of Ctrl-z in my original post. Let me give you more detail on that.

Google Keep (100 million downloads)
ColorNote Notepad Notes (100 million downloads)
Keep My Notes - Notepad & Memo (1 million downloads)
Simple Notepad (1 million downloads)
Notepad (5 million downloads)

The problem is similar across these apps and the story goes something like this. A simple Ctrl-a mistake while rapidly typing will destroy the document. In many cases, the destroyed document is instantly sync'd to the app's cloud. Turning off the app's auto-sync is not an option in many cases. Universally, pressing Ctrl-z numerous times in panic or while calm does not recover the document in any of these apps.

So yes, apps still suck in 2016, but especially when used with the Hacker's Keyboard or any other virtual keyboard with "Ctrl" next to the "a".

Let's not fix thousands of broken apps. Let's just fix the Hacker's Keyboard.

@Cilencia
Copy link

While I heartily agree with you, I am not particularly optimistic for forthcoming updates to Hackers Keyboard, as Google Play lists it's last update as Dec 2013.

It appears Mr. Weidner was working on a way for users to create custom keyboards, but has moved his focus to other projects.

@TPS
Copy link
Contributor

TPS commented Sep 10, 2016

@DavidPesta Given that @Cilencia is probably correct about @klausw, & given that this code is under a Apache-compatible license, why don't you fork & fix it yourself, rather than unproductively griping? @klausw has done a vast amount of work (when he wanted to) toward a free software, building an amazing framework. If you do as much & contribute back, you'll have solved a problem for many. 👏

@DavidPesta
Copy link
Author

DavidPesta commented Sep 10, 2016

@TPS - Because:

  1. I don't have the time or resources or perhaps ability to fix it right now
  2. Somebody else who is familiar with the code might
  3. Griping is an effective way to create awareness in order to accomplish an objective for the greater good
  4. I challenge your presupposition that griping to bring awareness to a problem so that someone skilled can fix it is unproductive. It's called QA and it makes billions of productive dollars for business people that I mentioned in my second post above. It also makes open source software better.

Any other questions?

@DavidPesta
Copy link
Author

@TPS - I have a question of my own for you. I haven't changed my purpose in this thread. My tone has also been more or less consistent from the beginning. After my first post you responded to me in complementary fashion with this:

"If you can believe it, this has already been filed many years ago...I really appreciate the re-filed issue, though, as this is 1 of my pet peeves, also!"

But then I posted a few more times with the same purpose in a similar tone to offer a reasonable defense (that others like Cilencia ended up agreeing with) and you send me this:

"why don't you fork & fix it yourself, rather than unproductively griping?"

What caused you to change your mind so dramatically about my purpose with this thread? Why was simply "filing the issue" commendable to you several months ago, and no longer acceptable?

Anyway, you did join my gripe by saying, "this is 1 of my pet peeves, also!" Therefore I'll be cooperative in my answer to your challenge: Why don't we both work together to figure out a way to get this fixed? Thank you for recruiting yourself to help me.

I'll start slowly looking at the source code and map out some ideas about where and what might be easily done to hack our keyboard to do something that helps. Pun intended I guess. I have no idea how long this will take us, but here it goes.

@meMongo
Copy link

meMongo commented Sep 12, 2016

I just skimmed over the comments so for give me if I'm repeating what someone else said. This keyboard has the CONTROL KEY. Use CNTL Z (duh) UNDO last.

@DavidPesta
Copy link
Author

@meMongo - Ctrl-z doesn't work. Don't just skim the comments. Read them.

@Cilencia
Copy link

Yes, that's been mentioned a few times; it doesn't work in some apps because it is an app function, not a system function, and not universally supported. Please feel free to read over the whole thread for further context.

@ThumpieBunnyEve
Copy link

DavidPesta, any progress? Where were you stumped during your source editing? Did you start a new thread for your custom apk file? Are you emailing them to requesties? I've made changes to my "smart keyboard pro", having skinned it and tinkered with button alignment before, but I'm not an android programer yet. Basicly a script kiddy in the android scene. But I understand a little. Please publish your resarch progress here or in a new thread so we all can work together to forward this feature-fix into a dl'able state.

@DavidPesta
Copy link
Author

@ThumpieBunnyEve - It's only been several days. I haven't had any time to put into it yet. I promised to start slowly looking into it, not quickly. :)

How about you and @TPS ? Anything yet?

I'll start posting in this thread as I get moments to look at it.

@DavidPesta
Copy link
Author

I had another document blow up on my recently. This serves as a good reminder to keep coming back here and fiddle with it some more. Someday we'll get this fixed.

@ThumpieBunnyEve
Copy link

I cant recall if it was here or in another thread, but i read something about some experimental option some where you can tic- mark that will allow the control key to be in the bottom corner? it might have been early in this thread... not sure. but are you or anyone else here familiar with an option like that?

@TPS
Copy link
Contributor

TPS commented Sep 22, 2016

@ThumpieBunnyEve I put detailed instructions earlier w/ an example screenshot.

klausw pushed a commit that referenced this issue Oct 21, 2016
Add an option to configure "Ctrl-A" behavior to work around
accidental text deletion when doing an unintended "select all"
while typing.

New default is to ignore Ctrl-A, and require use of Ctrl-Alt-A
instead to do a "select all". Pressing Ctrl-A shows a toast message
indicating this.

The other available settings are to ignore Ctrl-A completely
(with no toast message), or to enable Ctrl-A normally with no
behavior override.

See issue #487.
@klausw klausw self-assigned this Oct 21, 2016
@klausw klausw added this to the v1.39 milestone Oct 21, 2016
@klausw
Copy link
Owner

klausw commented Oct 21, 2016

Proposed fix in v1.39.0, I've just uploaded that to the alpha channel.

Add Ctrl-A options, require Ctrl-Alt-A by default

Add an option to configure "Ctrl-A" behavior to work around
accidental text deletion when doing an unintended "select all"
while typing.

New default is to ignore Ctrl-A, and require use of Ctrl-Alt-A
instead to do a "select all". Pressing Ctrl-A shows a toast message
indicating this.

The other available settings are to ignore Ctrl-A completely
(with no toast message), or to enable Ctrl-A normally with no
behavior override.

Use this link to opt-in to the alpha version: https://play.google.com/apps/testing/org.pocketworkstation.pckeyboard

It may take a few hours for the new version to propagate. Check your version at the bottom of the keyboard's settings menu.

@ThumpieBunnyEve
Copy link

ThumpieBunnyEve commented Nov 1, 2016

Still using it, still loving it. actually set a ctrl-Alt-A function on my PC to match yours, Not everything in windows (games mostly) knows how to select all, so i put a macro on my keyboard to that setup to mimic yours.
::::::::start off topic::::::::::::::
my pc version is written in autohotkey, and it presses the following sequence, and has worked in every input so far except dos-box games @p@ it macros as follows, (press ctrl-Home, press page-up(x2), hold Left'shift, press ctrl-End press page-down(x2), release Left'shift).
::::::::end off topic:::::::::::::::

Also super glad the warning for ctrl A does not pop up in the way awaiting an "ok" dialog. Wee!

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

I just installed your keyboard yesterday and just killed my second document 10 minutes ago. That is why I am here. The ctrl-A kill-all is an absolute disaster and I was astonished to find this long running thread about it with no fix!? The last comment was a month ago! Wtf is wrong with you? This is not a difficult fix. The only possible reason you haven't fixed it is because you always personally use a landscape tablet and so you haven't nuked entire documents like everybody else who uses this app. You clearly have no interest in effectively fixing this. You should at least put a big warning on the play store that says "anyone who uses anything other than emacs on a command line terminal cannot use this keyboard" or change the name to "Doc destroying time bomb keyboard"

The fix is to have the default mapping ctrl-A to something else. Then insert a switch in the settings to map it back to ctrl-A. It is far worse for users to nuke multiple documents and then realize they have to switch it off than it is for users needing ctrl-A to wonder why it isn't working and then realize after a short search that it needs to be mapped back.

@DavidPesta
Copy link
Author

@5uperstring - Please read this entire discussion before jumping to conclusions about the developer. It has been fixed and it is pending a push to full release, but you can enjoy the fix today by subscribing to the test version. I'd give you the link, but I want you to read the discussion.

We need to give the developer a lot of credit for sacrificing his time to provide the community with excellent software that he still chose to support for our benefit even after he has moved on. He did not have to fix this for us; we could have taken on the pain of figuring it out ourselves. So, while I can personally relate to the emotional pain of your loss (I expressed my own crankiness earlier), the anger here is very much misplaced. We need to be giving the developer our gratitude for bringing us this excellent keyboard, and even more gratitude for fixing it for us.

Again, please read the whole discussion and then subscribe to the fix.

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

Why would I give the developer credit! His app is broken. It is his app and he is fixing it for himself not us. This thread is almost a year old and the release I installed yesterday killed two documents. The developer is getting no smiles and back pats from me. If you are saying that the only way to get a non-lethal version of this app is to subscribe to some github fix then he should put a warning on his play page to prevent countless documents from being nuked. If he doesn't fix it he will be reported and taken off the play store.
malware and malicious behavior policy

@TPS
Copy link
Contributor

TPS commented Dec 8, 2016

@5uperstring So, you came here POed & let off steam by having a infantile tantrum which abuses @klausw. Congrats! You earned my personal ban-hammer & probably GitHub's. You certainly must be a treat IRL. Since you obviously will NOT read the previous details in "[t]his thread [that']s almost a year old" before firing off 2 idiotic posts, I shan't bother honoring you with a solution. Sayanara & good luck with your future GitHub adventures after I report you.

@klausw Notwithstanding this rant, for those of us silent faithful who have kept using your last release over the years, could the latest ß be promoted to release? TIA! 🙇

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

Give me a break TPS. Glad you are having a group hug over here while his app is harming users. You don't get banned for pointing out that somebody is distributing malware. Sorry. However, you do get banned from the play store for distributing harmful software. The current software on the play store is harmful. Period. It does not matter that you have spent a year trying to fix it. It should be taken down until you are ready to post the non-harmful version.

@DavidPesta
Copy link
Author

@5uperstring - As happy as I am with the developer right now, I can sympathize with your pain and I understand your point. On the one hand, this is a volunteer project and the developer does not owe anybody anything. On the other hand, until the fix is pushed to production, the bug remains something that can hurt new people who do not expect this to happen. But putting everything into perspective, the developer did recognize this problem and did/is fixing it, so there isn't anything productive to complain about here anymore.

@TPS - Relax. This bug may have cost this fellow more than you think. It takes time to emotionally recover from the shock of this. It did for me, but I came around.

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

Thank you David. The app did cost me a lot of time. It is no doubt that I am not alone. Everyone wants a full keyboard (especially with old Sparc Station Ctrl key placement! don't move that!) however, it should not be allowed to continue to harm users until the fixed version is ready. If the developer doesn't feel like fixing it then it should be taken down. (or let me post my fixed version on the play store)

@TPS
Copy link
Contributor

TPS commented Dec 8, 2016

@ALL: @5uperstring has been reported for violating the above-linked abuse policy. Keep it civil & humane!

Also, it occurs to me the original posts in this issue seem to set the same kind of tone as what we all just experienced (&, indeed, come mighty close to violating that abuse policy, had it existed then). I'm going to go back & tone down my rhetoric whenever it's over-the-top. I invite/welcome my fellow co-participants to do the same.

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

TPS is the only one calling people names here. I did not call anyone any names. I pointed out facts and the potential consequences of his harmful software. I have developed numerous apps, distributed to people for free, with no ads and no profit for me. However, even so (!) if I ever found out that one of my apps was doing this exact same thing to users I would immediately take it down until I could upload a non-harmful version and I certainly wouldn't expect some sort of profuse thanks from users for fixing it.

@DavidPesta
Copy link
Author

@TPS - Given the severity of the bug and the amount of damage that it has caused people, I do not think your reaction to people's emotions is rational. 5uperstring's words may have been abusive, but I understand his pain. We need to give him a break, give him a chance to cool down and apologize, as I have done. I am not going to justify his words, but I do not believe you are being fair to him by not recognizing his side of the issue. 5uperstring also reserves the right to report the app to the Google Play Store as malware, which would be equally irrational at this juncture. It is my hope that 5uperstring responds with more maturity by not doing so.

TPS, I think you are the one escalating the trouble here. Relax and give this fellow a chance to cool down.

@TPS
Copy link
Contributor

TPS commented Dec 8, 2016

Sorry, folks, I'm little sensitive about abuse of @klausw specifically because of his detailed response re: his reaction last time which @5uperstring did, in fact, completely ignore.

However, @5uperstring, you're correct about the name-calling. I'll use this amazing app to edit out.

@TerryPilling
Copy link

TerryPilling commented Dec 8, 2016

I won't be apologizing to the developer. As we sit here and discuss the issue, documents are being destroyed. If you don't consider that malware then I am not sure how you are categorizing things.
I understand that you guys feel very good to be helping to improve this nice keyboard and you have grown to like the guy who wrote it. But you also need to take a step back. If he is not very interested in fixing it then he should take it off google play and allow you guys to fix it yourselves and post the fixed version. You could even post TWO keyboard apps if you like: The first one identical to this one if you like! Just put a big warning on it that if you don't use ctrl-A frequently then you should instead install the other version. The second version simply has ctrl-A remapped to some harmless ctrl combination.
Is there some reason this wasn't done? It keeps current happy people happy and stops future angry github posts from guys like me.

@TPS
Copy link
Contributor

TPS commented Dec 8, 2016

@5uperstring The fixed version has already been posted to GPlay, & this same issue tells you how to access it.

@DavidPesta
Copy link
Author

@TPS - I love the developer of this app. But we cannot expect people to install the app and somehow know that they need to come to this discussion to apply the fixed test version to keep their documents from being destroyed. They're only going to know its a problem after its too late. We risk having more irate people coming here to demand answers. There's also no telling how many angry people there are who don't know about GitHub and never make it into this discussion. I want this to continue to be a successful app, not one that risks being reported as malware by someone like 5uperstring.

It would be super cool if this fix could be pushed over to the production "default installed" version ASAP so that we can put an end to this discussion. What's the holdup? Yes, I am a happy camper because it is fixed on my phone, but this really is an urgent hotfix for the community at large.

Again, I am a happy camper. But I would love this to finally make it into production.

@TPS
Copy link
Contributor

TPS commented Dec 8, 2016

@DavidPesta Where I'm irritated is that @5uperstring did indeed spend the time to find this discussion, ignored all of it (except maybe the title — maybe that could be edited to mention "fixed in ß" or some such), & did a drive-by [something] without getting the solution that's right here! Why bother?

@TerryPilling
Copy link

I didn't ignore the discussion. I know exactly what you guys are doing and have done. I don't like your particular solution but that is just personal preference. However, it is very easy to put two different apps on google play. One for emacs users and one for the rest of us. ;)

@DavidPesta
Copy link
Author

@TPS - He was very very very very angry. Like I was. Look, he is better now. :)

@5uperstring - Any solution that no longer destroys my documents is gold to me. Everything else about this keyboard rocks!

@klausw - The world is ready for this update. Push push push! :D

@klausw
Copy link
Owner

klausw commented Dec 8, 2016

Sheesh. Sorry @5uperstring and others who were affected by lost documents. I've now promoted 1.39.1 to production, Play Store should start pushing it out within the next day or so. I didn't get a chance earlier to sanity check it for crash reports or other potential issues, but so far I haven't seen problem reports for the alpha.

As a side note, if you're working on complex documents, I would strongly recommend using an editor that supports undo or preferably automatic snapshots to avoid lost work. There's more threats to your document than just malfunctioning keyboards by unhelpful developers, including application crashes, loss of network connectivity, and hardware failure. But that's a separate topic.

@klausw
Copy link
Owner

klausw commented Dec 8, 2016

Closing, 1.39.1 is now set as live on Play Store. It may take a day or so until your device sees the update.

@klausw klausw closed this as completed Dec 8, 2016
@TerryPilling
Copy link

Got the new version. Love it! You win. ... I apologize.

@DavidPesta
Copy link
Author

+1 ;)

@cydhaselton
Copy link

Huge thanks for this update. Android tablet is my main dev system, so this will help tremendously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests