Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update - now ckb doesn't recognize my keyboard #298

Closed
athyman opened this issue Apr 20, 2016 · 85 comments
Closed

Update - now ckb doesn't recognize my keyboard #298

athyman opened this issue Apr 20, 2016 · 85 comments

Comments

@athyman
Copy link

athyman commented Apr 20, 2016

Hello - I just updated my Command Line Tools (OS X 10.11) for Xcode, and when my computer rebooted, the ckb utility no longer recognizes my keyboard. I am able to type on it, but the key bindings I set and the awesome animation I was using no longer work. Is there anything you can do to help? Thank you!

@MaxKotlan
Copy link

I don't know if this relates, but did you update your firmware for the keyboard? I updated to the latest (2.04) and now my keyboard isn't being recognized on OS X as well.

@JackFarrand
Copy link

SAME HERE, USING OSK

@JackFarrand
Copy link

HALP

@lsbeuromix
Copy link

Same issue on Linux build. Ckb shows the keyboard appearing and disappearing every 30 seconds or so. Also on latest firmware (2.04)

@ccMSC
Copy link
Owner

ccMSC commented Apr 21, 2016

Boo - corsair's firmware broke it again :(

I'll try to update as soon as possible.

@JackFarrand
Copy link

thanks man!

@athyman
Copy link
Author

athyman commented Apr 21, 2016

No worries, thank you so much! Love the work you do

On Thu, Apr 21, 2016 at 4:34 AM ccMSC notifications@github.com wrote:

Boo - corsair's firmware broke it again :(

I'll try to update as soon as possible.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#298 (comment)

@philbyjohn
Copy link

sigh! Should have taken a look here before updating.
Target: K70 RGB
Now usbhid.quirks=0x1B1C:0x1B13:0x4 don't work and dmesg shows
usbhid 9-1.1:1.2: couldn't find an input interrupt endpoint. which indicates an enumeration failure.
Very eager to know how you will be fixing this one.

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

I upgraded my K70 RGB to the new firmware in order to see if I can fix the usbhid warning.
Even setting 0x00000004 (HID_QUIRK_IGNORE) as you pointed out, didn't get rid of that message, so I don't think there is anything that can be done in order to fix this error without actually editing kernel code.

Ckb doesn't seem to recognise the keyboard at all, however it works fine with the standard HID driver, so I am not sure if the enumeration error actually matters, unless that's what is blocking CKB from accessing the keyboard.

@philbyjohn
Copy link

however it to works fine with the standard HID driver.

@tatokis Which HID driver is that? I would like to enable it, compile a custom kernel and give it a shot. Please state the CONFIG_ to enable. Are you talking of CONFIG_HID_CORSAIR ?

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@philbyjohn It's usbhid/hid-generic

tatokis@tatokis-PC:~$ uname -a
Linux tatokis-PC 4.6.0-rc1-customatapatch #1 SMP Sun Mar 27 17:59:35 EEST 2016 x86_64 x86_64 x86_64 GNU/Linux

Using the stock Ubuntu kernel config with some unrelated changes.
Could give you the config file if you really need it.

Keep in mind that if you are running with 0x4,the linux HID driver ignores the keyboard completely. You should use the quirk suggested in the readme instead (0x20000408).

It appears that the keyboard does a reset before it "stays on", as the disconnect was not caused by me.

[327113.567737] usb 8-2: new full-speed USB device number 9 using xhci_hcd
[327113.724635] usb 8-2: New USB device found, idVendor=1b1c, idProduct=1b13
[327113.724640] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[327113.724642] usb 8-2: Product: Corsair K70 RGB Gaming Keyboard 
[327113.724645] usb 8-2: Manufacturer: Corsair
[327113.724647] usb 8-2: SerialNumber: 
[327113.737017] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.0/0003:1B1C:1B13.008E/input/input156
[327113.792035] hid-generic 0003:1B1C:1B13.008E: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input0
[327113.802120] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.1/0003:1B1C:1B13.008F/input/input157
[327113.856196] hid-generic 0003:1B1C:1B13.008F: input,hiddev0,hidraw5: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1
[327113.856393] usbhid 8-2:1.2: couldn't find an input interrupt endpoint
[327114.175963] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.0/0003:1B1C:1B13.0090/input/input158
[327114.232045] hid-generic 0003:1B1C:1B13.0090: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input0
[327114.241478] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.1/0003:1B1C:1B13.0091/input/input159
[327114.296099] hid-generic 0003:1B1C:1B13.0091: input,hiddev0,hidraw5: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1
[327115.791384] usb 8-2: USB disconnect, device number 9
[327116.203892] usb 8-2: new full-speed USB device number 10 using xhci_hcd
[327116.365647] usb 8-2: New USB device found, idVendor=1b1c, idProduct=1b13
[327116.365650] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[327116.365652] usb 8-2: Product: Corsair K70 RGB Gaming Keyboard 
[327116.365653] usb 8-2: Manufacturer: Corsair
[327116.365655] usb 8-2: SerialNumber: 
[327116.378779] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.0/0003:1B1C:1B13.0092/input/input160
[327116.432960] hid-generic 0003:1B1C:1B13.0092: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input0
[327116.442717] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.1/0003:1B1C:1B13.0093/input/input161
[327116.500251] hid-generic 0003:1B1C:1B13.0093: input,hiddev0,hidraw5: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1
[327116.500370] usbhid 8-2:1.2: couldn't find an input interrupt endpoint
[327116.784147] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.0/0003:1B1C:1B13.0094/input/input162
[327116.844475] hid-generic 0003:1B1C:1B13.0094: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input0
[327116.854985] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.1/0003:1B1C:1B13.0095/input/input163
[327116.908325] hid-generic 0003:1B1C:1B13.0095: input,hiddev0,hidraw5: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1
[327244.672346] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.0/0003:1B1C:1B13.0096/input/input164
[327244.728561] hid-generic 0003:1B1C:1B13.0096: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input0
[327244.738586] input: Corsair Corsair K70 RGB Gaming Keyboard  as /devices/pci0000:00/0000:00:05.0/0000:03:00.0/usb8/8-2/8-2:1.1/0003:1B1C:1B13.0097/input/input165
[327244.792278] hid-generic 0003:1B1C:1B13.0097: input,hiddev0,hidraw5: USB HID v1.11 Keyboard [Corsair Corsair K70 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1

Some additional info from the ckb daemon:

tatokis@tatokis-PC:~$ sudo ckb-daemon
    ckb: Corsair RGB driver beta-v0.2.4
[I] Root controller ready at /dev/input/ckb0
[I] Connecting Corsair K70 RGB Gaming Keyboard at /dev/input/ckb1
[E] os_setupusb (usb_linux.c:286): Failed to claim interface: Invalid argument
[I] Disconnecting /dev/input/ckb1
[I] Removed device path /dev/input/ckb1
^C
[I] Caught signal 2
[I] Closing root controller
[I] Removed device path /dev/input/ckb0

@JackFarrand
Copy link

JackFarrand commented Apr 21, 2016

@tatokis @philbyjohn @lsbeuromix

Dropbox K70RGB firmware 1.15

GitHub K70RGB firmware 1.15

The above link is for K70RBG firmware 1.15 [also attached to this comment]. force downgrade using CUE on a windows box like I did and CKB will be working just fine.

@ccMSC let us know if you find anything out about 2.04, from what I can see from the above comments it could break CBK altogether.

@philbyjohn
Copy link

philbyjohn commented Apr 21, 2016

@tatokis I switched back to usbhid.quirks=0x1B1C:0x1B13:0x20000408 and then did a modprobe hid_corsair but that did not work. I think the kernel tries to load hid_corsair at boot but fails. I get
usbhid 3-2:1.0: can't add hid device: -110
usbhid: probe of 3-2:1.0 failed with error -110

I don't see this error in your log message, which might be the reason why it works. Probably because I use the older stock Fedora 22 (64 bit) running 4.4.6-201.fc22.x86_64.
Could you post the output of $ lsmod | grep -i hid

@JackFarrand Did not know we could downgrade. Will go with this workaround in the meantime. Thanks!

@JackFarrand
Copy link

@philbyjohn welcome dude

@Serubin
Copy link

Serubin commented Apr 21, 2016

@JackFarrand Was 1.15 the latest version before 2.02?

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@Serubin 1.33 was the last one. Have a look at https://github.com/ccMSC/ckb/blob/master/FIRMWARE

@Serubin
Copy link

Serubin commented Apr 21, 2016

@tatokis Ah thanks. I'm assuming the downloads for that version are gone now?

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@Serubin searching for "K70RGB_app133_RC.bin" on google seems to not return any results, so I assume so. The links on the FIRMWARE file just point to the new versions.

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@JackFarrand as I said earlier, I use hid-generic with usbhid, no special driver:

tatokis@tatokis-PC:~$ lsmod | grep -i hid
usbhid                 49152  0
mac_hid                16384  0
hid_generic            16384  0
hid                   122880  2 hid_generic,usbhid

@JackFarrand
Copy link

@Serubin yep, latest I could find. seems to work fine, no issues with CKB or CUE.

On a side note, I only tried CUE recently, does anybody else think that CKB is FAR superior? The user interface is just so much easier to use. I think perhaps CKB is less powerful [no scripting engine yet], but CUE makes it really hard to set up a profile properly!

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@JackFarrand to add to my previous message, when I do # rmmod usbhid the keyboard along with every other HID device dies.
At that point I usually hotplug my PS/2 keyboard and run # modprobe -v usbhid "quirks=0x1b1c:0x1b13:0x20000000" which reenumerates the keyboard and it starts working again.
(0x20000408 is the same, but I don't need 408 as I do not have the K95's extra keys. It shouldn't affect anything, I just never changed it to the recommended one.)

@JackFarrand
Copy link

@tatokis I think you meant @philbyjohn!

No HID issues here!

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

@JackFarrand Apologies, yes. I lost track of who said what at this point :p

@Serubin
Copy link

Serubin commented Apr 21, 2016

@JackFarrand Absolutely, yes. CKB is much better and easier to use.

@tatokis
Copy link
Contributor

tatokis commented Apr 21, 2016

I have only used CUE two times, just to upgrade the firmware. Never set up any profiles on it. CUE isn't even installed on my main computer.
This keyboard was bought just because of CKB, as I rarely use Windows. That alone makes CKB superior for me.

Corsair should acknowledge that at some point, and offer some form of support to @ccMSC for all the great work.

@ccMSC
Copy link
Owner

ccMSC commented Apr 25, 2016

Well this is awkward...it seems only the K70 got the update, not the K95. So I can't actually test it until if/when the K95 version is released.

That said, I have a pretty good idea of what happened. I pushed an update here for Linux users: https://github.com/ccMSC/ckb/tree/fw2kb

Let me know whether or not it's working, and if not, please post a driver log.

For OSX users, open a terminal and run the following commands:

sudo launchctl unload /Library/LaunchDaemons/com.ckb.daemon.plist
sudo /Applications/ckb.app/Contents/Resources/ckb-daemon

I'll need the output of this so I can see where the problem is.

@ghost
Copy link

ghost commented Apr 25, 2016

The fw2kb version, in Ubuntu 16.04, appears to get the same end result, in that the ckb-daemon runs, but as soon as I run ckb then the keyboard stops responding until I kill the daemon.

I ran the daemon from the command line, and the output was as follows. The last five lines, from "Connecting 3 endpoints" onwards, repeat continuously after that. In this case the keyboard stopped responding immediately, without me having to run ckb.

    ckb: Corsair RGB driver beta-v0.2.5+f02
[I] Root controller ready at /dev/input/ckb0
[I] Connecting Corsair K70 RGB Gaming Keyboard at /dev/input/ckb1
[I] Connecting 3 endpoints
[I] Claiming EP 0
[I] Claiming EP 1
[I] Claiming EP 2
[I] Starting input thread for /dev/input/ckb1
[E] loadrgb_kb (led_keyboard.c:211): Bad input header
[W] _start_dev (device.c:45): Unable to load hardware profile
[I] Setup finished for /dev/input/ckb1
[E] os_usbsend (via device_keyboard.c:38): No such file or directory
[I] Attempting reset...
[I] Connecting 3 endpoints
[I] Claiming EP 0
[I] Claiming EP 1
[I] Claiming EP 2
[E] os_usbsend (via device_keyboard.c:38): No such file or directory

@mhennessie
Copy link

@hxltinh download QT5 from here: https://www.qt.io/download-open-source/

The fw2kb branch works fine with OS X. After installing QT5 I was able to build it following @4t0m1k steps above and it works perfectly with my K65 RGB and FW2.04.

@hxltinh
Copy link

hxltinh commented May 10, 2016

@mhennessie
I'm able to build, and reinstall ckb.app on OSX, but the app still not recognize my keyboard. but with linux, it's working more than perfectly.
I'm using K70 RGB red switch.

@4t0m1k
Copy link

4t0m1k commented May 10, 2016

What about this one :
ckb.app.zip

Qt Framework is already included in it. Move the .app in your applications folder and reboot. If it doesn't work, what the result of sudo /Applications/ckb.app/Contents/Resources/ckb-daemon ?

@bradinglis
Copy link

hi @ccMSC I compiled and installed the latest 'sabre' branch but still have no working k70 :(

The output is:

iMac:~ INGLIS$ sudo /Applications/ckb.app/Contents/Resources/ckb-daemon
    ckb: Corsair RGB driver beta-v0.2.5+s02
[I] Root controller ready at /var/run/ckb0
[I] Connecting Corsair K70 RGB Gaming Keyboard  at /var/run/ckb1
[I] Adding ckb1.ifusb[2]
[I] Connecting Corsair K70 RGB Gaming Keyboard  at /var/run/ckb2
[I] Adding ckb2.ifhid[1]
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[I] Adding ckb2.ifhid[0]
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be
[E] iterate_devices_hid (usb_mac.c:731): Failed to create device plugin: e00002be

Interesting that it now tries 9 times to get it connected...

@Geoff160
Copy link

Works great on K70 RGB Fedora 24β. Thanks MSC!

@dreamcog
Copy link

dreamcog commented Jun 5, 2016

sorry. i use the app which the 4t0m1k post.

use K70 RGB in v2.04
Mac os 10.11.5

it doesn't work

➜ ~ sudo /Applications/ckb.app/Contents/Resources/ckb-daemon
ckb: Corsair RGB driver beta-v0.2.5
[I] Root controller ready at /var/run/ckb0
[W] iterate_devices_usb (usb_mac.c:626): Unable to seize USB handle, continuing anyway...
[I] Connecting Corsair K70 RGB Gaming Keyboard at /var/run/ckb1
[W] iterate_devices_hid (usb_mac.c:748): Failed to open device: e00002c5

@4t0m1k
Copy link

4t0m1k commented Jun 5, 2016

@dreamcog Did you try this one : https://dl.dropboxusercontent.com/u/16424004/ckb/ckb%20v0.2.5%2Bf05%2Blogging.pkg ? Last build from the project owner.

@dreamcog
Copy link

dreamcog commented Jun 6, 2016

@4t0m1k thanks. I just install the pkg which your last message said.
it still a problem right now.

  1. The light works very prefect. It's wonderful.
  2. I can not modify some different keys for mac os. I use Karabiner for modify keys for mac os. Like. Windows Key => Command Key, Alt => Options. When I use the ckb it didn't work (Karabiner didn't work). I try to use the system tools which belongs mac os for modify the keys. It didn't work also.

I cann't write the code , I just can write python or php . i don't know if someone could fix the bugs:)

thanks

@4t0m1k
Copy link

4t0m1k commented Jun 6, 2016

@dreamcog You don't need Karabiner for this purpose. You can do it directly in ckb :

capture d ecran 2016-06-06 a 09 20 52

If you have to modify others keys, you can go in the binding menu. Maybe Karabiner is not compatible with ckb, you may uninstall it for the ckb mapping to work (maybe).

@dreamcog
Copy link

dreamcog commented Jun 6, 2016

@4t0m1k
I found that ckb could modify the keys.but not works for my keyboard. I don't know why.
so @4t0m1k you are using the K65 RGB and mac os ? and use the firmware v2.04?
works prefect?

  1. Karabiner could modify F4 become the key can open the application menu. that can not works in ckb.
  2. Ckb can't modify the keys for my keyboard, I have try to reboot my mac and close the Karabiner. setting modify Windows Key to Command. but not works in firmware v2.04. I use it before I update the firmware, it works ok in V1.36 (maybe this version)

thanks a lot. could you use it for your keyboard? with firmware 2.04?

@mhennessie
Copy link

@dreamcog

I am using a K65 RGB with fw 2.0.4 and the fw2kb build of CKB without any issues. My Windows key is rebound to the Alt/Option key and the Alt key is the Command key.

@4t0m1k
Copy link

4t0m1k commented Jun 7, 2016

@dreamcog I confirm that the fw2kb build works perfectly with the K65 RGB on 2.04 firmware. I think you might open a new thread for your problem : "K70 RGB / fw 2.04 / binding doesn't work". Tell that you are using ckb beta-0.2.5-f05 build from ccMSC (project owner).

EDIT : Have you tried to completely remove Karabiner as this may be a compatibility issue with ckb? I think that Karabiner use a kext driver. You have to check that this kext is not running (kextstat | grep Karabiner (not sure)) and reboot.

You can use the command kextstat | grep -v com.apple in order to see the non-apple kext running on your mac.

@dreamcog
Copy link

dreamcog commented Jun 7, 2016

@mhennessie and @4t0m1k thanks for your help。
that is ok with my keyboard. When I uninstall the karabiner with uninstallpkg. and make sure that is not show in kextstat . and reboot my mac. it works. my keyboard could work very well.

this is only one problem that could I have the hot key like the mac keyboard?
means . F1,F2 could adjust the light , F4 could go to the application window. and so on...

thanks :) 👍

@dreamcog
Copy link

dreamcog commented Jun 7, 2016

I can modify the windows and the alt key became option and command. But seems it can not make the F1 ~ F12 became the mac hot keys

@mhennessie
Copy link

@dreamcog I am able to rebind all of my F keys as normal. Since you cannot do macros with CKB yet you might need to change the keys in System Preferences - Keyboard - Shortcuts. For example Mission Control is defaulted to Control+Arrow-Up but you can change it to F3 like it is on a Mac aluminum keyboard. To use F1 & F2 as monitor brightness controls you will need some third party software if using with a hackintosh.

@dreamcog
Copy link

dreamcog commented Jun 8, 2016

@mhennessie I use a logitech Mouse , and can set hot keys instead of Mac's Hot key, so I can easily go back to desktop or open Application Menu :)
It works very well now~~~
👍 👍 👍

@cszelesbbs
Copy link

I've just purchased the k70 rgb lux and verified that the corsair provided software works in windows. That being said, I've installed the latest version of your software and it does not seem to recognize my keyboard. the app does not even have the model tab listed. I am not sure what the next steps are as I am new to mac OSX. Ive attempted removing the app then reinstalling then rebooting a few times with no success. Ideas? Thanks in advance.

@JamieBradders
Copy link

I am currently experiencing a similar issue with Corsair K40 on MacOS Sierra. I've not looked into this too much but I came across the app via a YouTube video before buying the keyboard, looks awesome and thank you for releasing so that users could use the keyboard on Mac. I am getting a similar issue to @cszelesbbs in that the app is not recognising the device as being connected. Currently using version 0.26. Any suggestions would be awesome, thanks :)

@mhennessie
Copy link

@jbwebesign the K40 was never a supported device.

@cszelesbbs
Copy link

I have not been able to get the update to work yet either

Sent from Apple iPhone

On Oct 15, 2016, at 11:34 AM, mhennessie notifications@github.com wrote:

@jbwebesign the K40 was never a supported device.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@JamieBradders
Copy link

@mhennessie cheers for the update - I ended up taking it back because I figured this might have been the case. Thanks again.

akatrevorjay pushed a commit to akatrevorjay/ckb that referenced this issue Oct 6, 2017
… temporary stack.

DPIs other than Sniper and Custom must now be set using their table index. This interface, where setting the DPI directly is not available, should be more consistent with the actual use, and allows for a simpler implementation.

Most importantly the index is no longer inferred based on the provided DPI. See ccMSC#298.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests