MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / OnKeyDown

Method OnKeyDown

Descent3/CtlCfgElem.cpp:648–676  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

646}
647
648void cfg_element::OnKeyDown(int key) {
649 if (key == KEY_RIGHT && m_curslot < (N_CFGELEM_SLOTS - 1)) {
650 m_curslot++;
651 } else if (key == KEY_LEFT && m_curslot > 0) {
652 m_curslot--;
653 } else if (key == (KEY_CTRLED + KEY_C)) {
654 // clear binding.
655 tCfgDataParts cfgparts;
656 ct_type ctype_fn[CTLBINDS_PER_FUNC];
657 uint8_t cfgflags_fn[CTLBINDS_PER_FUNC];
658 ct_config_data ccfgdata_fn;
659
660 Controller->get_controller_function(m_fnid, ctype_fn, &ccfgdata_fn, cfgflags_fn);
661 parse_config_data(&cfgparts, ctype_fn[0], ctype_fn[1], ccfgdata_fn);
662 if (m_curslot == 0) {
663 cfgparts.bind_0 = NULL_BINDING;
664 cfgparts.ctrl_0 = NULL_CONTROLLER;
665 } else if (m_curslot == 1) {
666 cfgparts.bind_1 = NULL_BINDING;
667 cfgparts.ctrl_1 = NULL_CONTROLLER;
668 }
669 ccfgdata_fn = unify_config_data(&cfgparts);
670 Controller->set_controller_function(m_fnid, ctype_fn, ccfgdata_fn, cfgflags_fn);
671
672 } else if (key == (KEY_SHIFTED + KEY_SLASH)) {
673 m_slot = CFGELEM_SLOT_CLEAR;
674 OnSelect();
675 }
676}
677
678void cfg_element::OnMouseBtnDown(int btn) {
679 if (btn == UILMSEBTN) {

Callers

nothing calls this directly

Calls 4

parse_config_dataFunction · 0.85
unify_config_dataFunction · 0.85

Tested by

no test coverage detected