I've always left AREF floating, but I could just be lucky.
Which TMK keyboard did you start with for your firmware? Was it the GH60 by any chance? The only reason I ask that is the GH60 doesn't use PF4, PF5, PF6, PF7 which are the JTAG interface pins - consequently it doesn't disable JTAG on start and that will mess everything up if you're trying to use those (ask me how I know this
). Anyway, look in your matrix.c (around line 76 or so) at the start of the matrix_init() function... if you don't see:
// To use PORTF disable JTAG with writing JTD bit twice within four cycles.
MCUCR |= (1<<JTD);
MCUCR |= (1<<JTD);
at the beginning of that function, add that in to disable JTAG, then try again.