Do Xbox One controllers have analog face buttons?
I have not found the answer to this by searching.
I did read that the original Xbox had analog face buttons but Xbox 360 did not.
2 Answers
According to Wikipedia, the Xbox One only has digital face buttons:
11× Digital buttons
(Y, B, A, X, LB, RB, left stick click, right stick click, Menu, View, Xbox)
The same applies to the Xbox 360 controller:
The right face of the controller features four digital action buttons: a green A button, red B button, blue X button, and yellow Y button.
Interestingly, the original Xbox controller does have analog buttons, however:
6× Pressure-sensitive buttons
(A, B, X, Y, Black, White)
As for why Microsoft removed pressure-sensitive face buttons from its controllers, it's probably for the same reason why Sony removed them from the PS4 controller: hardly any game ever made use of the pressure-sensitivity, and hardly anyone even knew they existed.
2The xpad module in the Linux kernel supports Xbox (original), Xbox 360, and Xbox One controllers. You can inspect the code to see that only the original Xbox controller uses more than one bit per button.
xpad_process_packet processes Xbox controller inputs, note that the entire byte is passed to input_report_key (although the module still treats it as a boolean value):
xpad360_process_packet processes Xbox 360 controller inputs, bit masks are used so that only the single bit corresponding to each button is passed to input_report_key:
xpadone_process_packet processes Xbox One controller inputs, again using bit masks: