[DIY] Teclados mecanicos. El taller de MV.

AcidNos

#300 Si, por lo que he estado viendo, el mismo 2.0++ se puede programar por TKM. Al parecer se puede elegir el tipo de chip que lleva el Teensy sin problema. Lo que tengo que mirar es a ver si con el Teensy se puede especificar el voltaje de salida en los pines como con Arduino, para evitarme el poner una resistencia o varias. O eso o ir colocando los leds en serie de 2.

Yo tampoco me he podido resistir a colocar alguna que otra tecla para probar el tacto y, para no tener PCB, suena muy fino con los Gateron. Se nota solido y robusto (los switchs encajan a la perfeccion en el plate del Ducky) y el tacto me gusta incluso mas que con los red de Cherry.

2 respuestas
cortes

#301 Por cierto, si tu teclado es ISO_ES, usa la matriz de caracteres del phantom (si tu teclado no es TKL, le rellenas las teclas restantes xD), que es ISO con la tecla <>, y al conectarlo a windows se pone todo en español y bien.

EDIT: no se cuantas veces he mirado y remirado la matriz, y cuantos cambios he probado en el codigo, no consigo arreglar el fallo.
He abierto un hilo en deskthority a ver si ahi me puede ayudar alguien, esperemos que no sea un impedimento el haber usado el traductor de google xD

Crack05

En cuanto puedo vender este model m con su cable al que le faltan 2 teclas?

1 respuesta
cortes

#303 http://www.mediavida.com/foro/hard-soft/teclados-comprovendocambio-470874/35

#301 Tu que te vas a poner con leds, sabes si con el teensy se puede ajustar el brillo de los leds? Hablo una vez funcionando el teclado, no mediante resistencias para que este a un brillo fijo xD

2 respuestas
Crack05

#304 Eso es un hilo de compra-venta. El precio y el valor se preguntan en el hilo de teclados mecánicos, que es donde saben de teclados mecánicos.

1 respuesta
cortes

#305 Entonces ves aqui: http://www.mediavida.com/foro/hard-soft/hilo-guia-galeria-teclados-beta-433804/808

Este es el hilo del taller, para los manitas que los destripamos xD

1 respuesta
AcidNos

#304 pues tengo la esperanza de que si. En arduino al menos se puede. Seguramente en el código del gh60 se pueda mirar, pero tengo que echarle un ojo aún. La idea es mandar el positivo de los leds a un pin del teensy y controlarlos todos desde el teensy, pero hasta que no me llegue no podré hacer pruebas.

EDIT: por cierto #306, si vas poner LEDs, ten en cuenta las teclas como Bloq Num y Caps. Los leds de esas teclas hay que pincharlo individualmente en el Teensy para poder controlar el encendido y apagado con el on/off de cada uno. Tambien el del ScrLk se deberia de tratar igual, pero como es una opcion que no uso, seguramente lo deje fijo.

1 respuesta
cortes

#307 De momento solo quiero arreglar el bug que tengo xD
A ver si me consigue ayudar matt3o, que se a pasado por mi thread en deskthority.

Acid, agüita con los firms estos xD
mi problema no es un error de codigo ni de cableado, si no que en el lenguaje de programacion ese no se pueden meter mas de 16 columnas, y hay que usar otro firmware, pasate por mi thread que lo he escrito:

https://deskthority.net/workshop-f7/problem-with-my-custom-keyboard-with-teensy-t13774.html#p308144

2 respuestas
viejuno

#308 Telita con el fallo. Pues menos mal que te has dado cuenta, porque es el típico que podrías darle vueltas hasta desesperarte sin dar con la tontería. Ya nos dices como lo solucionas definitivamente y que firmware usas.

AcidNos

#308 Yo estuve investigando ayer un poco despues de postear y vi lo siguiente:

Aqui te pone cuales son las acciones para el Backlite:

https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md

Por otro lado lei del mismo Hasu, que hay un pin reservado para las funciones de iluminacion en el Teensy, que es el PD6. Esta justo antes de unas fotos custom que se ven en la misma pagina del link (al no tener numeros es la mejor referencia que te puedo dar):

https://geekhack.org/index.php?topic=41989.0

Por ultimo, al parecer y segun he estado leyendo, el Teensy 2.0, solo tiene 512bytes frente a los 2k del 2.0++ o los 4 de un Atmel (no recuerdo cual exactamente). Por lo que pueden venir por ahi los tiros. Si no van por ahi los tiros, es muy probable que se puedan programar mas columnas y mas filas, ya que eso es codigo basicamente. Solo habria que encontrar esa parte del codigo y programarlo para tal fin.

1 respuesta
cortes

#310 Nah, ya esta resuelto con un trozo de codigo de un user llamado mtl:

static matrix_row_t read_cols(void)
{
    return (PIND&(1<<7) ? 0 : ((matrix_row_t) 1<<0)) |
           (PINB&(1<<4) ? 0 : ((matrix_row_t) 1<<1)) |
           (PINB&(1<<5) ? 0 : ((matrix_row_t) 1<<2)) |
           (PINB&(1<<6) ? 0 : ((matrix_row_t) 1<<3)) |
           (PINF&(1<<7) ? 0 : ((matrix_row_t) 1<<4)) |
           (PINF&(1<<6) ? 0 : ((matrix_row_t) 1<<5)) |
           (PINF&(1<<5) ? 0 : ((matrix_row_t) 1<<6)) |
           (PINF&(1<<4) ? 0 : ((matrix_row_t) 1<<7)) |
           (PINF&(1<<1) ? 0 : ((matrix_row_t) 1<<8)) |
         (PINF&(1<<0) ? 0 : ((matrix_row_t) 1<<9)) |
           (PIND&(1<<4) ? 0 : ((matrix_row_t) 1<<10)) |
           (PIND&(1<<5) ? 0 : ((matrix_row_t) 1<<11)) |
           (PINC&(1<<7) ? 0 : ((matrix_row_t) 1<<12)) |
           (PINC&(1<<6) ? 0 : ((matrix_row_t) 1<<13)) |
         (PIND&(1<<3) ? 0 : ((matrix_row_t) 1<<14))|
         (PIND&(1<<1) ? 0 : ((matrix_row_t) 1<<15))|
         (PIND&(1<<0) ? 0 : ((matrix_row_t) 1<<16))|
         (PINB&(1<<7) ? 0 : ((matrix_row_t) 1<<17))
         ;
}

Con esto he logrado poner en funcionamiento las 17 columnas sin problema!!!!
Ya soy feliz xD
Ahora tocara crearme los layout fn :)

1 1 respuesta
AcidNos

#311 Si, estaba revisando el codigo que me pasaste en el link. He visto que en el keymap_common.h has usado la letra G para continuar numerando. Te iba a decir que lo cambiases por otro numero, ya que en ese tipo de numeracion, de la F pasa al siguiente numero, es decir:

09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11...

Por otro lado te iba a comentar lo que ya has encontrado. Que tienes que definir las columnas y filas en el matrix.c por lo que habia leido en este link de mano de matt3o:

https://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html

1 respuesta
cortes

#312 Lo de los numeros, creo que da igual como los llames, al final los he llamado desde la A a la Q y funciona bien xD

Sobre definir las columnas, estaban definidas, pero con otra sintaxis, pero bueno, ahora con esto ya no tengo que complicarme la vida, ya que lo entiendo mas o menos para crear layouts fn y si quiero poner leds, se puede facil.

1 respuesta
AcidNos

#313 Vale, no me habia fijado en el cambio. Pues me lo guardo para cuando monte el mio. Como tienes pensado hacer lo de los leds?? Matriz o simplemente meterlos todos a un pin y controlarlos desde alli??

Yo lo que he pensado es meter el positivo a un pin para controlar la intensidad de los mismos desde ese pin. En el caso del Bloq Num y Caps lock, controlarlos por negativo. Aun asi me tengo que estrujar el cerebron un poco para hacerlo bien. Tengo que ojearme el codigo del GH60 para ver si encuentro como lo han programado y usar parte del codigo.

1 respuesta
cortes

#314 Si lo hago, seria todos juntos, sin numlock, caps ni nada, eso si, con posibilidad de controlar intensidad, que en mi G710+ lo tengo con intensidad al minimo.

1 respuesta
AcidNos

#315 serian dos pines exclusivos para numlock y keycaps, la intensidad la controlas por positivo y keycaps y numlock controlas encendido o apagado. En si es sencillo. En cuanto le eche un ojo a todo este tema y haga pruebas, comento por aqui.

De momento sigo con los leds, que como estoy usando un cable de bobinado (con barniz) y lo voy haciendo a ratos, me esta llevando mas tiempo de lo normal. Aun asi, ya tengo una fila terminada.




1 respuesta
cortes

#316 Cuidadito con cable desnudo, por que vas a tener mucho cable por ahi, y segun poco pongas los diodos, tambien estaran al desnudo su cable.

Cuando tengas que comprobar las teclas, te recomiendo este tester:

https://elitekeyboards.com/switchhitter.php

1 respuesta
AcidNos

#317 Tranquilo, que no es cable desnudo ;). Es el que se usa en bobinados. El barniz que tiene no es conductor. De hecho para poder soldarlo tienes que raspar el barniz y sol otiene raspada la zona de la soldadura. Tengo el cableado mas o menos pensado y por eso elegi este cable :P

En la foto se aprecia el raspado del cable para poder soldarlo a los pines. Hay que ir raspando y eliminando el barniz con un cutter o algo similar para poder soldar en el y el barniz es mas duro de lo que parece. Si quieres te paso foto tambien con las puntas del polimetro para que veas que no hay conductividad :D

2 respuestas
cortes

#318 Anda que chulo, no sabia que habia cables asi, solo he visto en mi vida el tipico con recubrimiento de pvc o similar.

1 respuesta
AcidNos

#319 Si, ya te digo que la funcion principal son los bobinados de transformadores y asi para electronica. Los hay de grosores diferentes y el inconveniente que tienen para estas cosas es la que ya he comentado. Hay que raspar el cable con un cutter o similar para poder soldar. Bueno eso y que es un poco carillo:

http://www.ebay.es/itm/HILO-DE-COBRE-ESMALTADO-DE-0-4MM-CARRETE-BOBINADO-ROLLO-ALAMBRE-67M-75GRS-BD2678-/361447594052?hash=item5427f49844:m:mEncRo0lWBY3p7EFESh768w

En este caso merece la pena usarlo por practicidad y por sitio. Para el cableado del teensy y de la matriz he comprado cinta de cable multicolor que aun me tiene que llegar. A ver si consigo algo realmente ordenado.

cortes

Bueno, pues yo acabo de terminar el layout FN, y las macros que queria crear para hacer lineas de texto lo mirare mas adelante, que ademas es un toston xD

spoiler

Parte del codigo creo que va orientado a mac, pero no estoy seguro.

EDIT: creo que es lo mas resumido que he encontrado:

/*
 * Macro definition
 */
enum macro_id {
    CEDILLA,
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    keyevent_t event = record->event;
    //uint8_t tap_count = record->tap_count;

switch (id) {
    case CEDILLA:
        return (event.pressed ?
                MACRO(  T(QUOT), W(100), T(C), END ) :
                MACRO( END ) );
}
return MACRO_NONE;
}


const uint16_t PROGMEM fn_actions[] = {
    [0] = ACTION_MACRO(CEDILLA),
};
2 respuestas
AcidNos

#321 Igual te sale mejor crear otro layout en vez de una macro xDD

1 respuesta
cortes

#322 La cosa es que creo que hay que crear una macro si o si para que una tecla cree una linea de texto seguida.

1 respuesta
AcidNos

#323 Y para que quieres una linea de texto seguida??? Vagoneti xD :P

1 respuesta
cortes

#324 Exacto xD

En mi teclado actual tengo lineas para email, nombre, calculadora, un par de comandos para el ark, muteo para el ts de auris y micro... xD

viejuno

#321 ¡Qué curioso! No sabía que las macros podían programarse en Ruby. A ver si me pongo de una vez, que cada vez que entro aquí salgo con los dientes largos.

1 respuesta
cortes

#326 Con lo facil que seria que hubiese un comando estilo print="hello world" y que escribiese eso de golpe, sin tener que ir letra a letra o movidas raras que he ido viendo...xD

#318 por cierto, tal como lo estas haciendo lo de los leds, los de las letras van a ir con una sola resistencia?

1 respuesta
AcidNos

#327 la idea es colocar un regulador de 5 a 3,3V que supuestamente viene con el Teensy que compre. Igual al final tengo que hacer una modificacion de alguna forma, pero espero poder controlar la tension de salida con el Teensy.

http://www.ebay.es/itm/182105361413?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

El regulador creo que es para montarlo en el Teensy, pero no estoy seguro. De todas formas antes de montarlo en el teclado quiero probar un par de cosas para trastearlo.

AcidNos

Bueno, aunque siento el doblepost. lo dejo asi para separar una cosa de otra.

Cableado de Leds terminado y probado. Al final he decidido mantener todos los leds encendidos, incluido caps y bloqueo numerico. Se acerca una temporada de poco tiempo para invertir en estas cosas y quiero terminarlo lo mas rapido posible.

El cable, una cinta de 24 cables, ya me ha llegado tambien. Es este en cuestion:

Solo falta porque lleguen los diodos y el propio Teensy, que calculo llegaran la semana que viene.

Os dejo unas fotitos:


Tampoco me he podido resistir a la tentacion y he montado las keycaps para probar el tacto y el sonido de los switchs y de las teclas sobre la carcasa. Ya empieza a parecer de nuevo lo que era :P :

El tacto me ha parecido impresionante. Pese a ser algo mas blandos que los red, lo agradezco mucho mas y la sensacion se me hace mas agradable. El sonido del rebote de las teclas ha disminuido algo, cosa de agradecer. En general me encanta el tacto de estos switch mas que el de los red.

1 1 respuesta
cortes

#329 Muy limpio te a quedado el cableado de los leds, aunque de momento es solo el de los leds xD

Sobre el doblepost...yo en hilos asi no le hago mucho caso, si tengo que hacer doblepost para avisar a la peña de que he hecho algo nuevo, lo hago y ya xD.

1 respuesta