Skip to content

Commit

Permalink
PTT: added webex
Browse files Browse the repository at this point in the history
  • Loading branch information
hryamzik committed Nov 28, 2023
1 parent 41c4dc0 commit 07c08b3
Showing 1 changed file with 36 additions and 11 deletions.
47 changes: 36 additions & 11 deletions base_pack/hid_app/views/hid_ptt.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ enum HidPushToTalkAppIndex {
HidPushToTalkAppIndexSlackHubble,
HidPushToTalkAppIndexTeams,
HidPushToTalkAppIndexTeamSpeak,
HidPushToTalkAppIndexWebex,
HidPushToTalkAppIndexZoom,
HidPushToTalkAppIndexSize,
};
Expand Down Expand Up @@ -147,15 +148,7 @@ static void hid_ptt_trigger_camera_signal(HidPushToTalk* hid_ptt) {
}

// skype
static void hid_ptt_start_ptt_linux_skype(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
}
static void hid_ptt_stop_ptt_linux_skype(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
}
static void hid_ptt_trigger_mute_linux_skype(HidPushToTalk* hid_ptt) {
static void hid_ptt_trigger_mute_linux_skype(HidPushToTalk* hid_ptt) { // and webex
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_CTRL | HID_KEYBOARD_M);
}
Expand Down Expand Up @@ -264,6 +257,22 @@ static void hid_ptt_trigger_mute_jamulus(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_ALT | HID_KEYBOARD_M);
}

// webex


static void hid_ptt_trigger_camera_webex(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_CTRL| KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_CTRL| KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V);
}
static void hid_ptt_trigger_hand_macos_webex(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_RIGHT_SHIFT | HID_KEYBOARD_R);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_RIGHT_SHIFT | HID_KEYBOARD_R);
}
static void hid_ptt_trigger_hand_linux_webex(HidPushToTalk* hid_ptt) {
hid_hal_keyboard_press( hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_RIGHT_SHIFT | HID_KEYBOARD_R);
hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_RIGHT_SHIFT | HID_KEYBOARD_R);
}

static void hid_ptt_menu_callback(void* context, uint32_t osIndex, FuriString* osLabel, uint32_t appIndex, FuriString* appLabel) {
furi_assert(context);
HidPushToTalk* hid_ptt = context;
Expand Down Expand Up @@ -344,6 +353,13 @@ static void hid_ptt_menu_callback(void* context, uint32_t osIndex, FuriString* o
model->callback_start_ptt = hid_ptt_trigger_mute_macos_slack_hubble;
model->callback_stop_ptt = hid_ptt_trigger_mute_macos_slack_hubble;
break;
case HidPushToTalkAppIndexWebex:
model->callback_trigger_mute = hid_ptt_trigger_cmd_shift_m;
model->callback_trigger_camera = hid_ptt_trigger_camera_webex;
model->callback_trigger_hand = hid_ptt_trigger_hand_macos_webex;
model->callback_start_ptt = hid_ptt_trigger_cmd_shift_m;
model->callback_stop_ptt = hid_ptt_trigger_cmd_shift_m;
break;
case HidPushToTalkAppIndexZoom:
model->callback_trigger_mute = hid_ptt_trigger_mute_macos_zoom;
model->callback_trigger_camera = hid_ptt_trigger_camera_macos_zoom;
Expand Down Expand Up @@ -398,8 +414,8 @@ static void hid_ptt_menu_callback(void* context, uint32_t osIndex, FuriString* o
case HidPushToTalkAppIndexSkype:
model->callback_trigger_mute = hid_ptt_trigger_mute_linux_skype;
model->callback_trigger_camera = hid_ptt_trigger_camera_linux_skype;
model->callback_start_ptt = hid_ptt_start_ptt_linux_skype;
model->callback_stop_ptt = hid_ptt_stop_ptt_linux_skype;
model->callback_start_ptt = hid_ptt_trigger_mute_linux_skype;
model->callback_stop_ptt = hid_ptt_trigger_mute_linux_skype;
break;
case HidPushToTalkAppIndexSlackCall:
model->callback_trigger_mute = hid_ptt_trigger_mute_slack_call;
Expand All @@ -419,6 +435,13 @@ static void hid_ptt_menu_callback(void* context, uint32_t osIndex, FuriString* o
model->callback_start_ptt = hid_ptt_start_ptt_meet_zoom;
model->callback_stop_ptt = hid_ptt_stop_ptt_meet_zoom;
break;
case HidPushToTalkAppIndexWebex:
model->callback_trigger_mute = hid_ptt_trigger_mute_linux_skype;
model->callback_trigger_camera = hid_ptt_trigger_camera_webex;
model->callback_trigger_hand = hid_ptt_trigger_hand_linux_webex;
model->callback_start_ptt = hid_ptt_trigger_mute_linux_skype;
model->callback_stop_ptt = hid_ptt_trigger_mute_linux_skype;
break;
}
}

Expand Down Expand Up @@ -761,6 +784,8 @@ HidPushToTalk* hid_ptt_alloc(Hid* hid) {
ptt_menu_add_item_to_list(hid->hid_ptt_menu, HidPushToTalkLinux, "Teams", HidPushToTalkAppIndexTeams, hid_ptt_menu_callback, hid_ptt);
ptt_menu_add_item_to_list(hid->hid_ptt_menu, HidPushToTalkMacOS, "Zoom", HidPushToTalkAppIndexZoom, hid_ptt_menu_callback, hid_ptt);
ptt_menu_add_item_to_list(hid->hid_ptt_menu, HidPushToTalkLinux, "Zoom", HidPushToTalkAppIndexZoom, hid_ptt_menu_callback, hid_ptt);
ptt_menu_add_item_to_list(hid->hid_ptt_menu, HidPushToTalkMacOS, "Webex", HidPushToTalkAppIndexWebex, hid_ptt_menu_callback, hid_ptt);
ptt_menu_add_item_to_list(hid->hid_ptt_menu, HidPushToTalkLinux, "Webex", HidPushToTalkAppIndexWebex, hid_ptt_menu_callback, hid_ptt);

hid_ptt->help = widget_alloc();
view_set_previous_callback(widget_get_view(hid_ptt->help), hid_ptt_view);
Expand Down

0 comments on commit 07c08b3

Please sign in to comment.