Code Monkey home page Code Monkey logo

poweraccent's Introduction

How it works

Press and hold a letter that supports diacritic marks, then press space bar or arrow key to select the accent. For example E + Space. With spacebar, repeat presses to change accent mark. When releasing the letter key, the accented letter is inserted.

Note: Some characters (like ¡ for Spanish are available with the comma (,) key).

The software is currently working with the most of accents for several (Latin script based) countries, including Czech, German, France, Maori and many others. The list can be found in Languages.cs. If any language is missing, don't hesitate to create an issue.

All letters are sorted by usage frequency by default, as found on Wikipedia.

Download

See the Releases page.

Known problems

  • Some keys can have interference with some actions or some tools (for example: AutoHotkey)
  • (Experimental feature) Inside browsers and some other software, the tool can't detect the caret position. Default position is applied, meaning the one you choose in the position settings.
  • Mathematical symbols are often requested. But for several reasons (technical and functional), this feature can't be implemented now in the tool. So currently mathematical symbol will not be accepted (cf: issue).

The future

  • More letters and accents
  • Theme and design improvement
  • Some other asked features

PowerToys

PowerAccent has been implemented in PowerToys and renamed as QuickAccent. Both have globally the same features and offer different experiences in the usage (taskbar icon, and different settings view).

If you like it

Buy me a coffee. ☕ https://www.buymeacoffee.com/dams

Thanks to

  • Ciantic for the implementation of the Keyboard Listener.
  • Saurabh Singh to share how get the caret position.
  • PowerToys team to integrated PowerAccent in PowerToys (named as Quick Accent).

poweraccent's People

Contributors

alpturedi avatar damienleroy avatar dugowitch avatar effelle avatar incowhat avatar jay-o-way avatar leroyd avatar slgmibu avatar sugar-king avatar t0msh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

poweraccent's Issues

Please add Spanish ñ, Ñ

Hi, your PowerAccent is great ! Could you add spanish char ñ / Ñ ?
This letter is found on the Spanish keyboard on the key ;

Suggestion: Dark Mode

There are likely issues far more important than this, but can a Light Mode, Dark Mode, and System Default option be added?

Best regards!

Suggestions - Customize characters and positions; Use the numbers row to enter characters

Amazing work, it amazes me how just a few days ago I was thinking why Windows doesn't have this feature, similar to the Mobile keyboards, and then I receive an update on PowerToys 🤯.

Anyway, here are my suggestions:

  • Customize our own available special characters and its positions.
  • Use the numbers row on the keyboard, to immediately enter the special character on the caret position.
    • ie. Let's take the letter 'e' caret that currently contains [é][è][ê][ë][ē][ė][€]. If the user presses 'e'>'3'(*) it would immediately enter an [ê].
      (*) EDIT: to make this more versatile, we could allow any combination for the desired character, ie. 'e'+'9'='é'

Accents for Dutch are incomplete

The accents set for the Dutch language is incomplete. We use a some accents on vowels.

Please add:

ë é è ê
ä á
ö ó ô
ï í
ü ú

Request for more Money Symbols

Being able to type € with PowerAccents is wonderful! Would it be possible to add Korean Won (₩), Chinese Yuan (¥), Indian Rupee (₹), Philippine Peso (₱), Swiss Franc (₣), British Pound (£), Turkish Lira (₺), & Russian Ruble (₽) to PowerAccents? Sorry if I got any symbols wrong.

Trouble activating in PowerTools

I could use this utility (and received it via the PowerToys update), but I am not smart enough to activate it. 🙃

When I have the tool enabled, and follow the example given (press and hold e then hit space), I end up with a bunch of e's and spaces.... as I would expect.

I tried changing the "Activation key" from 'Both' to 'Space' but it isn't saved (when I navigate away and come back, the setting is still 'Both').

Conflict with PowerToys remapping keys

Hello @damienleroy 👋 Thanks a lot for your amazing tool! 🙏

I noticed one small issue which I'm not sure if it will be possible to resolve: when PowerAccent is used together with PowerToys which has some keys remapping configuration in place, remapping is not working. In my case I have alt mapped to control and control to alt in PowerToys and together with PowerAccent it's not working. I also tried another tool called holdkey.eu and it also breaks remapping in PowerToys. So I'm not sure if it's possible to solve.

Thank you again!

Plugin is interfering with osu! inputs

key presses when playing osu! is dropping constantly when a key is held. I confirmed this by holding down my z and x keys and the key hold is intermittently dropping when the plugin is enabled vs when it is turned off where the game works normally.

Add Language Option for new Sorting

Thank you for your Tool.

My enhancement / feature request is regarding the sorting of the symbols.
Pressing space multiple times to get to the symbol i need most is a bit tedious.
By using this data per capita Relative frequencies of letters in other languages one could easily increase the usability of this tool.

The specific feature request would be: Adding an option in the settings with a dropdown that contains the supported languages, which resorts the toolbar options.

As a German, I need ë, ö, ü quite often, which seems to be unusual internationally.
Now I have to wait till the toolbar appears and press the button 2 – 3 times.
With this improvement I wouldn't need to wait because for my country the ones I require most appear first.

Polish 🇵🇱 Character Support

Hello, I saw another issue about Turkish character support (#4), so wanted to provide a list of Polish letters for the eventual integration in the future:

All Polish Accented characters:

  • Ą ą
  • Ć ć
  • Ę ę
  • Ł ł
  • Ń ń
  • Ó ó
  • Ś ś
  • Ź ź
  • Ż ż

[Source]

Multiple selections

#15 (comment)

Multiple countries at once/tickbox possible, instead of single country selection? I type frequently in French and Portuguese - while those two share a few accents, there are a bunch that aren't shared. I'm sure there are others, e.g. a Norse person who's learning a Latin language.

Activation with a different key

Hi Damien,

first of all thank you very much for this fantastic tool. It really makes life easier.

However, especially as a gamer, I find myself telling you that the activation of Quick Accent while playing is not rare. The combination A or E (when using WASD) + spacebar or right/left arrow is very common.

How about adding a third button, or giving the user the option to choose it himself?

Thanks for your attention and keep up the good work!

Activation by holding down a key

I'm sure this would have been done if it's possible, but it would be wonderful if activation didn't require a key combo and instead could be triggered by holding down a key (like MacOS and all mobile / touch keyboards I have ever seen).

I have very rarely wanted to type aaaaaaaaa.

More accents needed

The acute, grave, circumflex, caron and macron should be available for all vowels. They are used to indicate tones in transcriptions of tonal languages.

Show the popup next to the word being typed

I just noticed the update to PowerToys and your work bundled in it, thanks a lot! I've missed this feature from macOS. However, I think that having the popup anywhere other than where the user is already looking is not optimal, especially on large monitors.

I'm not sure whether you could plug into that built-in autocomplete/autocorrect which comes with Win11, but it would be great to put the popup in a similar place

image

Create docs for goals

Much needed, but still missing: a doc with goals and non-goals, including their priority.
It's absolutely critical to set boundaries, or this app could grow uncontrollably in result to people wanting more and more different things.

Discussion: All accents are ordered by usage frequency

This feature makes each key behave differently from what the user might expect.

In the following scenario, take Spanish for example; these three accented letters are used quite often:

é = e+space
á = a+space+space+space
ú = a+space+space+space+space

And these not so much:

à = a+space
û = u+space

I understand the reasoning behind picking this methodology, it works with the LETTER+SPACE tap dance for certain languages; however, it seems incompatible with the international PowerTools appeal.

A possible solution to this problem that doesn't involve creating a way for the User to order each key manually is to offer some variant configurations for different configurations, for example, the Spanish Variant might do something like:

á = a+space
ú = u+space
ü = u+space+space

An so forth.

Suggestion: Toggle for Fullscreen apps

Suggestion

The module should optionally inactivate itself while the user is Focused on a Full Screen/Borderless Window app or game in Game Mode, similar to how the Mouse Utilities Module has a toggle to inactivate in Game Mode.

Why?

These apps often require esoteric key combinations which may cause unintended behaviour (just to be clear I have not experienced any such issues yet). Custom app-specific toggle switches might also be a good idea.

Suggestion - Possibility to create custom characters tables

I was thinking about, what if every user can edit the characters table?
I mean, just editing a json file, everyone can create a table for each letter.

This could be useful also because in this way there is no necessary compile whenever you want to add a new language.
It could also be useful for the community, so that everyone could share their own custom pattern.

For example:

  • if a user can select the desired language, there should be a "custom language" where he can create the preferred characters table.

Just like it is in the theme settings for the new Windows Terminal.

Hitting multiple keys + Spacebar drops keys

Due to how this feature works if I press D, F, and Spacebar at the same time, I get only F, I've noticed this issue more often since I can type at around 180wpm. I have confirmed it is specifically with Quick Accent as I get this issue consistently if I have it enabled.

Code_2022-09-20_14-37-01

image

Version: v0.62.0

More currency signs (Р→₽, Y→¥)

Hello! PowerAccent already has this option:
image
How about the same option for other currency signs?
E.g. Ruble sign via Cyrillic Р

This is already used in (custom) Ilya Birman's Typography Layout (Russian) when calling AltGr+P (h), because it is intuitive and more convenient than AltGr+8 in current Win8+ keyboard layout.
image

Other example: Yen sign ¥ via Latin Y

PowerAccent is not centered upon first use after startup.

Issue:
When opening Windows after shutting-down and powering-on or restarting, PowerAccent will be off-centered for each character available. It will become centered only after usage, and resets after shutting-down and powering-on or a restart.

Question/Request:
Also, is it possible for the money signs to be combined with regular accents? I'm not sure why, but the options for ¥, £, and € are unavailable. Other money signs are available, but not the ones I mentioned. The PowerToys version has € and doesn't have the centering issue. This could be something on my end, but I'm not sure.

Best regards!

Turkish ' I ' / ' i ' character variations are missing

Turkish language option works fine with one small mistake and one big mistake right now.

  1. Turkish "I" character is weird. There are two distinct characters using the English I glyph that is I ı & İ i So we need:
  • For regluar i key (lowercase i): ı U+0131 added at the first place
  • For capitalized I key (shift + i OR caps lock i): I U+0130 added at the first place
  1. Second issue is rather small:
  • For some reason Spanish ñ is the top of the list for the key "u", it needs to be ü for regular Turkish use

Messes with AutoHotkey shortcuts

I've made an AutoHotkey script to easily insert non-breaking spaces (Ctrl+Shift+SPACE).
When Quick Accent is enabled, this shortcut either doesn't do anything, or inserts a 0.
I've tried using only Left/Right Arrow as an activation key, with no changes. I've also changed my shortcut to avoid using the Space key, with no changes either.

Here's the AutoHotkey script, for reference:

#NoEnv
SendMode Input 
SetWorkingDir %A_ScriptDir%
^+SPACE:: send {Asc 0160}

Turkish characters support!

This is a great utility. I use it with my British keyboard. Only missing character for Turkish is "Ş" or "ş". If you can add these characters to "S" or "s" it will be compatible with Turkish alphabet. Thanks in advance.

Support for Māori macrons

The Māori language is one of the three official languages of New Zealand. It would be great if the Māori ā ē ī ō ū macronised vowels were supported.

causes UX issues for videogames if space is used.

lets say im moving in a fullscreen game (w, a, s, d), and hit space ,
the game minimizes.

so, maybe add an option to disable this app for fullscreen apps, or maybe for certain apps.
for now, switching to the arrow keys instead of space seems to be the best option.

enhancement: letters for DE=german

great that you did a new release.
works well with my romanian language, as i asked for by the other issue.
but: my mothertongue is german.
if someone works with an english/french/islandic/... system he may need full german letterset.
so:
may i propose to add the 4 non-english letters for german language?
here they are:

äöüß

https://en.wikipedia.org/wiki/German_language#Orthography

thank you in advance.
regards, andy

enhancement: letters for RO=romanian

great piece of software, thanks.
may i propose to add the 5 non-english letters for romanian language?
here they are:

âăîşţ

thank you in advance.
regards, andy

Request for 'input delay' option

Can you add an 'input delay' option, please?
I recently switched from the PowerToys version and that's a point I sorely miss.


One thing I noticed: If you select 'world wide' as country, you don't have access to the German 'ß'.

First Letter Altered With PowerAccent Is Not Replaced When PowerAcccent Is Used In Google Search Bar

When typing the letter "a" in the Google search bar, the letter will not be replaced. Strangely enough, it only replaces the letters after. E.g., "a" may have "æ" typed in after, making it "aæ" in the search bar. Typing "a" once more using PowerAccent will replace the third "a" in the search bar. Now, out of the possible combinations, it could be "aææ"

To Recreate:

  1. Type "a" in Google search bar and use PowerAccent.

  2. See Issue

  3. Type "a" again into the Google search bar and use PowerAccent. (This one was replaced)

Please add Pinyin characters support

Thanks for this awesome tool! I wonder if Pinyin support can be added.

Pinyin is a romanization system for Mandarin Chinese. There are 6 letters (A, E, I, O, U, Ü), together with their lowercase forms (a, e, i, o, u, ü). Each letter has four tones ( ̄ ́ ̌ ̀ ), so there are 6 * 2 * 4 = 48 accented characters in total. A detailed list of all accented characters with their Unicode can be found at https://en.wikipedia.org/wiki/Pinyin#Unicode_code_points.

The Rare letters are rarely used and the Shorthand pinyin letters are never used in practice. So only the Common letters section is needed.

Update docs

Like

  • Changelog
  • Info 'bout recent adoption by PowerToys (will this repo stop or be a redundant copy or..?)
  • etc.

Comparison with similar tool "SymWin"

SymWin does the same thing as PowerAccent and originally made by @mjvh80 in 2018. Here's my fork with a couple of minor updates and binaries.

I'm not a professional C# developer, but there might be some ideas in the code for you. It currently supports every key on the keyboard, for which many accents and special symbols, approximately by usage for me (English/French/Spanish/Portuguese speaker) on an "average" of a UK (mine) and US (standard) keyboard. It uses CAPSLOCK as the activator key, using multiple presses of the character to type the accent.

Locking with Win+L results in L being "stuck"

Hi,
I often lock my machine with Win+L key combination and PowerAccent seems convinced I'm holding the L key when I unlock (e.g. space gets intercepted as the shortcut for accents on L instead of allowing me start unlocking the machine).

Languages that don't use accents still activate the module

In languages that don't support accents on all or some of the letters in the module - accents are still added and the toolbar appears even if the letter is different from latin (but still using the same symbol)

For example, latin C and cyrillic С are different Unicode characters using the same symbol and the module activates the replacement on both of them, i.e.:
Latin Ć and Cyrillic Ć
The issue is that Cyrillic С should not have accents, actually only У and I could have them in cyrillic languages

I suggest either checking the current input language or adding an option to enable/disable accents for enabled keyboard layouts

Math option

#15 (comment)

Heh... even English has a few math symbols/em dashes/archaic accents that are unrepresented... æ œ – (em dash, I think...?) - (normal dash) ⁸ (superscript numbers) ½ (fractions) ≠≈ ø × √ ÷ (math symbols, perhaps on number keys?) ⁑ ⁂ ★ § ‼ ‽ † ‡ ※ (typography/writing), α β γ (Greek letters) ... I added a bunch in SymWin, back in the day.
Idea: a "Maths" flag that can be checked for math symbols, English flag for archaic British English characters, a "Writers" flag for typography characters like dashes, daggers/asterisks

Not an issue, but could we go lower than 100ms?

Apologies in advance if I'm using bad GitHub protocol here...I'm as new and as noob as they come, and I'm not in tech at all

Anyway, any chance we could set the speed to below 100ms? I'm absolutely certain my keystrokes aren't even close to théfastest around (did you see that?) but 100ms is still giving me 1 or 2 unintentional accent insertions every time I'm typing something.

50ms? 25ms? 20ms? I'm sure there's some realistic floor to that speed, but as I'm finding out, 100ms is just too much space.

Thank you for théawesome PowerToy (again, you see that right?) Also thénew (:p) 'Set Language' option from v0.63.0 is very welcome!

Cant make it work on Win11 22H2 22622.590

When trying to use this I cannot find any way to make it work - e.g. hold down 'a' and it keeps repeating ad infinitum, press space bar to get the accents and nothing happens other than space bar keeps repeating. The same happens when trying to use left & right arrow keys .

Great pity as it would have been useful if it worked.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.