topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday December 3, 2024, 6:09 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: NANY2016 idea - [non-runner] Caret Control  (Read 9375 times)

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,964
    • View Profile
    • Donate to Member
NANY2016 idea - [non-runner] Caret Control
« on: October 09, 2015, 01:35 PM »
[EDIT// see reply #4 below -- I changed title to "non-runner", and the more accurate "Caret Control" ]

If this idea takes off, it'll require a thread of it's own, so I'll start it already ;-)

Idea is to control the cursor via the keyboard, no matter where it is --
the cursor can normally be controlled via keyboard in most apps, but I would like to be able to standardise behaviour across all software.


Here's an example of non-standard and variable behaviour:

Ctrl+RightArrow will bring the cursor to end of the next word, but if the next word is the last in the sentence, and is followed by multiple carriage-returns (blank lines), the cursor will go to the very end of the blank lines in some software (e.g. Thunderbird);
in intelligent software/fields, it will simply go to the end of the sentence -- which is also the end of the word. Then behaviour varies -- sometimes it will go to each following line, sometimes it will treat all blank lines as one block and go directly to the end of these.

Other factors are stopping the cursor within a 'solid' block of text at certain symbols e.g. various brackets or symbols.
asrgags]dsht\sghdh)srthr'rsdhdj
and should it stop either side of that symbol ? or just on one side of it (similarly with blank spaces and words) ?

Different people would want different behaviour which might require options :-/
So, I think the big questions here are:

  • first, is it even possible ?
  • if so, is it worth it?
    I dont know how much work it would involve -- trying to define all behaviours in all circumstances could be too much work for the return (:p) ?
Tom
« Last Edit: October 10, 2015, 04:35 AM by tomos »

ayryq

  • Supporting Member
  • Joined in 2009
  • **
  • Points: 101
  • Posts: 290
    • View Profile
    • Donate to Member
Re: NANY2016 idea - Cursor Control
« Reply #1 on: October 09, 2015, 04:23 PM »
How is this currently implemented? Is it a system control, or does each programmer implement it? Are the differences you've noted because of the base programming language or IDE, or something?

I just wonder how "low-level" the functionality is. And presumably you'd want this to affect every place text is not only editable, but even "highlight-able" as ctrl-shift-right arrow works in practically every application.

Eric

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,964
    • View Profile
    • Donate to Member
Re: NANY2016 idea - Cursor Control
« Reply #2 on: October 09, 2015, 05:05 PM »
And presumably you'd want this to affect every place text is not only editable, but even "highlight-able" as ctrl-shift-right arrow works in practically every application.

Ctrl+Shift+Arrow -- yeah, I was thinking of that too.
Then there's Ctrl+[Shift]+End/Home, but that behaviour is very standard.
There's well possibly other variations I dont know about...

Actually, the biggest culprit is Thunderbird with the example given above, but also e.g. explorer when renaming files (but I suspect that's even more difficult behaviour to modify (I'll look at it over the weekend to get examples).

I'm wondering though if this whole thing is just a minor annoyance? Anyone else have thoughts on the idea?


PS ayryq, I'm not qualified to answer your first question. I'm just the ideas man :)
Tom

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: NANY2016 idea - Cursor Control
« Reply #3 on: October 09, 2015, 09:38 PM »
Very roughly it seems to me to be a kind of "override naturals" kind of thing and you'd have to "load modules" kind of thing.

Notepad? Notepad2? Kingsoft Spreadsheet? MyInfo (My turbo program) ?  X others? It's close as is to that Sharecart system where some master X uses the same data but it may mean diff things in diff programs. So to call it "universal" feels dangerous somehow.

I think it's a good idea but prone to truly epic vicious scope creep!
 :o

skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,287
    • View Profile
    • Donate to Member
Re: NANY2016 idea - Cursor Control
« Reply #4 on: October 10, 2015, 12:23 AM »
first, is it even possible ?

The problem that's going to be run into is that there are so many edit controls, across various programs, each with their own caret handling, that I think any attempt at a universal solution is tantamount to madness.

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,964
    • View Profile
    • Donate to Member
Re: NANY2016 idea - [non-runner] Caret Control
« Reply #5 on: October 10, 2015, 04:31 AM »
first, is it even possible ?

The problem that's going to be run into is that there are so many edit controls, across various programs, each with their own caret handling, that I think any attempt at a universal solution is tantamount to madness.

thanks Skwire,
I was thinking that could be a possibility --
also considering it's a relatively minor annoyance, I think we can safely drop the idea.


EDIT// changed thread title to "NANY2016 idea - [non-runner] Caret Control"
Tom
« Last Edit: October 10, 2015, 04:40 AM by tomos »

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: NANY2016 idea - [non-runner] Caret Control
« Reply #6 on: October 10, 2015, 02:10 PM »
first, is it even possible ?

The problem that's going to be run into is that there are so many edit controls, across various programs, each with their own caret handling, that I think any attempt at a universal solution is tantamount to madness.

thanks Skwire,
I was thinking that could be a possibility --
also considering it's a relatively minor annoyance, I think we can safely drop the idea.


EDIT// changed thread title to "NANY2016 idea - [non-runner] Caret Control"

You can do selective things with AHK without too much difficulty.  I have a catch all hotkey program called Transpose because I originally wrote it to transpose the last 2 letters typed when I hit Control t.

Other than adding new hotkeys the maintenance is adding ahk window classes to groups.  Now and then a browser will change its main window class name so you have to add it etc..

But by using #IfWinActive you can selectively change the behavior of the hotkey depending on which program has the focus.

I'll attach the source in case you want to look at it.