--------P.java
import java.awt.*;import java.awt.event.*;import javax.sound.midi.*;class P{
public static void main(final String[]a)throws Exception{final Synthesizer s=
MidiSystem.getSynthesizer();s.open();new Frame(){{show();addKeyListener(new
KeyAdapter(){MidiChannel c=s.getChannels()[0];boolean[]f=new boolean[256];int
i;public void keyPressed(KeyEvent e){i=a[0].indexOf(e.getKeyChar());if(i>=0&&!
f[i]){f[i]=0<1;c.noteOn(i,64);}}public void keyReleased(KeyEvent e){if((i=a[0]
.indexOf(e.getKeyChar()))>=0){f[i]=0<0;c.noteOff(i);}}});requestFocus();}};}}

> javac P.java
> java P ####################################zsxdcvgbhnjmq2w3er5t6y7ui9o0p

QWERTYUIOP
ドレミファソラシドレミ

ZXCVBNM
ドレミファソラシ

かなり苦しいけど。Java1.3以上必須