microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.05k stars 6.53k forks source link

Text converter between different keyboard layouts #14850

Open MikronT opened 2 years ago

MikronT commented 2 years ago

Description of the new feature / enhancement

A new keyboard shortcut (something like Win+Shift) to switch between keyboard layouts like Win+Space does but WITH converting selected text to the chosen keyboard layout.

Scenario when this would be used?

When you have 2+ different keyboard layouts installed and need to switch between them very often, you can mistakenly start typing text on the wrong one.

For example, I have 3 keyboard layouts installed: for typing in Ukrainian, Russian, and English. Chatting with friends in Ukrainian, searching for some info in Russian, and coding simultaneously require changing the layout every time I switch between these activities. I often forget about this and start typing with the wrong one selected producing something like Ghbdsn? zr cghfdb instead of Привіт, як справи? or мукн шьзщкефте ьуыыфпу instead of very important message. Sometimes you can write a very large piece of text on the wrong keyboard layout and then have to retype everything.

With a specific keyboard shortcut, you can select that text written on the wrong layout, hold down Win, and press Shift several times to convert the selected text. Example scenario:

Select мукн шьзщкефте ьуыыфпу -> hold down Win and press Shift once (conversion to Ukrainian happens) -> мукн шьзщкефте ьуііфпу still not the right one -> press Shift again (conversion to English happens) -> very important message finally the right one!

Additionally, the new shortcut can also send Win+Space to also display the system's built-in language switching dialog and change the layout to let the user continue typing with the right one selected.

image

Supporting information

No response

crutkas commented 2 years ago

this is actually a really neat idea. Testing i have different keyboards installed and i do this ALL THE TIME

Yoksven commented 2 years ago

I always wanted for this type of feature to exist somewhere. I really hope it gets implemented.

AivenGor commented 2 years ago

This is an amazing feature. The app that does this, Punto Switcher, was made in Russia once, sold to Yandex for 100k USD, and now it's quite frightening to continue using it.

There are some alternatives for: Windows, Windows NT Aml Maple Arum Switcher Caramba Switcher dotSwitcher EveryLang Key Switcher Keyboard Ninja LangOver Mahou Orfo Switcher

Seems like all of these are maid by Russians or anonymous groups. Rooting for your implementation of this brilliant idea!

VladWinner commented 2 years ago

@MikronT Maybe you should try Mahou. https://github.com/BladeMight/Mahou/releases/tag/latest-commit image

mnymic commented 1 year ago

Description of the new feature / enhancement

A new keyboard shortcut (something like Win+Shift) to switch between keyboard layouts like Win+Space does but WITH converting selected text to the chosen keyboard layout.

Scenario when this would be used?

When you have 2+ different keyboard layouts installed and need to switch between them very often, you can mistakenly start typing text on the wrong one.

For example, I have 3 keyboard layouts installed: for typing in Ukrainian, Russian, and English. Chatting with friends in Ukrainian, searching for some info in Russian, and coding simultaneously require changing the layout every time I switch between these activities. I often forget about this and start typing with the wrong one selected producing something like Ghbdsn? zr cghfdb instead of Привіт, як справи? or мукн шьзщкефте ьуыыфпу instead of very important message. Sometimes you can write a very large piece of text on the wrong keyboard layout and then have to retype everything.

With a specific keyboard shortcut, you can select that text written on the wrong layout, hold down Win, and press Shift several times to convert the selected text. Example scenario:

Select мукн шьзщкефте ьуыыфпу -> hold down Win and press Shift once (conversion to Ukrainian happens) -> мукн шьзщкефте ьуііфпу still not the right one -> press Shift again (conversion to English happens) -> very important message finally the right one!

Additionally, the new shortcut can also send Win+Space to also display the system's built-in language switching dialog and change the layout to let the user continue typing with the right one selected.

image

Supporting information

No response

@MikronT Thanks for putting your time and effort into such a detailed description. As a long-time PowerToys user, I can't be more excited to have such a useful feature in the toolset.
Also, your user story looks like more than sufficient input for ChatGPT to generate a function or a script written in a programming language of choice. (BTW, ChatGPT unavailable in UA last time I checked) Haven't tried Co-pilot yet, but I have heard rather impressive reports on experimenting with it. :)

kalikin-artem commented 1 year ago

That would be a fantastic feature for all who uses more than one keyboard layout, looking forward to see it 👍

VStepulo commented 10 months ago

Is this feature already implemented?

mnymic commented 5 months ago

Not implemented yet, but the fact the issue is still open gives hope it will be someday.

LowTechPotato commented 3 months ago

wait it so much!

toranih commented 1 month ago

نامفهوم زبان فارسی

toranih commented 1 month ago

iraniزبان فارسی

Korb commented 3 weeks ago

Maybe you should try Mahou.

The interface, invented by programmers, is most often no good. I often give an example of this application in which the settings, their order, grouping, design - look disgusting. At the same time, the group engaged in this product is engaged in it for so long that there is no hope for a fundamental change in the type of application.

I have to continue to use the Punto Switcher in portabe applications, forbidding him Internet access. Of its capabilities, I use the following functions daily:

  1. An automatic Russian to English keyboard layout switching (this function is in Windows, but without its configuration and additional functionality present at Punto Switcher, it is inconvenient)
  2. The current layout indicator (more compact and visual than the Windows language panel)
  3. Cancel the converting of the layout
  4. Change the layout of the selected text #14850
  5. Change the case of the highlighted text #3335
  6. Rules for switching keyboard layout
  7. List of programs for which auto-reducing the layout is not used
  8. Automobiles pre -specified letters of letters with snippets (often used fragments of the text). #5074

I would gladly switch to a developing alternative FOSS application if it existed.