Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions ares/sfc/controller/ntt-data-keypad/ntt-data-keypad.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ auto NTTDataKeypad::data() -> n2 {
case 10: return l->value();
case 11: return r->value();

case 12: return 1; //4-bit device signature
case 13: return 0;
case 14: return 1;
case 15: return 1;
case 12: return 0; //4-bit device signature
case 13: return 1;
case 14: return 0;
case 15: return 0;

case 16: return zero->value();
case 17: return one->value();
Expand Down
32 changes: 31 additions & 1 deletion desktop-ui/emulator/super-famicom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,36 @@ SuperFamicom::SuperFamicom() {
device.digital ("Right", virtualPorts[id].mouse.right);
port.append(device); }

{ InputDevice device{"NTT Data Keypad"};
device.digital("Up", virtualPorts[id].pad.up);
device.digital("Down", virtualPorts[id].pad.down);
device.digital("Left", virtualPorts[id].pad.left);
device.digital("Right", virtualPorts[id].pad.right);
device.digital("B", virtualPorts[id].pad.south);
device.digital("A", virtualPorts[id].pad.east);
device.digital("Y", virtualPorts[id].pad.west);
device.digital("X", virtualPorts[id].pad.north);
device.digital("L", virtualPorts[id].pad.l_bumper);
device.digital("R", virtualPorts[id].pad.r_bumper);
device.digital("Back", virtualPorts[id].pad.select);
device.digital("Next", virtualPorts[id].pad.start);
device.digital("1", virtualPorts[id].pad.one);
device.digital("2", virtualPorts[id].pad.two);
device.digital("3", virtualPorts[id].pad.three);
device.digital("4", virtualPorts[id].pad.four);
device.digital("5", virtualPorts[id].pad.five);
device.digital("6", virtualPorts[id].pad.six);
device.digital("7", virtualPorts[id].pad.seven);
device.digital("8", virtualPorts[id].pad.eight);
device.digital("9", virtualPorts[id].pad.nine);
device.digital("0", virtualPorts[id].pad.zero);
device.digital("*", virtualPorts[id].pad.star);
device.digital("C", virtualPorts[id].pad.clear);
device.digital("#", virtualPorts[id].pad.pound);
device.digital(".", virtualPorts[id].pad.point);
device.digital("End", virtualPorts[id].pad.end);
port.append(device); }

{ InputDevice device{"Super Scope"};
device.relative("X", virtualPorts[id].mouse.x);
device.relative("Y", virtualPorts[id].mouse.y);
Expand All @@ -60,7 +90,7 @@ SuperFamicom::SuperFamicom() {
ports.append(port);
}

inputBlacklist = {"Justifiers", "NTT Data Keypad", "Super Multitap"};
inputBlacklist = {"Justifiers", "Super Multitap"};
}

auto SuperFamicom::load() -> bool {
Expand Down
15 changes: 15 additions & 0 deletions desktop-ui/input/input.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,21 @@ struct VirtualPad : InputDevice {
InputAnalog rstick_left;
InputAnalog rstick_right;
InputRumble rumble;
InputDigital one;
InputDigital two;
InputDigital three;
InputDigital four;
InputDigital five;
InputDigital six;
InputDigital seven;
InputDigital eight;
InputDigital nine;
InputDigital zero;
InputDigital star;
InputDigital clear;
InputDigital pound;
InputDigital point;
InputDigital end;
};

struct VirtualMouse : InputDevice {
Expand Down
Loading