Acho que estou pegando o fio da meada.
<canvas width="600" height="400"></canvas>
<script>
let canvas = document.querySelector('canvas');
let pincel = canvas.getContext('2d');
pincel.fillStyle = 'grey';
pincel.fillRect(0 , 0, 600, 400)
let raio = 10;
function desenhaCirculo(event) {
let x = event.pageX - canvas.offsetLeft;
let y = event.pageY - canvas.offsetTop;
pincel.fillStyle = 'blue';
pincel.beginPath();
console.log("Eixo X: " + x + " Eixo Y: " + y)
console.log(event)
if(event.shiftKey == true && raio < 40) {
raio = raio + 10;
pincel.arc(x, y, raio, 0, 2 * 3.14)
pincel.fill();
} else if( event.altKey == true && raio >= 15) {
raio = raio - 5;
console.log(raio)
pincel.arc(x, y, raio, 0, 2 * 3.14)
pincel.fill();
}
else {
//Quando o shift é solto volta ao estado inicial
// pincel.arc(x, y, raio = 10, 0, 2 * 3.14)
pincel.arc(x, y, raio, 0, 2 * 3.14)
pincel.fill();
}
}
canvas.onclick = desenhaCirculo;
</script>