To #6 - no it does not print "Avg". Here is a screen cap that shows what I see in the serial monitor:

(the empty box symbols continue across the screen horizontally as long as the program runs)
As can be seen from the screen cap, "something" is getting printed in the "Avg" loop - which appear as blank spaces - causing the cursor box to move to the right (it continues do do so in the endless loop).
This is a touch-sensitive keypad and display device which stores the sensitivity of the touch pads in EEPROM and then uses these values to transmit key codes via I2C. I can read most of the key codes from the device in my own code so I think it is mostly functioning correctly, but one key is non-responsive, and this sketch was provided by the manufacturer for users to see and adjust the touch and threshold values (e.g. "tuning"). Either it never gets to the part where ui.scan is supposed to display raw key values or they are also invisible because pressing known working keys produces no change in this display.
Below is the entire sketch as distributed by the manufacturer. It and other data on the device can be found here: http://www.pichips.co.uk/index.php/BV4242#arduino
I am sure the manufacturer will eventually respond but since I am still learning the Arduino language I thought that if there is an obvious problem it might be obvious to a more experienced person. Thanks for the comments.
Bob
#include <bv4242.h>
#include <Wire.h>
// Use this sketch to tune the touch pads, see the data
// sheet for more details
// 7 bit adddress is used
BV4242 ui(0x3d);
void setup()
{
Serial.begin(9600);
}
// Prints a string of 8 average values
void printAvg()
{
uint16_t v[9];
char b[24];
ui.avg(v); // get 8 values
Serial.print("\nAvg: ");
for(char j=0;j<8;j++) {
sprintf(b," %4d",v[j]);
Serial.print(b);
}
}
// Prints a string of 8 delta values
void printDelta()
{
uint16_t v[9];
char b[24];
ui.delta(v); // get 8 values
Serial.print("\nDlt: ");
for(char j=0;j<8;j++) {
sprintf(b," %4d",v[j]);
Serial.print(b);
}
}
void loop()
{
uint8_t k;
char b[24];
Serial.print("\nTuning\n");
while(1) {
Serial.print("\n");
printAvg();
printDelta();
k = ui.scan();
if(k) {
sprintf(b,"\nScan Code: 0x%x",k);
Serial.print(b);
}
delay(500);
}
}