diff options
Diffstat (limited to 'packages/sys-apps/razercfg/files')
| -rw-r--r-- | packages/sys-apps/razercfg/files/razercfg-0.17-freq.patch | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/sys-apps/razercfg/files/razercfg-0.17-freq.patch b/packages/sys-apps/razercfg/files/razercfg-0.17-freq.patch new file mode 100644 index 0000000..c6a2da4 --- /dev/null +++ b/packages/sys-apps/razercfg/files/razercfg-0.17-freq.patch @@ -0,0 +1,40 @@ +diff --git a/librazer/librazer.c b/librazer/librazer.c +index 766972d..ed74dcd 100644 +--- a/librazer/librazer.c ++++ b/librazer/librazer.c +@@ -425,7 +425,34 @@ static bool mouse_apply_one_config(struct config_file *f, + 		} + 		goto error; + 	} else if (strcasecmp(item, "freq") == 0) { +-		//TODO ++		int profile, freq, i; ++		enum razer_mouse_freq *freqs; ++ ++		err = parse_int_int_pair(value, &profile, &freq); ++		if (err == 1) { ++			prof = m->get_active_profile(m); ++			profile = prof->nr + 1; ++		} else if (err) ++			goto error; ++		if (profile < 1 || freq < 1) ++			goto error; ++		prof = find_prof(m, profile - 1); ++		if (!prof) ++			goto error; ++		nr = m->supported_freqs(m, &freqs); ++		if (nr <= 0) ++			goto error; ++		for (i = 0; i < nr; i++) { ++			if (freqs[i] != freq) ++				continue; ++			err = prof->set_freq(prof, freqs[i]); ++			razer_free_freq_list(freqs, nr); ++			if (err) ++				goto error; ++			goto ok; ++		} ++		razer_free_freq_list(freqs, nr); ++		goto error; + 	} else if (strcasecmp(item, "led") == 0) { + 		bool on; + 		struct razer_led *leds, *led;  | 
