COMP2 to trigger One-Pulse mode on STM32L1
Looking at the timers' block diagram I couldn't find a direct method either, there are apparently no signals going from CH4 to the trigger unit.

If you'd like to avoid interrupts, and have a suitable free DMA channel, you can use that to start another timer. You can use TIM2_CH4 or TIM3_CH4 (I'm using TIM3 in the example), but there is no DMA channel for TIM4_CH4. You can stick to TIM4 or use any other timer as the target.


Set up TIM4 for One-pulse mode, but do not start it yet. Figure out what value would go into TIM4-&gt;CR1, and store it in a memory variable, e.g. volatile uint8_t tim4_cr1_start = TIM_CR1_OPM|TIM_CR1_CEN; for the simplest case.
Set up DMA1_Channel3, memory address is &amp;tim4_cr1_start from above, peripheral address is &amp;TIM4-&gt;CR1, transfer length is 1. Use 8-bit mode, enable circular mode.
Set TIM3_CH4 to input capture, select polarity etc in TIM3_CCER and TIM3_CCMR2.
Enable CC4DE, capture/compare 4 DMA request in TIM3-&gt;DIER.
Start TIM3.
Redirect COMP2 output to TIM3_CH4 (you could use TIM2_CH4' too, but there is no DMA channel forTIM4_CH4`).


Now, a comparator event would trigger a capture on TIM3_CH4, which would instruct DMA to write a suitable value to TIM4-&gt;CR1. As the DMA is set to circular mode, it would copy the same value to TIM4-&gt;CR1 on every subsequent capture event.