Skip to content

Commit

Permalink
dom: Event.keyChar
Browse files Browse the repository at this point in the history
  • Loading branch information
briansfrank committed Mar 19, 2024
1 parent e752743 commit e9c6c56
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/doc/docIntro/doc/ChangeLog.fandoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
- Move fwt pods into separate repo
- Actor queue overflow limits
- Add Doc.elemFromPos, elemsFromPos
- Add Event.keyChar
- Add new dom HttpSocket API
- New concurrent Lock API
- Add Graphics.drawEllipse,fillEllipse
Expand Down
6 changes: 5 additions & 1 deletion src/dom/es/EventPeer.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,10 @@ class EventPeer extends sys.Obj {
button(self) { return this.event.button; }

$key;
key(self) { return this.$key }
key(self) { return this.$key }

$keyChar;
keyChar(self) { return this.$keyChar }

#delta;
delta(self)
Expand Down Expand Up @@ -144,6 +147,7 @@ class EventPeer extends sys.Obj {
const x = Event.make();
x.peer.event = event;
if (event.keyCode) x.peer.$key = Key.fromCode(event.keyCode);
if (event.key) x.peer.$keyChar = event.key;
return x;
}
}
4 changes: 4 additions & 0 deletions src/dom/fan/Event.fan
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,10 @@ class Event
** Key instance for key pressed.
native Key? key()

** Character string for key event that represents text typed.
** For example Shift + Key.b would return "B".
native Str? keyChar()

** Err instance if available for 'window.onerror'.
native Err? err()

Expand Down
2 changes: 2 additions & 0 deletions src/dom/js/EventPeer.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ fan.dom.EventPeer.prototype.meta = function(self) { return this.event.metaKey;

fan.dom.EventPeer.prototype.button = function(self) { return this.event.button; }
fan.dom.EventPeer.prototype.key = function(self) { return this.$key }
fan.dom.EventPeer.prototype.keyChar = function(self) { return this.$keyChar }

fan.dom.EventPeer.prototype.delta = function(self)
{
Expand Down Expand Up @@ -136,5 +137,6 @@ fan.dom.EventPeer.make = function(event)
var x = fan.dom.Event.make();
x.peer.event = event;
if (event.keyCode) x.peer.$key = fan.dom.Key.fromCode(event.keyCode);
if (event.key) x.peer.$keyChar = event.key;
return x;
}

0 comments on commit e9c6c56

Please sign in to comment.