dmauro / Keypress

A keyboard input capturing utility in which any key can be a modifier key.
http://dmauro.github.io/Keypress/
Apache License 2.0
3.18k stars 313 forks source link

Select all keyboard keys #154

Closed HeartX94 closed 2 years ago

HeartX94 commented 2 years ago

Hi,

hotkeys( "right,left,up,down,space,enter,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,1,2,3,4,5,6,7,8,9,0,num_0,num_1,num_2,num_3,num_4,num_5,num_6,num_7,num_8,num_9,num_multiply,num_add,num_enter,num_subtract,num_decimal,num_divide,shift+a,shift+b,shift+c,shift+d,shift+e,shift+f,shift+g,shift+h,shift+i,shift+j,shift+k,shift+l,shift+m,shift+n,shift+o,shift+p,shift+q,shift+r,shift+s,shift+t,shift+u,shift+v,shift+w,shift+x,shift+y,shift+z,", function (event, handler) { soundPlay("sfxKeyboard.wav"); } );

It is so long to do and there is some keys I can't get, "*" doesn't work for me.

yanickrochon commented 2 years ago

Your usage of this library may be overkill if this is what you are looking for. In the specific use case you are describing, these are the lines you are most interested in :

https://github.com/dmauro/Keypress/blob/df626c49f3208386a735d0bb1bd38b7aafbc1b02/keypress.js#L119-L123

In other words, just get your target element and attach a generic keydown listener, like this

const target = document.body;  // or document.getElementById('yourTargetElement');
const handleKeydown = event => {
  soundPlay("sfxKeyboard.wav");
};

if (target.addEventListener) {
   target.addEventListener('keydown', handleKeydown);
} else {
   target.attachEvent('onkeydown', handleKeydown);
}

I hope this is not for a website but for a typing learning application!

HeartX94 commented 2 years ago

@yanickrochon Salut Yanick, merci beaucoup pour ton aide, c'est super apprécié. Je suis désolé de ma réponse tardive. J'ai supprimé la library KeypressJS de mon projet, et j'y ai ajouté ton block en vanillaJS. Je dois dire que cela fait fait super bien le travail, bonne lecture de mon code, aide rapide, d'un confrère Québécois en plus, ça fait plaisir.

Est-ce que tu as Discord ? Je me demande car je débute en JS (depuis moins d'un mois), et j'adore parfois discuter avec d'autre dev, d'habitude ce sont par contre majoritairement des Européens. Si tu veux m'ajouter: Lunar🍃#1994

Super de belle journée à toi ! ! 💯

================================================================================ Hi Yanick, thanks a lot for your help, it's really appreciated. I'm sorry for the late response. I deleted the KeypressJS library from my project, and I added your VanillaJS code block. I must say that it does the job super well, good reading of my code, fast help, and from a Québécois colleague this is a pleasure.

Do you have Discord ? I ask because I'm starting out in JS (less thant a month), and sometimes I love to discuss with other French speaking devs. Add me on Discord.

Have a super nice day !! 💯

yanickrochon commented 2 years ago

Salut! Je n'utilise pas Discord parce que je déteste les applications qui sont "tout croche", et Discord en est une; impossible de m'y connecter avec mon téléphone ou de réinitialiser mon mot de passe. Je peux me connecter sur mon PC, mais je ne suis pas toujorus chez moi! J'utilise WhatsApp parce que je n'ai pas besoin de gérer un compte, juste mon numéro de téléphone. Tu peux me rejoindre par courriel et je pourrai te partager cette information.

C'est un plaisir de pouvoir aider un ami programmeur :smile: