Advertisement
Guest User

Untitled

a guest
Mar 12th, 2024
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. let input = document.createElement('input');
  2. input.type = 'text';
  3. input.style.position = 'fixed';
  4.  
  5. let canvas = document.querySelector('canvas');
  6. canvas.style.height='50vh';
  7. canvas.style.margin='0';
  8.  
  9. document.body.appendChild(input);
  10. const redirectKeyEvent = (eventData, eventType) => {
  11. let key = eventData;
  12. let code = `Key${eventData.toUpperCase()}`;
  13.  
  14. if (eventData === ' ') {
  15. key = 'Space';
  16. code = 'Space';
  17. }
  18.  
  19. const event = new KeyboardEvent(eventType, {
  20. key: key,
  21. code: code,
  22. bubbles: true,
  23. cancelable: true,
  24. });
  25.  
  26. document.dispatchEvent(event);
  27. };
  28.  
  29. input.addEventListener('beforeinput', (e) => {
  30. if (e.data) {
  31. redirectKeyEvent(e.data, 'keydown');
  32. redirectKeyEvent(e.data, 'keypress');
  33. redirectKeyEvent(e.data, 'keyup');
  34. }
  35. e.target.value = '';
  36. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement