public class MPR121Sample { static { try { System.loadLibrary("javaupm_mpr121"); } catch (UnsatisfiedLinkError e) { System.err.println("error in loading native library"); System.exit(-1); } } private static void printButtons(upm_mpr121.MPR121 touch) { boolean buttonPresed = false; System.out.print("Buttons pressed: "); for (int i = 0; i < 12; i++) { if ((touch.getM_buttonStates() & (1 << i)) != 0) { System.out.print(i + " "); buttonPresed = true; } } if (!buttonPresed) System.out.print("None "); System.out.println(); } public static void main(String[] args) throws InterruptedException { // Instantiate an MPR121 on I2C bus 0 upm_mpr121.MPR121 touch = new upm_mpr121.MPR121(0); // init according to AN3944 defaults touch.configAN3944(); while (true) { touch.readButtons(); printButtons(touch); Thread.sleep(1000); } } }