Can a "FastPaste" equivalent be created in FastKeys?

Discussion, questions and support.
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » May 19th, ’21, 16:49

Hi All,

FastPaste is a simple app that I use to assist me with certain data entry tasks. However, I'm wondering if the same functionality could be built/configured using FastKeys. (Based on the reply and code below the answer appears to be "yes"...Neat-O!)

For the curious, here's what FastPaste looks like...
https://www.dextronet.com/fastpaste

The way I use FastPaste is...
1. First I type or paste text directly into FastPaste text boxes/fields, then...
2. Once I have populated the desired text values entered into the FastPaste fields/text boxes I can then go to a web form, or anywhere, and click into the forms field where I want to paste one of the values that I entered into FastPaste, and then click on FastPaste's "Copy" button (which can be configured/toggled to act as a paste button) and then the associated text is copied from FastPaste into the form field where my cursor was/is within a web form or other window/application.

For me, the thing about FastPaste that's valuable is the ability to quickly type in reusable text/data into the application and not have to go to a second screen to create/save reusable text/data values. (Just enter values into the available data storage fields)

If you're curious about my application, it's setting up appointments for customer call-ins (new customers only, one-time, not recurring). I like being able to acquire some basic information name, phone, date of birth, email, phone number, and some other basic data field information while speaking with a customer and then have the ability to quickly and easily paste the collected data from FastPaste to different web forms, documents, applications, etc.

Before I found FastPaste I'd have to ask the caller for the same information several times as I completed different form pages and forms.

Can someone identify a way that I could type text directly into a field/text box in FastKeys, and then be able to click on buttons that are next to each saved text field and have the associated just entered data copied and pasted to where my cursor was/is in another application/webform?

Hopefully, I'm being clear enough.

There are lots of clipboard manager/autotext apps, but they tend to focus on saving copied items as reusable values (permanent clips) to be saved for long-term use. I just need a handful of data fields ~10-20 fields that I can fill while speaking with a customer, and have the stored data saved for reuse during the call (be able to do some "quick pasting" of collected data into different forms/apps, etc. that I access during a call).

I'm imaging a reset/clear button that could wipe the previous caller's data (or keep it) and allow me to take the next call and populate a new/cleared form with the next customer's data.

I'm imagining that this type of app/functionality would be helpful to many who deal with entering caller data into forms, documents, etc. that aren't programmed to pass data values between web form pages/documents/applications. It's kind of embarrassing/frustrating to have to ask for customer information that's been previously gathered/used.

Thanks for listening and contemplating a FastKeys solution
Last edited by jvroom on May 25th, ’21, 19:53, edited 4 times in total.
User avatar
Tom
Posts: 791
Joined: Nov 24th, ’15, 23:39

Post by Tom » May 19th, ’21, 21:10

Interesting ideas, thanks. We may think if it would be possible to provide something similar in the future.
But it's a matter of preference - in FastKeys you simply copy all the data to the clipboard and then press a shortcut to select the needed entry.
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » May 21st, ’21, 12:56

An implementation idea that could possibly work?...

Convert lines of text into variable field names and generate a corresponding data entry field.

So, I'm imagining... In FastKeys, or in say notepad, I define my desired list of fields and somehow tell FastKeys to generate a form from the list. The form generated is simply a list of blank textbox fields (maybe with the field names listed next to them, or within the text boxes themselves).

Date
DOB (Date of Birth)
FName
LName
Street1
Street2
Apt
Phone
EMail
Sex
Notes

Etc...

To the left or right of each field, there would be a button that when pressed would copy the text that has been entered in the field. That alone is pretty good.

Bonus points if the copied field data could be automatically pasted to where the cursor is/was last located in another window (e.g. If the cursor was in the Phone field on a web form, then the user went to the phone field in FastKeys and pressed the button next to the Phone field, FastKeys would copy the value and automatically paste it to where the cursor was (e.g. Phone field) in another window/app/webform/etc.
User avatar
Marko
Posts: 1718
Joined: Mar 2nd, ’13, 21:02

Post by Marko » May 23rd, ’21, 17:41

Here is a quick script which should do what you need. Set a new shortcut and set Type to Command.
Please let me know if this is interesting and if you have further suggestions.

Code: Select all

if WinExist("FastKeys Paste"){
	Gui, hc:Destroy
	return
}

gui, hc:default
gui, destroy
gui, font, s9, Segoe UI
gui, margin, 15, 15
loop 10
{
	i:="0" A_Index
	gui, add, edit, xm w200 vHC%i%, 
	gui, add, button, xp+206 yp w75 h25 vHCC%i% gHCCopy, Copy
	gui, add, button, xp+81 yp w75 h25 vHCP%i% gHCPaste, Paste
}
Gui, -MaximizeBox -MinimizeBox +AlwaysOnTop +E0x08000000
gui, show,, FastKeys Paste
return

HCCopy:
foo:=SubStr(A_GuiControl,-1)
send, ^c
sleep 150
GuiControl, hc:, HC%foo%, %Clipboard%
return

HCPaste:
foo:=SubStr(A_GuiControl,-1)
gui, submit, nohide
sendinput, % HC%foo%
return
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » May 23rd, ’21, 18:54

Holy smokes,

I wasn't expecting to receive such a detailed and focused effort / solution, but it's very much appreciated. I'm not going to have a chance to try to figure out how to use your code until Monday, but I wanted to reply to let you know that the message was received and that I thank you for the effort. I'll be in touch with feedback.

Thanks again, you're amazing regardless of whether or not your proposed solution works out for me!
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » May 25th, ’21, 15:19

Hi Marko,

>>
Here is a quick script which should do what you need.
<<

To a great extent, the script is awesome...you're amazing!

>>
Set a new shortcut and set Type to Command.
<<

Once I figured out how to use the helpful Line 1 ("CODE: SELECT ALL") all was well (I was selecting and including Line 1 in my cut and paste into FastKeys and receiving an error. I figured it out after a bit.

>>
Please let me know if this is interesting and if you have further suggestions.
<<

Very interesting (and exciting/motivating to me to want to see it fine-tuned/developed some more).

I'm going to take you up on your offer to offer some suggestions (wish list items/thoughts/comments)

1) Minimize, minimize to tray, stay on top, transparent, roll-up capability (via title bar buttons, or right-click title bar drop-down menu options).
https://4t-niagara.com/tray.html <-- I like this utility, and configure it to not show title bar buttons but to include the functions in a right-click the title bar drop-down menu.

2) Resizable window, so if a particular field involves writing more text, the window could be enlarged so that you can see everything entered into the field.

3) Have an option to toggle the tab order to either include or exclude the copy and/or paste buttons. (During initial data entry, being able to skip (not tab through) the copy and paste buttons would make going from field to field easier/faster.)

4) To save on-screen space, rename Copy and Paste to smaller buttons that just say C and P (tooltip could say Copy/Paste). I'm imagining both buttons in the same amount of space as one of the current buttons.

5) Some way to label fields. (I'm imaging somehow seeing ghosted/grayed out field description text appear in each field that disappears when you enter, or start typing in fields)

6) Clear/erase/reset... A button, or right-click menu option that will delete data entered into the form (to be able to start entering new information.) ...Having the ability to "save" data to text file/table/spreadsheet would likely be helpful (To be able to review/log previously collected data. I don't need this currently, but I think it could be a must-have feature in some situations/applications)

If I knew how to code these types of things, I'm imaging that I would get sucked into a project like this. There really aren't many quick and easy form generating+enter data into fields+then easily copy and paste from them types of utilities that I've been able to find. Maybe there's a whole category of these types of utilities, but I just don't know what the category name is. In the meantime, I think you're on to something here that could really be useful/helpful to many. It's the type of application that people don't know exist, but when they see it would say to themselves "This is cool, and could be quite helpful in various situations."

=====

Hmm. I'm thinking that some type of "custom form generator button" or option that activated a custom form Wizard or template would be cool...
Wizard would...
- Prompt for a form name
- Prompt for the first field name (then keep requesting field names until all desired fields are named (with "move up"/"move down" field/tab re-ordering capability) ... or, the Wizard could ask, "How many fields"...then the Wizard would generate the requested number of fields.
- Prompt for additional form options (e.g. aesthetic/data entry/data type/format/etc. variables/options).
- Prompt for optional shortcut key
- Generate the custom form.

=====

If you're interested in going crazy...I'm imagining that over time more features/capabilities (add-ons?/modules?) could be added? Add form and field design options (default values, field text/background colors, calculated fields, text formatting, different types of fields (drop-down menus, checkboxes, multi-line text boxes, calculated fields, If, then, Else logic fields...all the different types of options featured in other form generating products) ... but all that could be added later.

Bye, mega-thanks, good luck...and once again you're awesome! :)
User avatar
Marko
Posts: 1718
Joined: Mar 2nd, ’13, 21:02

Post by Marko » May 28th, ’21, 09:32

Thanks for your comments. I was thinking of possibly integrating similar toolbar as a part of our Clipboard Manager. The toolbar entries would represent a clipboard values but user could quickly change them etc. I see a great convenience of having always on top toolbar with available clipboards which could be used or changed while working.

A Clipboard Toolbar could be opened using a key shortcut or from a menu. The window would be resizable with three small buttons (icons) for each field, for Copy, Paste and Delete the content. I would maybe position the Paste button to the left of the field. Tab order would skip the buttons. And that would be it for the beginning.
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » May 28th, ’21, 19:07

Hi Marko,

>>
Thanks for your comments.
<<
No, I thank you for your continued dialog and interest!

>>
I was thinking of possibly integrating similar toolbar as a part of our Clipboard Manager.
<<
Sounds exciting! Since there are lots of Clipboard Managers in the market, shouldn't your new add-on, module, product ... that can generate user-defined cut/paste form fields/values (in addition to changeable "clipboard" values) be called something that focuses users away from the "clipboard" and more towards "custom form fields and filling forms?

>>
The toolbar entries would represent a clipboard values but user could quickly change them etc.
<<
Okay. I get it. My previous comment relates to this topic.

>>
I see a great convenience of having always on top toolbar with available clipboards which could be used or changed while working.
<<
I Agree.

>>
A Clipboard Toolbar could be opened using a key shortcut or from a menu.
<<
Or, top/bottom/right/left edge of screen?

>>
The window would be resizable with three small buttons (icons) for each field, for Copy, Paste and Delete the content. I would maybe position the Paste button to the left of the field. Tab order would skip the buttons. And that would be it for the beginning.
<<
All sounds good to me.

I'm confident that providing a way to SAVE entered form data field values would be appreciated/helpful at times (frequently)
Save field values to ... (?)
- New .txt file? (Having the ability to select/create a default "Save" location. (Option to create and auto name saved file [date+time/number] saved .txt file. AND/OR Append newly added form data to a file (with the option to have date/time or sequence number appended to each saved/exported form)
- Export and/or append data to a spreadsheet, or as CSV file?

From end-user perspective, I think the real world (compared to optimal) form design flow would be...
Activate "New Form" function where the user is prompted for "New Blank Form with [user picks number] of fields, or Copy existing form.

Somehow include a "share your form to forum help gallery" button that makes it easy for a user to share/post a finished form's code somewhere so others can study/learn from it...and encourage creators to identify/describe the parts of the form that were most challenging and what resources they used to work through and improve upon their creation. Goal: Help acquire examples and how-to resources that can be discovered and shared.

Good luck! I'm looking forward to seeing/trying out the project...and see how it evolves over time. Whoever has a need to capture data while on a phone call and then wants/needs to save, copy, paste it in other places will likely find this application to be quite handy.
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » Jun 2nd, ’21, 17:42

Hi Marko/All,

Here are a few additional thoughts related to the project we've been discussing.

While the project has focussed on capturing dynamic (caller) data faster and easier, I'm now thinking that some common "static" data should also be accommodated.

Background: Call center operators sometimes work on multiple projects. Each project will often require that different data fields be completed (think...data entry templates for different projects...be able to pull up data entry template 1 or 2 or 3 quickly and easily).

After capturing caller data, operators often have to include a bit of personal data along with caller data (operator contact details [e.g. name, phone, extension, employee ID, email, supervisor/boss, address, etc.) when they are completing forms, too. So, I'm thinking that being able to include some data fields that are pre-populated with default values would be a valuable feature for the solution you're building.

Good luck! I'm looking forward to being able to use your ... invention!
jvroom
Posts: 28
Joined: Apr 30th, ’21, 12:37

Post by jvroom » Jun 3rd, ’21, 16:50

Hi Marko/All

Another feature/capability that I'm imagining would be helpful/desirable in the "FastPaste" alternative project that's being discussed here would be the ability to toggle/include a user-configurable "Help" button next to each field. When enabled, the button could be configured to display 1) user-defined text, 2) open a file, or 3) open a webpage. The currently imagined use case is that some data entry fields may need to be completed in a certain way, and the help button options mentioned above could be the ways that data field entry help could be accessed/reviewed.

Alternatively, I guess any way of implementing data entry/data field help would likely be enough.

Thanks for considering a way to add/implement a/some data field entry help solution(s)
Post Reply