Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
12 quotes
source | link

HTML (with Javascript), 4746 4631 chars, 4746 4631 bytes

Using thisUsing this to differentiate numpad enter and return, LControl and RControl... Not anymore since apsillers found a way to differentiate numpad enter and return, LControl and RControl..do it with a signle function call.

<body onkeyup="withonkeyup=alert(event)alert(key+location.code)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)PrintScreen
Scroll Lock -> 145-0ScrollLock
Pause -> 19-0Pause
left Shift -> Shift1ShiftLeft
right Shift -> Shift2ShiftRight
left Ctrl -> Contrl1ContrlLeft
right Ctrl -> Control2ControlRight
Caps Lock -> CapsLock0CapsLock
Tab -> Tab0Tab
Enter -> Enter0Enter
Enter on the number pad -> Enter3NumpadEnter
Num Lock -> NumLock0NumLock
Insert -> Insert0Insert
Ins on the number pad -> Insert3Numpad0
Backspace -> Backspace0Backspace
Del -> Delete0Delete
F1...F12 -> F10F1 to F120 (notice that F10 is identified F100)F12
Esc -> Escape0Escape
left Windows key -> Meta1MetaLeft
right Windows key -> Meta2MetaRight
Alt -> Alt1AltLeft
AltGr -> AltGraph2AltRight (kind of buggy, it detects Control1ControlLeft and then AltGraph2AltRight, but it is indeed AltGraph2AltRight)
application key (context menu) -> 93-0ContextMenu

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol > 15 bytes saved thanks to apsillers, as said at the top of my answer.

<body onkeyup="withonkeyup=alert(event)alert(key+location.code)"

HTML (with Javascript), 47 46 chars, 47 46 bytes

Using this to differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)"

HTML (with Javascript), 46 31 chars, 46 31 bytes

Using this to differentiate numpad enter and return, LControl and RControl... Not anymore since apsillers found a way to do it with a signle function call.

<body onkeyup=alert(event.code)

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen
Scroll Lock -> ScrollLock
Pause -> Pause
left Shift -> ShiftLeft
right Shift -> ShiftRight
left Ctrl -> ContrlLeft
right Ctrl -> ControlRight
Caps Lock -> CapsLock
Tab -> Tab
Enter -> Enter
Enter on the number pad -> NumpadEnter
Num Lock -> NumLock
Insert -> Insert
Ins on the number pad -> Numpad0
Backspace -> Backspace
Del -> Delete
F1...F12 -> F1 to F12
Esc -> Escape
left Windows key -> MetaLeft
right Windows key -> MetaRight
Alt -> AltLeft
AltGr -> AltRight (kind of buggy, it detects ControlLeft and then AltRight, but it is indeed AltRight)
application key (context menu) -> ContextMenu

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol > 15 bytes saved thanks to apsillers, as said at the top of my answer.

<body onkeyup=alert(event.code)

11 deleted 1 character in body
source | link

HTML (with Javascript), 47 46 chars, 47 46 bytes

Using this tooto differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)"

HTML (with Javascript), 47 46 chars, 47 46 bytes

Using this too differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)"

HTML (with Javascript), 47 46 chars, 47 46 bytes

Using this to differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)"

10 -1b
source | link

HTML (with Javascript), 5147 4746 chars, 5147 4746 bytes

Using this too differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)">"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this)   1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)">"

HTML (with Javascript), 51 47 chars, 51 47 bytes

Using this too differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)">

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this)  

<body onkeyup="with(event)alert(key+location)">

HTML (with Javascript), 47 46 chars, 47 46 bytes

Using this too differentiate numpad enter and return, LControl and RControl...

<body onkeyup="with(event)alert(key+location)"

Specific outputs:

OUTPUTS THAT ARE STILL WITH THE NUMBERS ARE THOSE I CAN'T TEST ON MY LAPTOP
PLEASE WAIT FOR ME TO HAVE ACCESS TO THOSE KEYS

PrtScn -> PrintScreen0 (not possible to verify it with codepen though)
Scroll Lock -> 145-0
Pause -> 19-0
left Shift -> Shift1
right Shift -> Shift2
left Ctrl -> Contrl1
right Ctrl -> Control2
Caps Lock -> CapsLock0
Tab -> Tab0
Enter -> Enter0
Enter on the number pad -> Enter3
Num Lock -> NumLock0
Insert -> Insert0
Ins on the number pad -> Insert3
Backspace -> Backspace0
Del -> Delete0
F1...F12 -> F10 to F120 (notice that F10 is identified F100)
Esc -> Escape0
left Windows key -> Meta1
right Windows key -> Meta2
Alt -> Alt1
AltGr -> AltGraph2 (kind of buggy, it detects Control1 and then AltGraph2, but it is indeed AltGraph2)
application key (context menu) -> 93-0

EDITs :
1 byte saved on ; after func call
18 bytes saved thanks to Lil' Bits and ETHproductions, they noticed I forgot to shorten func and var names.
32 bytes saved thanks to RogerSpielker, he noticed I was doing sparated code for no reason; and again -2 bytes : onkeydown -> onkeyup
1 byte saved : no need for final slash
2 bytes saved thanks to CraigAyre : with() function
2 bytes saved thanks to ASCII-only : key in place of which
4 bytes saved, since we have text, there is no need for '-'+ (every identifier is unique without this) 1 byte saved thanks to ASCII-only (again) : no more closing symbol >

<body onkeyup="with(event)alert(key+location)"

9 newline miss
source | link
8 event.key <-- event.which
source | link
7 -2 bytes
source | link
6 i'm REALLY dumb
source | link
5 i'm so dumb
source | link
4 newline miss
source | link
3 . -> ...
source | link
2 added 72 characters in body
source | link
1
source | link