I promised that I'd report back when I had gotten round to testing the input capability of libpigpio. Well I now have something to report, here goes:
I've written a small test program in C to check that it works OK (and added the necessary electronics). When I press a button (which is connected to the GPIO) then the LED comes on. This is all done through software. As you can see from the picture above, it works fine. I also have the same program outputting the GPIO input values to the console, like this:
So now that I have tested it in C, I can also try the same thing in C# with mono, but it should work fine.