Recent

Author Topic: Using 10 Fingers  (Read 7747 times)

Josh

  • Hero Member
  • *****
  • Posts: 964
Re: Using 10 Fingers
« Reply #15 on: January 09, 2022, 02:36:51 am »
Hi Getmem,

modified app, does not use richmemo; so should be ok for nix..

Development Installation Lazarus 1.3, FPC 2.7.1,Windows 7/8 32/64, OSX, *nix

Test Environment Lazarus & FPC Trunk on Windows and OSX (Cocoa Mainly on OSX). Testing also Crosscompile windows to OSX.. 
Any posts made from 2015 will be based on Lazarus Trunk.

GetMem

  • Hero Member
  • *****
  • Posts: 3760
Re: Using 10 Fingers
« Reply #16 on: January 09, 2022, 09:49:45 am »
@josh

Very nicely done! Thank you!  :) Now it works on Linux too. Will test later on macOS.

Few notes:
1. There is a small glitch, if you type the same letter multiple times the length of the text increases(see attached image) 
2. When I press the ESC key, the test does not end(most likely related to point 3)
3. You moved from UTF8KeyPress to KeyPress, I don't know how well it works for non English characters(Russian, Chines, etc..)
4. Can you please add the possibility to load text from file?
5. If you have github(I don't) can you please upload the project?


Josh

  • Hero Member
  • *****
  • Posts: 964
Re: Using 10 Fingers
« Reply #17 on: January 11, 2022, 12:47:24 am »
@getmem

uploaded an update; moved routines into unit;
there is now a load button.

now the text area will auto scroll, keeping active line centered when needed. I had a brain freeze earlier and winni helped in other post, i dont do much graphic work; so brain was foggy.

the 'glitch', is by design, if you press the wrong key, the displayed correct text is over written with the wrong text, it is then in red, if you type the write character but wrong case ie c instead of C, it is highligted in blue.

The size of the text is limited to 1500px this can be changed, but equates to about a 200 line text file.

I dont use utf8 much at all, all my stuff is old school ascii, will have to look at that, is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines.. Like I said, i have not to use it for what I do; which is primarily data aquasition and manipulation from various hardware devices.. so good old HEX,Binary stuff.


edit
modified some ufunction routine in thread execute and wait to reduce cpu load (from 20%idle to 1%idle)
« Last Edit: January 11, 2022, 02:38:56 am by josh »
Development Installation Lazarus 1.3, FPC 2.7.1,Windows 7/8 32/64, OSX, *nix

Test Environment Lazarus & FPC Trunk on Windows and OSX (Cocoa Mainly on OSX). Testing also Crosscompile windows to OSX.. 
Any posts made from 2015 will be based on Lazarus Trunk.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 8099
  • Debugger - SynEdit - and more
    • wiki
Re: Using 10 Fingers
« Reply #18 on: January 11, 2022, 01:42:11 am »
There is something wrong with the keyboard displayed.

GetMem

  • Hero Member
  • *****
  • Posts: 3760
Re: Using 10 Fingers
« Reply #19 on: January 11, 2022, 02:59:46 pm »
@josh

Quote
uploaded an update; moved routines into unit;
there is now a load button.

now the text area will auto scroll, keeping active line centered when needed. I had a brain freeze earlier and winni helped in other post, i dont do much graphic work; so brain was foggy.

the 'glitch', is by design, if you press the wrong key, the displayed correct text is over written with the wrong text, it is then in red, if you type the write character but wrong case ie c instead of C, it is highligted in blue.

The size of the text is limited to 1500px this can be changed, but equates to about a 200 line text file.

I dont use utf8 much at all, all my stuff is old school ascii, will have to look at that, is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines.. Like I said, i have not to use it for what I do; which is primarily data aquasition and manipulation from various hardware devices.. so good old HEX,Binary stuff.


edit
modified some ufunction routine in thread execute and wait to reduce cpu load (from 20%idle to 1%idle)
Thanks.

MathMan

  • Sr. Member
  • ****
  • Posts: 269
Re: Using 10 Fingers
« Reply #20 on: January 11, 2022, 03:54:06 pm »
Maybe I'm the odd one here again - but I never bothered to learn 10 finger typing. Reason for that is - when I'm programming 90% of my time is spent thinking and only 10% typing. There simply is no advantage in it for me.

But I also admit, that I'm a really slow programmer.

Cheers,
MathMan

Thaddy

  • Hero Member
  • *****
  • Posts: 11773
Re: Using 10 Fingers
« Reply #21 on: January 11, 2022, 03:59:14 pm »
Maybe I'm the odd one here again
No you are not...
Black themes should be banned.

440bx

  • Hero Member
  • *****
  • Posts: 2933
Re: Using 10 Fingers
« Reply #22 on: January 11, 2022, 04:01:06 pm »
You're odd if you have 11 fingers... now, that, is mathematically odd.  :D

As far as 10 finger typing...

Fast programmers delegate thinking to their fingers.  10 brains and parallel execution... can't beat that.
FPC v3.0.4 and Lazarus 1.8.2 on Windows 7 64bit.

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1043
Re: Using 10 Fingers
« Reply #23 on: January 11, 2022, 05:13:09 pm »
You just have to learn to multitask: while typing a part, already design the next part. Or, think of the things that interact and/or would make the current part simpler and/or more efficient.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 8099
  • Debugger - SynEdit - and more
    • wiki
Re: Using 10 Fingers
« Reply #24 on: January 11, 2022, 05:38:12 pm »
You're odd if you have 11 fingers... now, that, is mathematically odd.  :D

As far as 10 finger typing...
And if you have 9 fingers, someone might call you a square. And if they do, you can't get even with them.
But worse, if you had 1 finger: Not in your prime, still a square, still not getting even, and can't duel them, because for a duel you need a second.

But imagine you had -1 fingers, only the imaginary can help you find the root (cause) of that. :)
« Last Edit: January 11, 2022, 05:45:46 pm by Martin_fr »

Sieben

  • Sr. Member
  • ****
  • Posts: 301
Re: Using 10 Fingers
« Reply #25 on: January 11, 2022, 06:21:37 pm »
Quote from: josh
...is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines..

The latter and more is in LazUTF8 of course, for the former you might want to have a look at GetCodePoint / SetCodePoint in unit MaskEdit.
Lazarus 2.2.0, FPC 3.2.2, .deb install on Ubuntu Xenial 32 / Gtk2 / Unity7

 

TinyPortal © 2005-2018