Skip to content

A keyboard enhancer application made to reduce the amoung of hand movement while typing.

Notifications You must be signed in to change notification settings

ciprian-dragoe/Less.Keys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LessKeys

What it is

To reduce wrist movement for accessing certain keys (for example the arrow keys) you can change the layout of your keyboard only while the "space" key is pressed. After you release the "space" key, the normal keyboard layout is again set.

Example: you are writing the text "Helo, how are you doing?" and notice that you misspelled the word "hello". You press the left key until you reach the word "helo" and correct it. Alternatively you could press the "space" key and while it is pressed you press the "a" key which would be translated into left arrow key instead of the letter "a". After releasing the "space" key, when you press again the "a" key, the "a" letter will be sent.

Who is it for ?

  1. People who want to reduce the amount of wrist movement (similar results as having a kinesis advantage can be reached with certain alternative layouts, copy the ".cfg" files from .\docs\archived-layouts\kinesisReplacer\ to the root program path)
  2. Power users who want to type faster (especially for programmers who extensively use the ctrl/alt/shift modifiers for shortcut combinations)

Editing the layout

If you want to create your own layout you can edit the following files:

  1. my-layout
    This layout is active while the "space" key is not pressed
    Example: by setting capslock:enter you can remap the capslock key to enter key. While less keys is running you when you press "capslock", the "enter" key will be sent instead and capslock will not be activated.
  2. my-alternative-layout
    This layout is only active while having the "space" key pressed
    Example: by setting a:left when you have the space key pressed and press the "a" key you will instead have the "left" key pressed

Shortcuts

You can also create your own shortcuts. For this you need to assign a key combination with a number that must be implemented in the ./src/environmentDependent/live/shortcuts/resolver.ahk
The implementation is done in autohotkey. Please recompile the program after creating the new shortcut using ./src/lessKeys/compileLive.ahk

  • please be sure in the taskbar the program is not already running as it won't be able to write over it the new version
  • sometimes the antivirus can complain that the resulted file has a trojan, you can ignore the warning and set to allow the compiled file on your system

Advanced

  1. You can disable the program in certain apps by adding keywords of the program name in the file my-settings.cfg under the section [disable] appNames
    Example:
    [disable] appNames=Remote Desktop Connection~~~StarCraft~~~Virtual Machine Connection~~~skype
    While you are playing Starcraft it would be as if you have not opened LessKeys.
    If you open Skype you will notice that LessKeys is still functioning. This is because you have entered with lower letter the word skype and the application name is with upper letter, so you need to enter Skype
  2. If you have a trackpoint you can simulate as if you have a middle mouse button for scrolling like in thinkpad keyboards by pressing the "space" key and moving the trackpoint which will trigger a scroll. To enable this functionality add in the my-settings.cfg section mouse property scrollPoll and scrollAcceleration any positive number. You can play with these number to adjust the scroll speed
  3. For the layout used in .\docs\archived-layouts\kinesisReplacer\ you will see in the file my-layout.cfg that the "2" key is remapped to "leftShiftClick". This is a special modifier key which acts as the shift key and if no other key has been presed after pressing "2" the right click will be sent (or the value assigned to it in the my-settings.cfg file)

Development

  1. Before committing any PR please be sure that all integration tests are passing by running ./src/lessKeys/LessKeys_test.ahk
    This will start the notepad app and enter certain phrases during which it checks the validity of the code. The tests last ~10 minutes and at the end you will see an output in notepad with all the test results (if any failed tests you will see them at the end of the file)
  2. The code is structured to make the difference between live/test/development environment by the files it includes when you start the app via ./src/environmentDependent/{yourDevelopmentEnvironmentName}

About

A keyboard enhancer application made to reduce the amoung of hand movement while typing.

Resources

Stars

Watchers

Forks

Packages

No packages published