Skip to content

Commit 77c0236

Browse files
authored
Merge pull request #65 from abdouse79/keyboard-events
Keyboard Events en fr
2 parents 32ad17f + c6f9633 commit 77c0236

File tree

5 files changed

+110
-89
lines changed

5 files changed

+110
-89
lines changed

2-ui/3-event-details/5-keyboard-events/2-check-sync-keydown/solution.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
Nous devons utiliser deux gestionnaires: `document.onkeydown` et `document.onkeyup`.
12

2-
We should use two handlers: `document.onkeydown` and `document.onkeyup`.
3+
L'ensemble `pressed` doit garder les touches en cours appuyées.
34

4-
Let's create a set `pressed = new Set()` to keep currently pressed keys.
5+
Créons un set `pressed = new Set()` pour garder les touches actuellement enfoncées.
6+
7+
Le premier gestionnaire en ajoute, tandis que le second en supprime. Chaque fois sur `keydown` nous vérifions si nous avons suffisamment de touches enfoncées et exécutons la fonction si c'est le cas.
58

6-
The first handler adds to it, while the second one removes from it. Every time on `keydown` we check if we have enough keys pressed, and run the function if it is so.

2-ui/3-event-details/5-keyboard-events/2-check-sync-keydown/solution.view/index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html>
33
<body>
44

5-
<p>Press "Q" and "W" together (can be in any language).</p>
5+
<p>Appuyez sur "Q" et "W" ensemble (cela peut être dans n'importe quelle langue).</p>
66

77
<script>
88
function runOnKeys(func, ...codes) {
@@ -11,19 +11,19 @@
1111
document.addEventListener('keydown', function(event) {
1212
pressed.add(event.code);
1313

14-
for (let code of codes) { // are all keys in the set?
14+
for (let code of codes) { // est ce que toutes les touches sont un ensemble ?
1515
if (!pressed.has(code)) {
1616
return;
1717
}
1818
}
1919

20-
// yes, they are
20+
// oui, elles le sont
2121

22-
// during the alert, if the visitor releases the keys,
23-
// JavaScript does not get the "keyup" event
24-
// and pressed set will keep assuming that the key is pressed
25-
// so, to evade "sticky" keys, we reset the status
26-
// if the user wants to run the hotkey again - let them press all keys again
22+
// durant le message d'alerte, si le visiteur relâche les touches,
23+
// JavaScript n'obtient pas l'évènement "keyup"
24+
// et les ensembles appuyées continuent d'assumer que la touche est appuyée
25+
// alors, pour échapper aux touches "sticky" , nous réinitialisons le status
26+
// Si un usager veut exécuter le raccourcis encore - laisser le appuyer toutes les touches encore
2727
pressed.clear();
2828

2929
func();

2-ui/3-event-details/5-keyboard-events/2-check-sync-keydown/task.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ importance: 5
22

33
---
44

5-
# Extended hotkeys
5+
# Raccourcis clavier étendus
66

7-
Create a function `runOnKeys(func, code1, code2, ... code_n)` that runs `func` on simultaneous pressing of keys with codes `code1`, `code2`, ..., `code_n`.
7+
Créer une fonction `runOnKeys(func, code1, code2, ... code_n)` exécutant la fonction `func` lorsqu’on appuie simultanément sur les touches avec les codes suivant `code1`, `code2`, ..., `code_n`.
88

9-
For instance, the code below shows `alert` when `"Q"` and `"W"` are pressed together (in any language, with or without CapsLock)
9+
Par exemple, le code en dessous montre `alert` lorsque `"Q"` et `"W"` sont appuyées ensemble (dans n'importe quelle langue, avec ou sans l'activation de La touche Majuscule, CapsLock)
1010

1111
```js no-beautify
1212
runOnKeys(
@@ -17,3 +17,4 @@ runOnKeys(
1717
```
1818

1919
[demo src="solution"]
20+

0 commit comments

Comments
 (0)