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

Improving keyboard-based working #738

Open
AngusPhoe opened this issue Jan 19, 2025 · 17 comments
Open

Improving keyboard-based working #738

AngusPhoe opened this issue Jan 19, 2025 · 17 comments
Assignees

Comments

@AngusPhoe
Copy link

AngusPhoe commented Jan 19, 2025

Hi Frank,

following the discussion in [](#666 (comment)), here's the ticket for improving keyboard-based working with exiftoolgui.

My general thought: for extensive users of the program (editing 1000+ files) it can save time, if mouse-based actions can also be done by using keyboard shortcuts. The key shortcut CRTL+S is a very good example. In this ticket I would focus mainly on actions related to editing (not to viewing)

So what would be often used actions? And which action can be faster with keyboard than with mouse? This will be very subjective. I give it a starting try (is there something like sub-issues in github?):

  1. selecting a directory
    • frequency: seldom
    • faster with keybord than mouse?: yes, if a previous or next directory shall be selected. Otherwise: no
    • priority for change: low
    • solution idea: accessing the directory window and the currently selected directory by pressing a shortcut (e.g. CTRL+D, for Directory, new). The new directory is selected as in status quo (up/down keys)
  2. selecting one or more files
    • frequency: very often
    • faster with keybord than mouse?: yes, if one one more consecutive files next to the current file shall be selected. Otherwise: no
    • priority for change: high
    • solution idea: accessing the file list window and the currently selected file/files by pressing a shortcut (CTRL+L, for file List, new). New file/files are selected as in status quo (up/down/shift keys)
  3. editing and saving values of tags in the Workspace
    1. selecting a tag in the Workspace
      • frequency: very very often
      • faster with keybord than mouse?: yes, if being in the tag file window and the currently highlighted tag or a neighboring tag shall be selected. Otherwise: no
      • priority for change: very high
      • solution idea: accessing the workspace window and the previously selected tag by pressing a shortcut (e.g. CTRL+W, for Workspace, new). New tag can be selected as in status quo (up/down keys)
    2. editing a value of a tag in the Workspace
      • frequency: very very often
      • faster with keybord than mouse?: (-), is already today a keyboard-based action. But: the action has always to be intiated by pressing ENTER. (loss of time)
      • priority for change: very high
      • solution idea: the value field of the selected tag is already in editing mode by default. The editing is done in the line of the selected tag. Editing is finished+confirmed by pressing ENTER (the next tag is selected) or by pressing SHIFT+ENTER (the previous tag is selected). Editing is finished+refused by pressing ESC (the current tag remains selected). All changes are confirmed as in status quo (CTRL+S)
  4. opening a file (in an external application)
    • frequency: medium
    • faster with keybord than mouse?: yes
    • priority for change: n/a, is already implemented by pressing ENTER in the file list window
  5. Accessing actions from the menu (e.g. Modify->DateTime shift
    • frequency: medium to often
    • faster with keybord than mouse?: yes. keyboard-based solution is alrady existing with ALT+"underlined menu letter"+"underlined menu item letter". Only little drawback: need to press 3 keys and not so easy to remember letter combinations
    • priority for change: low to medium
    • solution idea: adding shortcut CTRL+LETTER shortcuts for the most important actions
      • Modify -> DateTime shift: CTRL+?
      • Modify -> DateTime equalize: CTRL+?
      • Modify -> Remove Metadata: CTRL+R
      • Various --> File: Date created ... : CTRL+? (does not belong here: but this action could also fit into the DateTime equalize menu item)
      • ... (as mentioned, it is very subjective, which actions are used most)
  6. Using ExifTool direct
    • frequency: medium
    • faster with keybord than mouse?: yes
    • priority for change: medium
    • solution idea: accessing the ExifTool direct dialog by pressing a shortcut (e.g. CTRL+T, for direcT, new).
  7. Changing between directory window, file list window and workspace
    • frequency: see 1, 2 and 3
    • faster with keybord than mouse?: yes
    • priority for change: low, if solutions for 1, 2 and 3 exist
    • solution idea: using the key TAB

I don't know if I come up with even more change requests. A subtask solution would be good.

I am very interested how you think about this issue.

Kind regards,
Angus

@FrankBijnen FrankBijnen self-assigned this Jan 19, 2025
@FrankBijnen
Copy link
Owner

Hi Angus.

I see....

2 questions/remarks upfront.

  1. You mention the word new a few times. For example (e.g. CTRL+T, for direcT, new). What does new stand for?
  2. I understand what you want to acheive with editing in the Workspace. But I think the multiline tags, or tags needing more space, could be a problem (E.g. Keywords) Also I would like to enable that only with a new parameter in Preferences.

Let me think,

Frank

@AngusPhoe
Copy link
Author

Hi Frank,

here my answers to your two questions/remarks.

  1. In my list I tried to distinguish between existing features (status quo) and potentially new features. The word "new" was not well selected - I should have better used "potentially new feature" instead.
  2. Thanks to your comment, I discovered the "Large" button today. Very handy, indeed, when having e.g. long strings. // Does something like this might work: when entering a value field, its height is dynamically adjusted (overlapping the fields below)?

I really hope that my proposals/wishes don't sound unreasonable ("onbeschoft"?) to you.. Due to my lack of programming knowledge I cannot assess the required effort.

@FrankBijnen
Copy link
Owner

Hi Angus,

Thanks for your clarifications. And no "Niemals unverschämt".

For the long/large strings you will have to revert to the existing method. All rows in the grid should be the same height. (Need to check, but strongly belief so)

Frank

FrankBijnen added a commit that referenced this issue Jan 21, 2025
@FrankBijnen
Copy link
Owner

Hi Angus,

Did some changes already,


Ctrl/D ==> Directory
Ctrl/L ==> FileList
Ctrl/T ==> ExifTool Direct
Ctrl/W ==> WorkSpace

All the program menu functions should be accessable using ALT + shortcut. (Standard Windows) This can be different per language, so I like to have the default behaviour. For the functions you mentioned in English these are the shortcuts.

datetime shift    = ALT/M, E
datetime equalize = ALT/M, X
remove metadata   = ALT/M, R
file date created = ALT/V, F

I also reviewed the (Shift)Tab behaviour. You can now cycle from Directory to Filelist to Exiftool Direct(if enabled) to MetaData, or OSM map.

Editing the Workspace will have to wait, need some inspiration how to go about that.

You'll find the pre-rel in the usual place. https://1drv.ms/f/s!AhVJC-QzM33pknOS7KwBi09lgNql?e=n7ztFX

Next few days, I will not respond,

Best regards,
Frank

@AngusPhoe
Copy link
Author

AngusPhoe commented Jan 21, 2025

Hi Frank,

great! and many thanks for the quick solution.

My response to it:

  • 1, 2 and 3i (accessing directory/file/work space window) work perfectly for me
  • 6 (ExifTool direct)
    • CTRL+T works very well to open and close the dialog.
    • When opening the dialog the cursor jumps in the field "Command (press ...)", which makes very much sense. As all my commands are saved as predefined ones, my first intention was to use tab to reach the dropdown field and then further use the down arrow button to open the selection list. However, in the current implementation, tab leaves the ExifTool direct dialog and cycles to Workspace.
    • I wonder, if it could be an intuitive solution, that pressing the tab key also cycles through the predefined commands dropdown field? If one does not want to cycling through the "command" and "predefined" when pressing tab, one can easily press CTRL+T again.
  • 7 (using tab):
    • works very well for me, except the one usecase above
    • I did not manage to reach the OSM map (which is fine for me, because editing in this window requires the mouse, anyway. So accessing this window I would use the mouse in the first place).
  • Program menu functions accessable using ALT + shortcut: yes, they work. I was just to lazy so far to remember these shortcuts.

Thanks again for your great work!

Angus

@FrankBijnen
Copy link
Owner

Hi Angus,

Uploaded a pre-rel to the usual location. This is the list of changes.

  • Bullet 6. ExifTool Direct. Now cycles also the predefined list.
    Note: Use Enter to focus the command itself and Enter again to execute the command. Or choose the command with the mouse.

  • Bullet 7. OSM Map. Use CTRL/M to select the OSM Map tab. If that tab is open you cycle with TAB to the Find Edit box of the MAP.

  • Bullet 3 II. In Preferences/Other I have added a checkbox '- Workspace: Enable line editing'. If you enable that the Workspace allows direct editing. This proved to be a tricky change. I am not trying to make you feel sorry for me, all I want to make clear is that the code should be well tested.

Looking forward to your comments.

Frank

@AngusPhoe
Copy link
Author

Hi Frank,

thans for the update. My feedback:

  • Regarding ExifTool Direct --> works like a charm for me
  • Regarding OSM Map --> works as you described it.
    • Comment: I never used exiftoolgui for geo-related viewing/working (I use geosetter instead). While testing this feature within this issue I was wondering: Is it intentially programmed that, while browsing within the file list, the gps-location on the map is not updated? Only after pressing "Show on map"?
  • Regarding Wokspace direct editing
    • My first reaction: Amazing! Super fast editing. Ituitive.
    • Navigation to the next/previous field with arrow down/up --> works
    • Navigation to the next field with ENTER --> works
    • Navigation to the previous field with Shift+ENTER (my expectation; I know there is no common standard for Shift+Enter throughout most programs) --> navigates to the next field instead --> fine also
    • When reaching a field, the according value is selected / hghlighted --> makes very much sense to enable quick editing
    • When trying to only edit a portion of an existing value, the key "left arrow" deselects the value and the cursor is placed in the beginning of the field --> editing portions of the existing value possible
      • However: I really miss the functionality with the (for me more intuitive) key "right arrow" to unselect the value and place the cursor at the end of the field
    • I found a bug, that I could not really understand, yet: Sometimes the Save button (and CTRL-S) does not work. I cannot tell you, why or under which circumstances. I will continue testing.

Kind regards,
Angus

@FrankBijnen
Copy link
Owner

Hi Angus,

Meanwhile fixed 2 annoying bugs. Be sure to download the latest Zip file. (26-1-2025 13:24)

Frank

@AngusPhoe
Copy link
Author

AngusPhoe commented Jan 26, 2025

I found a bug, that I could not really understand, yet: Sometimes the Save button (and CTRL-S) does not work. I cannot tell you, why or under which circumstances. I will continue testing.

I continued testing with the older version of the prerel. I could reproduce that while navigating to the Workspace be means of TAB, saving did not work. When navigating to the Workspace by means of the mouse, saving was possible.

Be sure to download the latest Zip file. (26-1-2025 13:24)

I downloaded and tested this prerel. The saving issue is gone.

I found a mini-bug: The last selected tag is not remembered anymore when leaving the workspace window.

I did not work with many files so far, but I am much faster than before. Interesting observation: I don't really use the shortcuts (e.g. CTRL-D) so much - in most cases I simply use TAB and the arrow keys - and no mouse needed anymore. 👍

@FrankBijnen
Copy link
Owner

Thanks Angus.

Will look into it.

Frank

@FrankBijnen
Copy link
Owner

Hi Angus,

My remarks.

Is it intentially programmed that, while browsing within the file list, the gps-location on the map is not updated? Only after pressing "Show on map"?
The truth is that it was like this in V516 (Bogdan's version) and I never felt the need to reconsider. It's nearly impossible to use the V516 Map, because that uses Google Map, so my answer is based on looking in the code.
I can only guess why Bogdan used that method. Easier to program? Prevent moving the map?
I do use the function for tagging images from trips. What I tend to do is select all files, click on "Show on map'. Next on the map I close the files/images that are satisfactory tagged.

Navigation to the previous field with Shift+ENTER
Yes. That is a bit of an awkward request. As you say, not a well accepted standard. It could be programmed, but how many people would use it?
I believe a Windows standard would be Tab, Shift/Tab to get to the next, previous field. But we have already used that.
The fastest I can think of is just use the Cursop Up/Down keys. The newly selected line is in edit mode right away.
Example: Suppose you are editing line 10, have typed something, using Cursor Up saves line 10, and enters edit mode for line 9. Shift Enter would not be faster!

However: I really miss the functionality with the (for me more intuitive) key "right arrow" to unselect the value and place the cursor at the end of the field
I agree. Even more because using the 'old method' with the edit box at the bottom of the form behaves like that.
Changed the program, and uploaded a new Zip.

I downloaded and tested this prerel. The saving issue is gone.
That was indeed one of the bug fixed. The other was the 'Undo selected editing' did not work.

I found a mini-bug: The last selected tag is not remembered anymore when leaving the workspace window.
Good catch! Fixed also and uploaded to new Zip.

There is 1 thing more I have changed. Using the keyboard you could hear a 'Beep' or 'Bell', usually when pressing Enter. Now you can disable that in Windows, but I also disabled that in the program. At least for the cases where it annoyed me.

Thanks again Angus, for your testing and remarks. You can't believe how happy I am with you as a 'super-user'.

Frank

@AngusPhoe
Copy link
Author

Hi Frank,

I downloaded and tested (quickly) the prerel version from yesterday. Here's my feedback:

  • Again: Amazingly fast editing (combination of 1) Tab and Shift+Tab to switch between files and workspace , 2) direct editing and 3) CTRL-S) compared to the time of only mouse-based actions.
  • right arrow in Workspace: works
  • remember the last selected tag in Workspace: works
  • regarding sounds: I have switched off all sounds in Windows, so I did not recognize this issue

You can't believe how happy I am with you as a 'super-user'.

The pleasure is on my side. I am so happy that a super developer like you invests his spare time for free. Great work!

Angus

@FrankBijnen
Copy link
Owner

Hi Angus,

Thanks for responding quickly. Do you agree this issue can be closed? If yes, I will do that when I release V6.3.7. and add it to the changelog.

One remark. You mention switching between files and workspace. Do you remember the shortcuts CTRL/Cursor Up and CTRL/Cursor Down? When editing in the workspace they load the previous/next file from the filelist, Even quicker than switching between file list and workspace!

Meanwhile I did some work on the QuickTime issue. You can expect a mail within a few minutes.

Frank

@AngusPhoe
Copy link
Author

Hi Frank,

Do you agree this issue can be closed? If yes, I will do that when I release V6.3.7. and add it to the changelog.

Yes, this issue can be closed.

One remark. You mention switching between files and workspace. Do you remember the shortcuts CTRL/Cursor Up and CTRL/Cursor Down? When editing in the workspace they load the previous/next file from the filelist, Even quicker than switching between file list and workspace!

I remember but I must admin that I haven't used very often (shame on me requirer).
BTW.: I tested this functionality now and it seems to work. However, this funtionality does not work in version 6.3.6 anymore, did you know?

Meanwhile I did some work on the QuickTime issue. You can expect a mail within a few minutes.
I will have a look into it hopefully tomorrow .

Kind regards,
Angus

@FrankBijnen
Copy link
Owner

However, this funtionality does not work in version 6.3.6 anymore, did you know?

Yes I noticed and fixed it.

I have been busy creating a readme with all Keyboard shortcuts. That's when I noticed.
Please have a look, your input is, as always, very welcome!

Frank

Readme keyboard shortcuts.txt

@AngusPhoe
Copy link
Author

Hi Frank,

I have been busy creating a readme with all Keyboard shortcuts. That's when I noticed. Please have a look, your input is, as always, very welcome!

The readme file is very extensive. From my point of view it coveres everything. (I relealized that my keybord does not have page down/up keys for the first time)

When reading this very detailled list I was wondering if repeating buttet points like "Home, End", "Cursor Up, Down", ... could not be better placed in the "A summary of the most well known" section as they show mostly the same behaviour.

Kind regards,
Angus

@FrankBijnen
Copy link
Owner

When reading this very detailled list I was wondering if repeating buttet points like "Home, End", "Cursor Up, Down", ... could not be better placed in the "A summary of the most well known" section as they show mostly the same behaviour.

Will look into it.

Thanks
Frank

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

2 participants