Ich möchte die LED-Beleuchtung von ErgoDox EZ zum Leuchten bringen, aber sagen Sie mir, was die LED überhaupt ist

Hündinnen (überspringen)

Meine persönliche Erwartung war, dass ich die Farbe der vorderen Dreipunkt-LED durch Ändern der Einstellungen ändern könnte. Aber anscheinend ist es anders.

Ich dachte, es wäre klar, wenn ich C-Sprache lese, aber ich benutze C-Sprache seit mehr als 10 Jahren für meine Arbeit, aber ich gab auf, weil ich nicht in der Lage war, C-Sprache zu lesen. Es gibt nichts Dummes zu erleben. Sie können sehen, wie wichtig Wissen ist. Was waren die letzten 10 Jahre ... Kein Genie wird Wert darauf legen, Erfahrungen zu sammeln. Bonkura priorisiert jedoch unweigerlich die Erfahrung gegenüber dem Studium.

aus diesem Grund···.

Es gibt eine Prämisse, die ich beim Kauf der Tastatur nicht zum Leuchten bringen wollte ... Ich habe es jedoch mit LED-Beleuchtung bestellt, da es nicht möglich wäre, dieselbe Tastatur zusätzlich zu kaufen, wenn ich eine gekauft hätte. (Wo hast du über die Front-LED gesprochen)

Offizieller ErgoDoxEZ-Twitter-Account: @ErgoDoxEZ

Unten das Hauptthema ...

  1. [Front-LED wechseln](# Front-LED ändern)
  2. [LED auf der Rückseite ändern](# LED auf der Rückseite ändern)

Unten noch Vorspiel ...

So schalten Sie die LED-Beleuchtung in der GUI ein

Das Anzünden der LED ist ein persönliches Hobby

Zur Selbstzufriedenheit ist niemand anderes beteiligt und greift nicht ein. Daher kann der GUI-Betrieb nur einige Dinge tun, und einige Dinge können nicht einmal bis zu einem gewissen Grad ausgeführt werden. Ich bin zu diesem Schluss gekommen.

Daher wird möglicherweise nicht veröffentlicht, wie die LED-Beleuchtung geändert werden kann (ich weiß es einfach nicht). Aber leider bin ich verrückt und kann es nicht ändern, ohne jemandem zu sagen, wie es geht. "Sag mir Kure Kure"

LED-Wechsel an der Vorderseite

Fügen Sie es schließlich in das Hauptthema ein. Die LED [Rot Grün Blau] leuchtet auf. 強い光.jpg

Zunächst möchte ich starkes Licht unterdrücken.

So ändern Sie die LED-Helligkeit von ErgoDox EZ

Die hier vorgestellte Methode besteht lediglich darin, die Lichtintensität zu ändern. Klone Git-Verzeichnis \ github_repository20180604 \ qmk_firmware \ keyboards \ ergodox_ez ergodox_ez.c

Es gibt eine Funktion namens "ergodox_blink_all_leds". Es gibt einen Funktionsaufruf namens "ergodox_led_all_set", der die Lichtintensität der drei vorderen LEDs steuert, und der Wert "LED_BRIGHTNESS_DEFAULT" wird dort als Argument übergeben. Dies zeigt an, dass es mit starkem Licht aufleuchtet (möglicherweise nicht stark, da es sich um eine Standardintensität handelt). Wenn Sie es daher als "LED_BRIGHTNESS_LO" als schwaches Licht umschreiben, kann das Licht unterdrückt werden. Geben Sie für starkes Licht "LED_BRIGHTNESS_HI" an.

LEDの強い光.jpg

弱い光.jpg

Festigkeitsvergleich

Die Oberseite ist starkes Licht und die Unterseite ist schwach, aber es ist unwahrscheinlich, dass es vergleichbar ist, da es keine Aufnahmetechnologie gibt.

強弱.jpg

Die folgende Funktion wird verwendet, um die Lichtintensität zu bestimmen.

ergodox_ez.h


inline void ergodox_right_led_1_set(uint8_t n)    { OCR1A = n; }
inline void ergodox_right_led_2_set(uint8_t n)    { OCR1B = n; }
inline void ergodox_right_led_3_set(uint8_t n)    { OCR1C = n; }
inline void ergodox_right_led_set(uint8_t led, uint8_t n)  {
    (led == 1) ? (OCR1A = n) :
    (led == 2) ? (OCR1B = n) :
                 (OCR1C = n);
}

inline void ergodox_led_all_set(uint8_t n)
{
    ergodox_right_led_1_set(n);
    ergodox_right_led_2_set(n);
    ergodox_right_led_3_set(n);
}

Bisher habe ich "ergodox_led_all_set" verwendet, aber wenn Sie es einzeln zum Leuchten bringen möchten, können Sie "ergodox_right_led_ [1-3] _set" verwenden. Das folgende Bild ist das Ergebnis der Einstellung von LED1 (rot) auf 1 und der Übergabe von 0 an die LEDs2 und 3.

最弱.jpg

Grün (LED2) und Blau (LED3) haben Null überschritten, also dachte ich, sie wären nicht beleuchtet, aber sie leuchten. Es ist komisch. Kann mir bitte jemand sagen, warum es leuchtet? (Da es keine Aufnahmetechnologie gibt, scheint es stark zu leuchten, aber es ist ziemlich schwach)

Da die Stärke schwer zu verstehen ist, habe ich sie wie folgt geändert. (Der im Kommentar "← this" geschriebene Wert ist das Bild unten)

ergodox_ez.c


void ergodox_blink_all_leds(void)
{
    ergodox_led_all_off();
//    ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT);	//Original 20180828
//	ergodox_led_all_set(LED_BRIGHTNESS_LO);		//Unterdrücke das Licht.
	ergodox_right_led_1_set(1);	//Rot ← das.
	ergodox_right_led_2_set(0);	//Grün ← das.
	ergodox_right_led_3_set(LED_BRIGHTNESS_HI);	//Blau ← das.
    ergodox_right_led_1_on();
    _delay_ms(50);
    ergodox_right_led_2_on();
    _delay_ms(50);
    ergodox_right_led_3_on();
    _delay_ms(50);
#ifdef LEFT_LEDS
・
・
・
}

青光.jpg

Da Rot auf 1 gesetzt ist, ist es verständlich, dass es schwach leuchtet. Warum leuchtet Licht, wenn Grün auf 0 gesetzt ist? In beiden Fällen ist die blaue Farbe zu stark und schwer zu erkennen. Können Sie sehen, dass das Licht auch auf den Tastenkappen reflektiert wird, da Blau maximiert ist?

Lichteinstellung an erster Stelle

Um die vordere LED zum Leuchten zu bringen, stellte ich fest, dass sie aufgrund von "ergodox_right_led_1_on" oben leuchtete. Als ich den Inhalt überprüfte, stellte ich fest, dass er von den folgenden zwei Zeilen gesteuert wurde (ich habe gerade ohne Erlaubnis einen Zeilenumbruch gemacht, und es ist tatsächlich eine Zeile).

ergodox_ez.h


inline void ergodox_right_led_1_on(void)
{
		//rot
	DDRB |=  (1<<5);
	PORTB |=  (1<<5);
}

inline void ergodox_right_led_2_on(void)    { DDRB |=  (1<<6); PORTB |=  (1<<6); }	//Grün
inline void ergodox_right_led_3_on(void)    { DDRB |=  (1<<7); PORTB |=  (1<<7); }	//Blau

Sie können sehen, dass wir versuchen, die Bits zu steuern, indem wir die Zahl 1 um fünf nach links (1 << 5) verschieben. Der Punkt ist 0x20 (0b00100000), richtig?

Frage von hier

Wenn Sie von meiner Freundin Right Hand sprechen, die eine AV-Beilage hat, könnten Sie sich AVR eines Mikrocomputers vorstellen, aber einige Leute verstehen es möglicherweise nicht. Ich bin einer von denen. Es scheint einen Mikrocomputer namens PIC zu geben, aber ist es in Ordnung zu glauben, dass der ErgoDox EZ einen AVR-Mikrocomputer verwendet? Ich habe 0b00000001 eingestellt, ohne es zu wissen, aber es scheint überhaupt nicht.

ergodox_ez.h


inline void ergodox_right_led_1_on(void)
{
		//rot
	DDRB |=  (0b00000001);
	PORTB |=  (0b00000001);
}

Der Punkt ist, dass es nur drei LEDs gibt. Ist es also in Ordnung, sie in der Reihenfolge vom linken Bit zu verwenden? Sind die 5 Bits ganz rechts frei? In diesem Teil dachte ich, dass es eine Kombination ist, die Farben wie Gelb und Lila ändern kann, aber können Sie nicht so etwas Fortgeschrittenes tun? Ist die Farbe festgelegt?

Ist der folgende Aufwand nutzlos?

keymap.c


// Runs whenever there is a layer state change.
uint32_t layer_state_set_user(uint32_t state) {
・
・
・

  uint8_t layer = biton32(state);
  switch (layer) {
      case 0:
・
・
・

      case 1:
//        ergodox_right_led_1_on();
		DDRB |=  (1<<5);
		PORTB |=  (1<<5);
//		DDRB |=  (0b00100000);rot
//		PORTB |=  (0b00100000);rot
//		DDRB |=  (0b01000000);Grün
//		PORTB |=  (0b01000000);Grün
//		DDRB |=  (0b10000000);Blau
//		PORTB |=  (0b10000000);Blau

//		DDRB |=  (0b00110000);rot
//		PORTB |=  (0b00110000);rot
//		DDRB |=  (0b01010000);Kompilierungsfehler
//		PORTB |=  (0b01010000);Kompilierungsfehler
//		DDRB |=  (0b10010000);Blau
//		PORTB |=  (0b10010000);Blau
//		DDRB |=  (0b10100000);rot und Blau
//		PORTB |=  (0b10100000);rot und Blau
//		DDRB |=  (0b11000000);Grün blau
//		PORTB |=  (0b11000000);Grün blau
//		DDRB |=  (0b01100000);Rot grün
//		PORTB |=  (0b01100000);Rot grün
//		DDRB |=  (0b11100000);Rot grün blau
//		PORTB |=  (0b11100000);Rot grün blau

//		DDRB |=  (0b00000001);Die LED im Vordergrund wird nicht angezeigt.
//		PORTB |=  (0b00000001);Die LED im Vordergrund wird nicht angezeigt.
//		DDRB |=  (0b00000010);Die LED im Vordergrund wird nicht angezeigt.
//		PORTB |=  (0b00000010);Die LED im Vordergrund wird nicht angezeigt.
//		DDRB |=  (0b00000100);Die LED im Vordergrund wird nicht angezeigt.
//		PORTB |=  (0b00000100);Die LED im Vordergrund wird nicht angezeigt.
//		DDRB |=  (0b00001000);Die LED im Vordergrund wird nicht angezeigt.
//		PORTB |=  (0b00001000);Die LED im Vordergrund wird nicht angezeigt.

・
・
・

#ifdef RGBLIGHT_ENABLE
・
・
・

Port Register und [IO Port C Language Macro usw.](http: // startelc. com / AVR / Avr_100macroMemo.html "Starten der elektronischen Schaltung") Ich habe die Funktionen von "DDRB" und "PORTB" überprüft, konnte sie aber nicht verstehen. Je nach Art der LED kann sie einfarbig oder mehrfarbig sein. Ich frage mich, ob es nicht funktioniert, wenn für diese beiden Arten von Funktionen für die Lichtemission nicht der gleiche Wert eingestellt ist. Ich verstehe den fehlerhaften Teil immer noch nicht ...

Ich möchte nur eine Tastatur verwenden, verstehe aber nicht, warum dies so viel Zeit und Mühe kostet. Sie können sehen, wie gut die kommerziellen Produkte sind.

3 Arten von Front-LED behoben

Wenn die Farbe nicht geändert werden kann und fest ist, gibt es nicht 6 verschiedene Anzeigen. Unter der Annahme, dass Schicht 0 kein Licht emittiert, gibt es 7 Arten von Lichtemission von Schicht 1 zu Schicht 7? Ich wollte Kombinationen und Sequenzen an der Junior High School lernen, aber ich kann nicht von dem Gebrauch machen, was ich in der Schule gelernt habe ... Es ist schwer zu erkennen, wie verlassen Menschen lebten und ohne zu studieren lebten. ErgoDoxEZ hat eine Funktion, die Sie auf die Süße des Lebens aufmerksam macht ... Solange der vorhandene Quellcode 7 Typen hat, folgen wir ihm leider. Nach Schicht 8 gibt es kein Licht. Es ist eine Schande, aber wenn Sie möchten, dass es Licht aussendet, müssen Sie es selbst hinzufügen. Nach "Fall 7:" sollte es "Standard:" sein. Während dieser Zeit können Sie beliebig viele Nummern zuweisen, z. B. 8 und 9, und die drei LED-Typen können Licht aussenden, wie Sie möchten. Es scheint verwirrend zu sein, weil sich die Lichtemission mit anderen Schichten überlappt, aber vorerst denke ich, dass beurteilt werden kann, dass die Schicht nicht 0 ist.

LED-Wechsel auf der Rückseite

Ich verbringe viel Zeit und Mühe mit LED-Beleuchtung und kaufe teure Tastaturen ohne Einkommen für die Jobsuche. Ich war in Schwierigkeiten, weil der Pionier es nicht zum Leuchten gebracht hat, aber ich bin dankbar, dass es nur einen Freiwilligen gibt, der offengelegt hat, wie man es zum Leuchten bringt.

ErgoDox-Einführung Ändern Sie die Farbe der hinteren LED, wenn die Ebene gewechselt wird Basierend auf dem Quellcode möchte ich meine ErgoDox EZ auch hell leuchten lassen. Es war.

Zunächst wollte ich die Farbe der Front-LED ändern, da es für Schicht 1 unangenehm war, rot zu leuchten. Deshalb wollte ich sie wie eine Ampel in blau, gelb und rot ändern. Ich wollte Rot nicht als erstes verwenden, weil ich denke, dass es ein Gefahrensignal ist. Und ich wollte, dass die hintere LED Licht entsprechend der Farbe der vorderen LED emittiert. Es gibt kein Problem mit Abstoßung (?), Aber ich würde es gerne anpassen, wenn es möglich ist. Apropos, Rückseite? zurück? Ist es richtig?

Einfache Emission (gleichzeitige Emission derselben Farbe)

Nehmen wir an, Sie verstehen, dass Sie ein LED-Lichtemissionsprogramm der Schicht 1 in den obigen ["Fall 1:" in keymap.c] einbetten möchten (#Frage von hier).

keymap.c


      case 0:
・
・
・
#ifdef RGBLIGHT_ENABLE
		rgblight_disable();
#endif
        break;
      case 1:
・
・
・
#ifdef RGBLIGHT_ENABLE
		rgblight_enable();	//Wirksamkeit
		rgblight_setrgb(0xff,0x00,0x00);	//← Dies.
#endif
        break;

Wenn Sie dem Argument der Funktion "rgblight_setrgb" eine Farbeinstellung geben, ändert sich die hintere LED mit Sicherheit. Es gibt jedoch zwei Probleme.

  1. Die Farbe füllt alle 30 LEDs.
  2. Ein Kissen zusätzliches Licht wird zu dem von Schicht 0 emittierten Licht hinzugefügt.

Diese beiden Typen sind unterschiedlich, daher werde ich versuchen, den zweiten zuerst zu lösen.

Schicht 0: kein Licht

Bei der Rückkehr von der emittierenden Schicht x zur 0-Schicht wollte ich 0 ausschalten. Ich denke nicht, dass es möglich ist, die Lichtemission mit farblos (nicht weiß) zu unterdrücken (weil ich denke, dass es erregt ist). Daher habe ich es deaktiviert ("deaktivieren"), aber als es aktiviert wurde ("aktivieren"), gab es zum Zeitpunkt des Umschaltens eine Lichtemission und alle Farben (Standardfarbe?) Leuchten für einen Moment auf. Ich hatte keine andere Wahl, als es aktiviert zu halten (oder sofort Kompromisse einzugehen).

keymap.c


// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
		rgblight_enable();	//Gültig ← dies.
#ifdef RGBLIGHT_COLOR_LAYER_0
#endif
};

Der Aktivierungsprozess wurde zur vorhandenen Funktion hinzugefügt. Löschen Sie die bereits hinzugefügte Verarbeitung.

keymap.c


uint32_t layer_state_set_user(uint32_t state) {
・
・
・
//			rgblight_disable();
・
・
・
//        ergodox_right_led_1_on();← LED-Lichtemission auf der Vorderseite
・
・
・
//			rgblight_enable();
・
・
・

Ich bin mir nicht sicher, ob dies der richtige Weg ist. Bitte lassen Sie es mich wissen. Der Zweck ist nicht zu erregen, wenn es kein Licht aussendet. Vorerst habe ich die zusätzliche Lichtemission des einen Kissens unterdrückt.

Gleichzeitige Lichtemission

Bei Verwendung der Funktion rgblight_setrgb ändern alle LEDs ihre Farbe und geben ohne Fragen Licht ab. Wieder gibt es neue Probleme, aber es ist mir egal (blendend). Wenn Sie Licht einzeln emittieren möchten, können Sie es lösen, indem Sie eins nach dem anderen angeben, sodass kein großer Aufwand erforderlich ist.

Verwenden Sie einfach die Funktion rgblight_setrgb_at und geben Sie die obige Farbspezifikation sowie den Ort an, an dem Sie Licht emittieren möchten. Es ist zu beachten, dass die Sequenz ab dem 0. beginnt, da es sich um eine C-Sprache handelt. Wenn Sie ein Array mit dem Namen "tmp [5]" haben, geben Sie "tmp [0]" an, um den Wert am Anfang festzulegen. Das maximale 5. ist "tmp [4]".

Da diesmal 15 LEDs auf einer Seite vorhanden sind, ist bei einer Anordnung von "LED [15]" das Ende "LED [0]" und das gegenüberliegende Ende "LED [14]".

Vorerst wurde vermieden, dass alle 30 LEDs mit einem bestimmten Farbtyp gefüllt waren.

Einfarbige Emission (LED-Einzelemission)

Jedenfalls wollte ich das vorerst machen. Zuallererst aus dem Ergebnis ...

個別LED20180831.jpg

Die Vorderseite des Fotos ist der linke Teil und die Rückseite ist der rechte Teil. Auf der linken Seite ist das rechte Ende im invertierten Zustand "LED [0]". Auf der rechten Seite ist das linke Ende im invertierten Zustand "LED [0]". Der Punkt ist, dass beide Seiten beim Platzieren zu "LED [0]" werden und der Wert steigt, wenn er hineingeht.

Linke Hand (LED [0] [1] [2] ~ [12] [13] [14]) Rechte Hand (LED [14] [13] [12] ~ [2] [1] [0])

Oben sage ich "vorerst", weil andere Probleme nicht gelöst wurden.

  1. Ich kann die Lichtmenge nicht reduzieren ⇒ [Gelöst durch Verwendung von HSV anstelle von RGB](https://qiita.com/chesscommands/items/5cbd92e61b96ffaa0991#%E5%85%89%E9%87%8F%E8%AA% BF% E6% 95% B4 "So stellen Sie die Helligkeit der LED-Beleuchtung von ErgoDox EZ ein") Bei der vorderen LED war die Lichtintensität wie zu Beginn geschwächt, aber ich weiß nicht, wie ich es auf der Rückseite machen soll.

  2. Links und rechts können nicht getrennt werden. Obwohl es sich um einen separaten linken und rechten Typ handelt, ist es nicht möglich, nur die rechte Seite oder nur die linke Seite zu beleuchten.

Ich bin mir sicher, dass es einen Weg gibt, dies zu tun, aber er wird nur gelöst, wenn Sie über schlechte Programmierkenntnisse verfügen und vorhandene Programme verfolgen können. Es gab keinen Kommentar im Internet. Ist es natürlich, das zu können?

Das Programm im obigen Bild ist unten platziert (hoffentlich hilfreich).

keymap.c


	case 1:
・
・
・
#ifdef RGBLIGHT_ENABLE
			rgblight_setrgb_red_at(0);
			rgblight_setrgb_at( 255, 0, 255,1);
			rgblight_sethsv_turquoise_at( 2 );
			rgblight_setrgb_at( 255, 255, 0, 3);
			rgblight_setrgb_at( 255, 0, 255, 4);
			rgblight_setrgb_at( 0, 255, 255,5);
			rgblight_setrgb_at( 255, 255, 255,6);
			rgblight_setrgb_at(0x00,0x00,0xff,7);
			rgblight_setrgb_at(0x00,0x00,0x00,8);
			rgblight_setrgb_at(0x00,0x0f,0x00,9);
			rgblight_setrgb_at(0x00,0x00,0x00,10);
			rgblight_setrgb_at(0x00,0x00,0x00,11);
			rgblight_setrgb_at(0x00,0x00,0x00,12);
			rgblight_setrgb_at(0x00,0x00,0x00,13);
			rgblight_setrgb_yellow_at(14);
#endif
・
・
・

Farbspezifikation

Der Aufwand an Farbspezifikationen, an den jeder denken wird. "0x00, 0x00, 0x00" Es ist also einfacher, einen Fehler zu machen, als die Farbe einzeln zu ändern. Daher erscheint es zweckmäßig, die vorbereiteten Farben zu verwenden. (Selbst wenn Sie eine empfindliche Farbe angeben, können Sie sie nicht mit bloßem Auge identifizieren ...) Klonverzeichnis \ github_repository20180604 \ qmk_firmware \ quantum

rgblight_list.h



/*                            SET RGB List                            */
#define rgblight_setrgb_white()       rgblight_setrgb (0xFF, 0xFF, 0xFF)
#define rgblight_setrgb_red()         rgblight_setrgb (0xFF, 0x00, 0x00)
#define rgblight_setrgb_coral()       rgblight_setrgb (0xFF, 0x7C, 0x4D)
#define rgblight_setrgb_orange()      rgblight_setrgb (0xFF, 0x80, 0x00)
#define rgblight_setrgb_goldenrod()   rgblight_setrgb (0xD9, 0xA5, 0x21)
#define rgblight_setrgb_gold()        rgblight_setrgb (0xFF, 0xD9, 0x00)
#define rgblight_setrgb_yellow()      rgblight_setrgb (0xFF, 0xFF, 0x00)
#define rgblight_setrgb_chartreuse()  rgblight_setrgb (0x80, 0xFF, 0x00)
#define rgblight_setrgb_green()       rgblight_setrgb (0x00, 0xFF, 0x00)
#define rgblight_setrgb_springgreen() rgblight_setrgb (0x00, 0xFF, 0x80)
#define rgblight_setrgb_turquoise()   rgblight_setrgb (0x47, 0x6E, 0x6A)
#define rgblight_setrgb_teal()        rgblight_setrgb (0x00, 0x80, 0x80)
#define rgblight_setrgb_cyan()        rgblight_setrgb (0x00, 0xFF, 0xFF)
#define rgblight_setrgb_azure()       rgblight_setrgb (0x99, 0xf5, 0xFF)
#define rgblight_setrgb_blue()        rgblight_setrgb (0x00, 0x00, 0xFF)
#define rgblight_setrgb_purple()      rgblight_setrgb (0x7A, 0x00, 0xFF)
#define rgblight_setrgb_magenta()     rgblight_setrgb (0xFF, 0x00, 0xFF)
#define rgblight_setrgb_pink()        rgblight_setrgb (0xFF, 0x80, 0xBF)

/*                            SET RGB List                            */
#define rgblight_setrgb_white_at(at)       rgblight_setrgb_at (0xFF, 0xFF, 0xFF, at)
#define rgblight_setrgb_red_at(at)         rgblight_setrgb_at (0xFF, 0x00, 0x00, at)
#define rgblight_setrgb_coral_at(at)       rgblight_setrgb_at (0xFF, 0x7C, 0x4D, at)
#define rgblight_setrgb_orange_at(at)      rgblight_setrgb_at (0xFF, 0x80, 0x00, at)
#define rgblight_setrgb_goldenrod_at(at)   rgblight_setrgb_at (0xD9, 0xA5, 0x21, at)
#define rgblight_setrgb_gold_at(at)        rgblight_setrgb_at (0xFF, 0xD9, 0x00, at)
#define rgblight_setrgb_yellow_at(at)      rgblight_setrgb_at (0xFF, 0xFF, 0x00, at)
#define rgblight_setrgb_chartreuse_at(at)  rgblight_setrgb_at (0x80, 0xFF, 0x00, at)
#define rgblight_setrgb_green_at(at)       rgblight_setrgb_at (0x00, 0xFF, 0x00, at)
#define rgblight_setrgb_springgreen_at(at) rgblight_setrgb_at (0x00, 0xFF, 0x80, at)
#define rgblight_setrgb_turquoise_at(at)   rgblight_setrgb_at (0x47, 0x6E, 0x6A, at)
#define rgblight_setrgb_teal_at(at)        rgblight_setrgb_at (0x00, 0x80, 0x80, at)
#define rgblight_setrgb_cyan_at(at)        rgblight_setrgb_at (0x00, 0xFF, 0xFF, at)
#define rgblight_setrgb_azure_at(at)       rgblight_setrgb_at (0x99, 0xf5, 0xFF, at)
#define rgblight_setrgb_blue_at(at)        rgblight_setrgb_at (0x00, 0x00, 0xFF, at)
#define rgblight_setrgb_purple_at(at)      rgblight_setrgb_at (0x7A, 0x00, 0xFF, at)
#define rgblight_setrgb_magenta_at(at)     rgblight_setrgb_at (0xFF, 0x00, 0xFF, at)
#define rgblight_setrgb_pink_at(at)        rgblight_setrgb_at (0xFF, 0x80, 0xBF, at)

Im Fall von rgblight_setrgb_ ~ ~ ~ entspricht dies der Verwendung von [Verwenden Sie die obige Funktion "rgblight_setrgb"](# Einfache Lichtemission, gleichfarbige gleichzeitige Lichtemission). Ersetzen Sie rgblight_setrgb (0xff, 0x00, 0x00); durch rgblight_setrgb_red ();.

Im Fall von "rgblight_setrgb_ ~ ~ ~ _at" ist es dasselbe wie bei Verwendung der obigen Funktion "Verwenden Sie die obige Funktion" rgblight_setrgb_at "](#monochromatische Emission führte zu einer individuellen Emission). Ersetzen Sie rgblight_setrgb_at (255, 255, 0, 3); durch rgblight_setrgb_yellow_at (3);.

(Ich glaube, die Begriffe sind nicht einheitlich ...)

Bonus (Lichtemissionsmuster)

Es gibt eine rgblight_mode -Funktion und es gibt verschiedene Muster wie Lichtemission nur für Beleuchtung und Lichtemission mit Dynamik. Es scheint, dass es bis zu 36 Typen gibt, aber leider konnte ErgoDoxEZ nur 7 bis 8 Typen bestätigen. Ich weiß es nicht, weil ich es nicht im Detail untersucht habe, aber nach dem 9. schien es nur das vorbereitete Licht zu emittieren.

Das Lichtemissionsmuster befindet sich in der folgenden Datei. Klonverzeichnis \ github_repository20180604 \ qmk_firmware \ quantum

rgblight.c


void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
・
・
・
  if (rgblight_config.mode == 1) {
    #ifdef RGBLIGHT_ANIMATIONS
      rgblight_timer_disable();
    #endif
  } else if ((rgblight_config.mode >= 2 && rgblight_config.mode <= 24) ||
	     rgblight_config.mode == 35 || rgblight_config.mode == 36) {
    // MODE 2-5, breathing
    // MODE 6-8, rainbow mood
    // MODE 9-14, rainbow swirl
    // MODE 15-20, snake
    // MODE 21-23, knight
    // MODE 24, xmas
    // MODE 35  RGB test
    // MODE 36, alterating
・
・
・
}

Betrachtet man dies, so scheint es "Atmung" und "Regenbogenstimmung" zu geben. Es scheint ein vorbereitetes Programm für ErgoDoxEZ zu geben, aber ich konnte es nicht wiederfinden.

Die Verwendung ist die gleiche, aber ...

keymap.c


	case 1:
・
・
・
#ifdef RGBLIGHT_ENABLE
			rgblight_setrgb_red_at(0);
			rgblight_mode(2);	//← Dies.
#endif
・
・
・
	case 2:
・
・
・
#ifdef RGBLIGHT_ENABLE
			rgblight_setrgb_yellow_at(0);
			rgblight_mode(5);	//← Dies.
#endif
・
・
・
	case 3:

Persönliche Animationserstellung

Questions about RGB Matrix and creating my own animations. Es scheint, dass Sie rgb_matrix_user.inc in das aktuelle Verzeichnis einfügen und die Header-Datei einschließen müssen. Ich weiß nicht, wovon Sie sprechen, aber es sind wahrscheinlich nützliche Informationen für diejenigen, die sich besonders dafür interessieren.

Weites Ziel

Die Lichtmenge an der vorderen LED kann eingestellt werden. Daher möchte ich in Zukunft den Mechanismus herausfinden, der die Lichtmenge von der LED auf der Rückseite ändert. Sie können die Farbe ändern, aber Sie können die Intensität des Lichts nicht ändern.

Und ich möchte die Farbe bei Schlange oder Weihnachten verschieben und gleichzeitig die Lichtintensität mit nur einer Hand schrittweise von "LED [0]" auf "LED [14]" ändern. Obwohl die Priorität niedrig ist.

Weitere Ziele

Dieses Mal emittierte es nur beim Schichtwechsel Licht. Ich möchte es zum Leuchten bringen, wenn die CapsLock-Taste gedrückt wird.

Vorhandenen Quellcode verfolgen

Was sind die folgenden drei Typen !?

Was ist "EEPROM"?

Zusammenfassung

Ich habe versucht, die LED durch Tappen anzuzünden, ohne es gut zu wissen. Ich verstehe das Prinzip des Glänzens nicht, aber es kann davon ausgegangen werden, dass der Zweck erreicht wurde, weil er glänzte. Deshalb habe ich diesmal gewonnen ぉ ぉ ぉ ぉ ぉ ぉ. Ich werde weiterhin die Erfahrung vor dem Studium priorisieren. Solange ich ein Mensch bin, ist es unmöglich, Erfahrungen zu sammeln, aber ich hasse es zu lernen, also werde ich ein Hund und versuche mein Bestes zu geben wie ein Hund oder eine Kuh.

MechanicalKeyboards Ich kaufte ErgoDox EZ als Verbindung, bis HHKB den links und rechts getrennten Typ veröffentlichte, aber ich begann zu denken, dass ich anfangen könnte, meinen eigenen zu machen ... The ‘Not So MiniDox’ Handwire : MechanicalKeyboards Herausforderung zum Erstellen einer selbst erstellten Open Source-Tastatur "Iris" Aufzeichnung der Montage des links und rechts getrennten Typs "Orthodox" durch eine unerfahrene Person mit einer selbst erstellten Tastatur Speichern Sie Keebio Inlandstastatur? Helix Keyboard Kit

Sie verkaufen es überall. ErgoDox EZ | Geteilte Ergo-Designtastatur "ErgoDox Easy"

das ist alles.

Recommended Posts

Ich möchte die LED-Beleuchtung von ErgoDox EZ zum Leuchten bringen, aber sagen Sie mir, was die LED überhaupt ist
Ich möchte den Wörterbuchtyp in der Liste eindeutig machen
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Belüftung ist wichtig. Was ich getan habe, um die CO2-Konzentration im Raum aufzuzeichnen
Ich möchte die zweite Zeile zum Spaltennamen in Pandas machen
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte die Ergebnisse von% time, %% time usw. in einem Objekt (Variable) speichern.
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte den Fortschritt in Python anzeigen!
Der erste Schritt für diejenigen, die Amateure der Statistik sind, aber Modelle für maschinelles Lernen in Python implementieren möchten
Der Hintergrund der Zeichen im Textbild ist überbelichtet, um das Lesen zu erleichtern.
Ich möchte mit dem Linux-Kernel beginnen. Wie ist die Listenkopfstruktur?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
[Erste Datenwissenschaft ⑥] Ich habe versucht, den Marktpreis von Restaurants in Tokio zu visualisieren
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte in der Django-Verschiebungstabelle scrollen, aber ...
Linux ist in erster Linie so etwas
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte R-Datensatz mit Python verwenden
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
[Für Anfänger] Ich möchte die Anzahl der Lernerfahrungen leicht verständlich erklären.
Ich möchte die Grafik in 3D sehen! Ich kann einen solchen Traum wahr werden lassen.
Ich war für die Pflege des Fabric-Skripts verantwortlich, weiß es aber nicht.> <Für diejenigen, die
[Python] Der Status jeder Präfektur des neuen Koronavirus wird nur als PDF veröffentlicht, aber ich habe versucht, ihn zu kratzen, ohne ihn herunterzuladen.
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die gültigen Zahlen im Numpy-Array ausrichten
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
[Twitter] Ich möchte die heruntergeladenen vergangenen Tweets (meines Kontos) in eine schöne CSV verwandeln
Bericht von der Website. Was ich für notwendig halte, um AI / IoT in der Fertigungsindustrie einzusetzen
Ein Kommentar, den ich auf Google+ gesehen habe, war: "Gibt es eine einfache Möglichkeit herauszufinden, welches Zahlenelement einer Liste in Python maximal / minimal ist?" Die erste Zeile, die ich mir ausgedacht habe, war der Code in der ersten Zeile, aber ist die zweite Zeile besser?