I’m blind and I use a screen reader to play the game. Since BFA came out, there have been quite a few things in a game that are not accessible including the voice chat feature (you have to be able to use a mouse to access the voice chat button). Normally, I’ve had friends that have found ways around Blizz’s programming and Blizz’s dev team is supposedly working on this issue; however, I haven’t heard from then since Feb. about adding what is, essentially, a keybinding… So, I was wondering… is there a way to create a macro to get to that button? A “/click” command perhaps?
For the three voice buttons, Channel, Deafen and Mute you can toggle them with following three scripts.
/run ChatFrameChannelButton:GetScript(‘OnClick’)(ChatFrameChannelButton)
/run ChatFrameToggleVoiceDeafenButton:GetScript(‘OnClick’)(ChatFrameToggleVoiceDeafenButton)
/run ChatFrameToggleVoiceMuteButton:GetScript(‘OnClick’)(ChatFrameToggleVoiceMuteButton)
EDIT: You will need to edit the quotes around the OnClick strings to be normal single or or double quotes.
Ok, maybe I’m missing something but nothing happens. What is the voice button called (I’m assuming it has a specific label not just “ChatFrameChannelButton”)? This is part of my problem; because I can’t use mouse, I can’t find out what these buttons are labelled – hence, can’t create the macro because I’m literally throwing words out there hoping something sticks. Is there a pattern to them? (ex. ChatVoiceGuildChannelButton, ChatVoiceGeneralChannelButton, etc.)
ChatFrameChannelButton brings up the voice channel window when clicked.
You asked about macro clicking the voice chat without any other description so that is the button I assumed you meant.
If you meant the Push To Talk key then it can be assigned in the Interface Voice chat options. The default is the apostrophe key.
Otherwise I’m happy to try and help but at a loss as to which button you mean.
Hard to explain as I can’t see the thing. According to what I’m told, when one hits T there is a chat channels panel that opens. Within this panel there is a button one can click on with one’s mouse to get open/use voice chat… that’s the button I’m talking about – the one that you need to be able to click on with a mouse to enter voice chat. I’ve no idea what the thing is called; there doesn’t, currently, appear to be a way to create a keybinding for the thing.
It is difficult to create a single universal code because the chat channel window list is customizable. I’ve created the following addon you might be able to use to help get to what you need.
It requires being able to read the General chat text which I hope your screen reader can do.
It uses a slash command to run. Slash ac being short for slash Anerria Chat.
Slash ac on it’s own will list the chat channels you have that are voice enabled, ie. they have a button that looks like headphones. The list is formatted as, channel number and channel name eg. 3 General.
Slash ac followed by a channel number will toggle that voice channel on and off.
Once you know which channel number you want, you should be able to just use the slash command with channel number in a macro until your channel list changes.
The following code inside the code tags can be pasted into the web site addon.bool.no to create and download the addon.
local function ListChannels(activate)
if not ChannelFrame.ChannelList.buttons then
ChannelFrame.ChannelList:Update()
end
local list = ChannelFrame.ChannelList.buttons
if activate then
if not list[activate] or list[activate]:GetChannelType() ~= 4 then
print("Anerria Chat: Channel "..activate.. " Not found or not a voice channel")
PlaySoundFile("Sound/Creature/Peon/PeonWhat4.ogg")
return
end
list[activate].Speaker.Button:GetScript("OnClick")(list[activate].Speaker.Button)
PlaySoundFile("Sound/Creature/Peon/PeonBuildingComplete1.ogg")
return
end
print("Anerria Chat", "Listing Channels")
for i=1, #list do
if list[i]:GetChannelType() == 4 then
print(i .. " " ..list[i]:GetChannelName())
end
end
PlaySoundFile("sound/creature/peon/peonyes4.ogg")
end
SLASH_ANERRIACHAT1 = "/ac"
SlashCmdList["ANERRIACHAT"] = function(msg)
if msg ~= "" then
local i = tonumber(msg)
ListChannels(i)
return
end
ListChannels()
end
To use the slash command in a macro with just the chat channel you want to activate you can use:
/run SlashCmdList["ANERRIACHAT"](3)
Replace the 3 with the desired voice channel number.
It also supports /voice party
and /voice instance
Of course, after I’ve done the hard yards .
You could say they were earlier (ptr build 2019-04-18)
https://www.townlong-yak.com/framexml/30123/ChatFrame.lua/diff#2552
Now why would I do that ?
Good to see it’s fixed.
If the responses before were not clear before, if you want to join a voice chat without opening the voice chat channel you type /voice party, or /voice instance or whatever type of group you are in