Umang17 / softkeyboard

Automatically exported from code.google.com/p/softkeyboard
0 stars 0 forks source link

shifted backspace (backword) key in soft-keyboard and hard keyboard #184

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
On my laptop, I use ctrl+backspace constantly, and have repeating backspace
turned OFF.  I recommend the backspace key in ASK be made to behave the
same way with shift.

Original issue reported on code.google.com by Etha...@gmail.com on 17 Nov 2009 at 7:30

GoogleCodeExporter commented 9 years ago
Good idea.

Original comment by menn...@gmail.com on 17 Nov 2009 at 7:38

GoogleCodeExporter commented 9 years ago
@mennyed
I'd try this!

"repeating backspace turned OFF", I do not understand, if this affects ASK?

Original comment by herrl...@gmail.com on 27 May 2010 at 8:35

GoogleCodeExporter commented 9 years ago
Hmm Don't we need multitouch support for this ?!

Original comment by herrl...@gmail.com on 27 May 2010 at 8:56

GoogleCodeExporter commented 9 years ago
Not really.
As I see it, if shift is ON (but not caps locked), the shift should cause the 
entire 
InputConnection text to clear.

Original comment by menn...@gmail.com on 27 May 2010 at 9:00

GoogleCodeExporter commented 9 years ago
OK I'll do It.
But ctrl+backspace delets here last word of the input...

Original comment by herrl...@gmail.com on 27 May 2010 at 9:17

GoogleCodeExporter commented 9 years ago
Right.. my mistake. It should delete the last word.

Original comment by menn...@gmail.com on 27 May 2010 at 9:21

GoogleCodeExporter commented 9 years ago
What's the guarantee that inputconnection has the word there?

Original comment by ssalo...@gmail.com on 28 May 2010 at 6:35

GoogleCodeExporter commented 9 years ago
@ssalonen

no guarantee, we must check this.
I have several approaches
1. reading backwards in one steps, until a separator char occures 
something like that:
while(!ic.getTextBeforeCursor(++i, 0).charAt(0).isSeparator() && and some other 
checks);

ic.deleteSurroundingText(i-2, 0);//or something

2. 
int cnt = 4;
CharSequence  cs = ic.getTextBeforeCursor(cnt, 0);

while(cs.length >=2){
  cnt *= 2;
  cs = ic.getTextBeforeCursor(cnt, 0);
}
//and no investigate cs! By large words this is I think better approach?

I'll presetn a solution these days.

Original comment by herrl...@gmail.com on 28 May 2010 at 8:01

GoogleCodeExporter commented 9 years ago

Original comment by herrl...@gmail.com on 28 May 2010 at 7:00

GoogleCodeExporter commented 9 years ago
r1007   should fix this.

Original comment by herrl...@gmail.com on 29 May 2010 at 11:20

GoogleCodeExporter commented 9 years ago
Ok, have a bug. It does not properly work if 
Suggestions are shown. I'll fix it today.

Original comment by herrl...@gmail.com on 30 May 2010 at 5:01

GoogleCodeExporter commented 9 years ago

Original comment by menn...@gmail.com on 31 May 2010 at 8:30

GoogleCodeExporter commented 9 years ago
It does not work on the Hardware keyboard. Could it be done for the hardware 
keyboard?

Original comment by herrl...@gmail.com on 8 Jun 2010 at 11:10

GoogleCodeExporter commented 9 years ago
I don't see why not.
I say, let's do that too.

Original comment by menn...@gmail.com on 8 Jun 2010 at 11:11

GoogleCodeExporter commented 9 years ago
OK I'll do it!

Original comment by herrl...@gmail.com on 8 Jun 2010 at 11:13

GoogleCodeExporter commented 9 years ago
Great.
Please make sure you are completely up-to-date with the code first.

Original comment by menn...@gmail.com on 8 Jun 2010 at 11:33

GoogleCodeExporter commented 9 years ago
@herrlado, I've thought about it again, and I believe that back-word should not 
delete till a complete word was deleted when starting with separator.
I've added some comments in the code. And I'm pasting them here:

//TWO OPTIONS
        //1) Either we do like Linux and Windows (and probably ALL desktop OSes):
        //Delete all the characters till a complete word was deleted:
        /*
         * What to do:
         * We delete until we find a separator (the function isBackwordStopChar).
         * Note that we MUST delete a delete a whole word! So if the backword starts
         * at separators, we'll delete those, and then the word before:
         * "test this,       ," -> "test "
         */
        //Pro: same as desktop
        //Con: when auto-caps is on (the default), this will delete the previous word, which can be annoying..
        //E.g., Writing a sentence, then a period, then ASK will auto-caps, then when the user press backspace (for some reason),
        //the entire previous word deletes.

        //2) Or we delete all the characters till we encounter a separator, but delete at least one character.
        /*
         * What to do:
         * We delete until we find a separator (the function isBackwordStopChar).
         * Note that we MUST delete a delete at least one character
         * "test this, " -> "test this," -> "test this" -> "test "
         */
        //Pro: Supports auto-caps, and mostly similar to desktop OSes
        //Con: Not all desktop use-cases are here.

Original comment by menn...@gmail.com on 10 Jun 2010 at 9:40

GoogleCodeExporter commented 9 years ago
@mennyed

Yes, I've used this feature now for a week or so and I think the option 1 (PC 
like) is 
not good in our case. 

I would also prefere the second option. But may be there is an option 2b?

"test this, "  -> "test this"

If the last char is isBackwordStopChar, we delete until a !isBackwordStopChar 
occures.

What do you think about it?

General -> option 1 is very bad auto caps und we shoul replace it.

Original comment by herrl...@gmail.com on 11 Jun 2010 at 7:37

GoogleCodeExporter commented 9 years ago
Or an option 2c, as the option 2, but if the last char is a space, we delete 
until a non space character occures.

Original comment by herrl...@gmail.com on 11 Jun 2010 at 7:40

GoogleCodeExporter commented 9 years ago
I like option 2C - or maybe is it a rare use-case.... I mean, how often have 
you seen text like this: "test this,    , "
Maybe option 2b is better, and easier to implement (less IFs -> less bugs )

Original comment by menn...@gmail.com on 11 Jun 2010 at 9:20

GoogleCodeExporter commented 9 years ago
ok, so 2b?
Let's take 2b and let's use it.
And the in the practice we will see, if it is enaugh, as we have seen option 1 
ist not good.

Original comment by herrl...@gmail.com on 11 Jun 2010 at 9:24

GoogleCodeExporter commented 9 years ago
Great. Want to do it, or shell I? It is your Issue, and I kinda hi-jacked it :)

Original comment by menn...@gmail.com on 11 Jun 2010 at 9:30

GoogleCodeExporter commented 9 years ago
I'll do it.

Original comment by herrl...@gmail.com on 11 Jun 2010 at 9:31

GoogleCodeExporter commented 9 years ago
Good. After this issue is closed, and the Release Candidate will work for a day 
or two, I'll release a new version to the Market, after which, you'll be able 
to release all the lang packs you are holding back due to the KEYCODE parsing).

Original comment by menn...@gmail.com on 11 Jun 2010 at 9:34

GoogleCodeExporter commented 9 years ago
r1064  should make option 2b work.

P.S.
What is your setting for tabs? spaces? If I format the code, i have quite 
another formating as you. 

Original comment by herrl...@gmail.com on 11 Jun 2010 at 10:26

GoogleCodeExporter commented 9 years ago
Formating is a problem.
I'll open a discussion in the news group about this, and we'll talk about this 
with salonen.

Original comment by menn...@gmail.com on 11 Jun 2010 at 1:21

GoogleCodeExporter commented 9 years ago
I've just installed the hebrew layout. I do not have hebrew fonts but I can 
"use it"
What is the problem? Are not you able to use backword? Is this the problem? 
Backspace works properly here.

Original comment by herrl...@gmail.com on 16 Jun 2010 at 7:51

GoogleCodeExporter commented 9 years ago
It doesn't work for me, I'm trying to understand why, I'm working on that.
BTW, what about the physical keyboard support?

Original comment by menn...@gmail.com on 16 Jun 2010 at 7:58

GoogleCodeExporter commented 9 years ago
I forgot about this completly :(
But now I'm working on it :)

Original comment by herrl...@gmail.com on 16 Jun 2010 at 8:09

GoogleCodeExporter commented 9 years ago
We have a general problem.

If I use shift for backword it should be unpressed aufter the action, right?

consider you type unshifted some text, then you press shift once and than 
backspace.
it deletes the last word. now if I type, it is shifted(capitlized).
if the shift was pressed directly for backspace then I think it should be 
turned off.

Original comment by herrl...@gmail.com on 16 Jun 2010 at 9:13

GoogleCodeExporter commented 9 years ago
Ok. This should be fixed too.

Original comment by menn...@gmail.com on 16 Jun 2010 at 9:40

GoogleCodeExporter commented 9 years ago

Original comment by menn...@gmail.com on 17 Jun 2010 at 1:40

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
what did u mean in  the comment 31  ?
Shift is is left on after I backword the word.

Original comment by herrl...@gmail.com on 17 Jun 2010 at 2:21

GoogleCodeExporter commented 9 years ago
So it is not fixed?

Original comment by menn...@gmail.com on 17 Jun 2010 at 2:32

GoogleCodeExporter commented 9 years ago
I thought I did fixed this. Didn't you coded around this?

Original comment by herrl...@gmail.com on 17 Jun 2010 at 2:34

GoogleCodeExporter commented 9 years ago
Actually, I can't remember what I did or didn't do :)
Can you verify this bug? Try to reproduce it with the latest testers version.

Original comment by menn...@gmail.com on 17 Jun 2010 at 2:36

GoogleCodeExporter commented 9 years ago
OK, where do I find the place. where after the keypress the shift is torned of?
I mean singe shift?

Original comment by herrl...@gmail.com on 17 Jun 2010 at 3:28

GoogleCodeExporter commented 9 years ago
have you reproduced the bug? Does it still not good?
If so, maybe look at 'handleCharacter' function, and see that we do there to 
turn off the shift.

Original comment by menn...@gmail.com on 17 Jun 2010 at 3:32

GoogleCodeExporter commented 9 years ago
Yes the bug is still there.

Original comment by herrl...@gmail.com on 17 Jun 2010 at 3:33

GoogleCodeExporter commented 9 years ago
I've commited a new fix.
Please checkout the latest and build a version for your testing.

Original comment by menn...@gmail.com on 17 Jun 2010 at 4:27

GoogleCodeExporter commented 9 years ago
r1122

Original comment by herrl...@gmail.com on 17 Jun 2010 at 7:57